static byte [ ] ntlm2SessionResponse ( final byte [ ] ntlmHash , final byte [ ] challenge , final byte [ ] clientChallenge ) throws AuthenticationException { try { final MessageDigest md5 = getMD5 ( ) ; md5 . update ( challenge ) ; md5 . update ( clientChallenge ) ; final byte [ ] digest = md5 . digest ( ) ; final byte [ ] sessionHash = new byte [ 8 ] ; System . arraycopy ( digest , 0 , sessionHash , 0 , 8 ) ; return lmResponse ( ntlmHash , sessionHash ) ; } catch ( final Exception e ) { if ( e instanceof AuthenticationException ) { throw ( AuthenticationException ) e ; } throw new AuthenticationException ( e . getMessage ( ) , e ) ; } }
Calculates the NTLM2 Session Response for the given challenge using the specified password and client challenge .