Package com.hierynomus.ntlm.functions
Class NtlmV2Functions
java.lang.Object
com.hierynomus.ntlm.functions.NtlmV2Functions
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncomputeResponse
(String username, String domain, char[] password, NtlmChallenge serverNtlmChallenge, long time, TargetInfo clientTargetInfo) [MS-NLMP].pdf 3.3.2 NTLM v2 authentication.byte[]
getLmV2Response
(byte[] responseKeyLM, byte[] serverChallenge, byte[] clientChallenge) [MS-NLMP].pdf 3.3.2 NTLM v2 authentication.byte[]
getNtV2Response
(byte[] responseKeyNT, byte[] serverChallenge, byte[] clientChallenge, long time, TargetInfo targetInfo) 3.3.2 NTLM v2 Authenticationbyte[]
getSessionBaseKey
(byte[] responseKeyNT, byte[] ntProofStr) [MS-NLMP].pdf 3.3.2 NTLM v2 authentication.byte[]
kxKey
(byte[] sessionBaseKey, byte[] lmResponse, byte[] serverChallenge) [MS-NLMP].pdf 3.4.5.1 KXKEY If NTLM v2 is used, KeyExchangeKey MUST be set to the given 128-bit SessionBaseKey value.byte[]
[MS-NLMP].pdf 3.3.2 NTLM v2 authentication (NTOWF v2).byte[]
[MS-NLMP].pdf 3.3.2 NTLM v2 authentication (NTOWF v2).(package private) byte[]
ntProofStr
(byte[] responseKeyNT, byte[] serverChallenge, byte[] temp) [MS-NLMP].pdf 3.3.2 NTLM v2 authentication (NTProofStr).(package private) byte[]
ntResponseTemp
(byte[] clientChallenge, long time, TargetInfo targetInfo) [MS-NLMP].pdf 2.2.2.7 NTLM v2: (temp)
-
Field Details
-
random
-
securityProvider
-
-
Constructor Details
-
NtlmV2Functions
-
-
Method Details
-
computeResponse
public ComputedNtlmV2Response computeResponse(String username, String domain, char[] password, NtlmChallenge serverNtlmChallenge, long time, TargetInfo clientTargetInfo) [MS-NLMP].pdf 3.3.2 NTLM v2 authentication.Define ComputeResponse(NegFlg, ResponseKeyNT, ResponseKeyLM, CHALLENGE_MESSAGE.ServerChallenge, ClientChallenge, Time, ServerName) As If (User is set to "" && Passwd is set to "") -- Special case for anonymous authentication Set NtChallengeResponseLen to 0 Set NtChallengeResponseMaxLen to 0 Set NtChallengeResponseBufferOffset to 0 Set LmChallengeResponse to Z(1) Else Set temp to ConcatenationOf(Responserversion, HiResponserversion, Z(6), Time, ClientChallenge, Z(4), ServerName, Z(4)) Set NTProofStr to HMAC_MD5(ResponseKeyNT, ConcatenationOf(CHALLENGE_MESSAGE.ServerChallenge,temp)) Set NtChallengeResponse to ConcatenationOf(NTProofStr, temp) Set LmChallengeResponse to ConcatenationOf(HMAC_MD5(ResponseKeyLM, ConcatenationOf(CHALLENGE_MESSAGE.ServerChallenge, ClientChallenge)), ClientChallenge ) EndIf Set SessionBaseKey to HMAC_MD5(ResponseKeyNT, NTProofStr) EndDefine
-
NTOWFv2
[MS-NLMP].pdf 3.3.2 NTLM v2 authentication (NTOWF v2).Define NTOWFv2(Passwd, User, UserDom) as HMAC_MD5( MD4(UNICODE(Passwd)), UNICODE(ConcatenationOf( Uppercase(User), UserDom ) ) ) EndDefine
-
LMOWFv2
[MS-NLMP].pdf 3.3.2 NTLM v2 authentication (NTOWF v2).Define LMOWFv2(Passwd, User, UserDom) as NTOWFv2(Passwd, User, UserDom) EndDefine
-
getLmV2Response
public byte[] getLmV2Response(byte[] responseKeyLM, byte[] serverChallenge, byte[] clientChallenge) [MS-NLMP].pdf 3.3.2 NTLM v2 authentication.Set LmChallengeResponse to ConcatenationOf(HMAC_MD5(ResponseKeyLM, ConcatenationOf(CHALLENGE_MESSAGE.ServerChallenge, ClientChallenge)), ClientChallenge)
-
getNtV2Response
public byte[] getNtV2Response(byte[] responseKeyNT, byte[] serverChallenge, byte[] clientChallenge, long time, TargetInfo targetInfo) 3.3.2 NTLM v2 AuthenticationSet temp to ntResponseTemp(ClientChallenge, TargetInfo) // See below Set NTProofStr to HMAC_MD5(ResponseKeyNT, ConcatenationOf(CHALLENGE_MESSAGE.ServerChallenge,temp)) Set NtChallengeResponse to ConcatenationOf(NTProofStr, temp)
-
getSessionBaseKey
public byte[] getSessionBaseKey(byte[] responseKeyNT, byte[] ntProofStr) [MS-NLMP].pdf 3.3.2 NTLM v2 authentication.Set SessionBaseKey to HMAC_MD5(ResponseKeyNT, NTProofStr)
-
ntResponseTemp
[MS-NLMP].pdf 2.2.2.7 NTLM v2: (temp)Set temp to ConcatenationOf(Responserversion, HiResponserversion, Z(6), Time, ClientChallenge, Z(4), ServerName, Z(4))
-
ntProofStr
byte[] ntProofStr(byte[] responseKeyNT, byte[] serverChallenge, byte[] temp) [MS-NLMP].pdf 3.3.2 NTLM v2 authentication (NTProofStr).Define NTProofStr(ResponseKeyNT, ServerChallenge, temp) as HMAC_MD5(ResponseKeyNT, ConcatenationOf(ServerChallenge, temp)) EndDefine
-
kxKey
public byte[] kxKey(byte[] sessionBaseKey, byte[] lmResponse, byte[] serverChallenge) [MS-NLMP].pdf 3.4.5.1 KXKEY If NTLM v2 is used, KeyExchangeKey MUST be set to the given 128-bit SessionBaseKey value.
-