public byte[] getUserSessionKey(byte[] challenge) {
        if (hashesExternal) return null;
        byte[] key = new byte[16];
        try {
            getUserSessionKey(challenge, key, 0); 
        } catch (Exception ex) {
            if( log.level > 0 )
                ex.printStackTrace( log );
        }
        return key; 
    }
public byte [ ] getUserSessionKey ( byte [ ] challenge ) { if ( hashesExternal ) return null ; byte [ ] key = new byte [ 16 ] ; try { getUserSessionKey ( challenge , key , 0 ) ; } catch ( Exception ex ) { if ( log . level > 0 ) ex . printStackTrace ( log ) ; } return key ; }
Returns the effective user session key.

@param challenge The server challenge.
@return A <code>byte[]</code> containing the effective user session key,
used in SMB MAC signing and NTLMSSP signing and sealing.