Package com.hierynomus.ntlm.functions
Class NtlmFunctions
- java.lang.Object
-
- com.hierynomus.ntlm.functions.NtlmFunctions
-
public class NtlmFunctions extends java.lang.ObjectNTLM Helper functions
-
-
Field Summary
Fields Modifier and Type Field Description static java.nio.charset.CharsetUNICODE
-
Constructor Summary
Constructors Constructor Description NtlmFunctions(java.util.Random random, SecurityProvider securityProvider)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]encryptRc4(byte[] key, byte[] val)byte[]getNTLMv2ClientChallenge(TargetInfo targetInfo)[MS-NLMP].pdf 2.2.2.7 NTLM v2: NTLMv2_CLIENT_CHALLENGEbyte[]getNTLMv2Response(byte[] responseKeyNT, byte[] serverChallenge, byte[] ntlmv2ClientChallenge)3.3.2 NTLM v2 Authenticationbyte[]hmac_md5(byte[] key, byte[]... message)[MS-NLMP].pdf 6 Appendix A: Cryptographic Operations Reference (HMAC_MD5(K, M)).byte[]LMOWFv1(java.lang.String password, java.lang.String username, java.lang.String userDomain)[MS-NLMP].pdf 3.3.1 NTLM v1 authentication (LMOWF v1).byte[]LMOWFv2(java.lang.String password, java.lang.String username, java.lang.String userDomain)[MS-NLMP].pdf 3.3.2 NTLM v2 authentication (NTOWF v2).byte[]NTOWFv1(java.lang.String password, java.lang.String username, java.lang.String userDomain)[MS-NLMP].pdf 3.3.1 NTLM v1 authentication (NTOWF v1).byte[]NTOWFv2(java.lang.String password, java.lang.String username, java.lang.String userDomain)[MS-NLMP].pdf 3.3.2 NTLM v2 authentication (NTOWF v2).static byte[]unicode(java.lang.String string)[MS-NLMP].pdf 6 Appendix A: Cryptographic Operations Reference (UNICODE(string)).
-
-
-
Constructor Detail
-
NtlmFunctions
public NtlmFunctions(java.util.Random random, SecurityProvider securityProvider)
-
-
Method Detail
-
NTOWFv2
public byte[] NTOWFv2(java.lang.String password, java.lang.String username, java.lang.String userDomain)[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
public byte[] LMOWFv2(java.lang.String password, java.lang.String username, java.lang.String userDomain)[MS-NLMP].pdf 3.3.2 NTLM v2 authentication (NTOWF v2).Define LMOWFv2(Passwd, User, UserDom) as NTOWFv2(Passwd, User, UserDom) EndDefine
-
NTOWFv1
public byte[] NTOWFv1(java.lang.String password, java.lang.String username, java.lang.String userDomain)[MS-NLMP].pdf 3.3.1 NTLM v1 authentication (NTOWF v1).Define NTOWFv1(Passwd, User, UserDom) as MD4(UNICODE(Passwd)) EndDefine
-
unicode
public static byte[] unicode(java.lang.String string)
[MS-NLMP].pdf 6 Appendix A: Cryptographic Operations Reference (UNICODE(string)).- Parameters:
string- The string to get the bytes of.- Returns:
- The 2-byte little endian byte order encoding of the Unicode UTF-16 representation of the string.
-
hmac_md5
public byte[] hmac_md5(byte[] key, byte[]... message)[MS-NLMP].pdf 6 Appendix A: Cryptographic Operations Reference (HMAC_MD5(K, M)).- Parameters:
key- The bytes of key Kmessage- The bytes of message M- Returns:
- The 16-byte HMAC-keyed MD5 message digest of the byte string M using the key K
-
LMOWFv1
public byte[] LMOWFv1(java.lang.String password, java.lang.String username, java.lang.String userDomain)[MS-NLMP].pdf 3.3.1 NTLM v1 authentication (LMOWF v1).Define LMOWFv1(Passwd, User, UserDom) as ConcatenationOf( DES(UpperCase(Passwd)[0..6], "KGS!@#$%"), DES(UpperCase(Passwd)[7..13], "KGS!@#$%")) EndDefine- Parameters:
password-username-userDomain-- Returns:
-
getNTLMv2ClientChallenge
public byte[] getNTLMv2ClientChallenge(TargetInfo targetInfo)
[MS-NLMP].pdf 2.2.2.7 NTLM v2: NTLMv2_CLIENT_CHALLENGE3.3.2 NTLM v2 Authentication Set temp to ConcatenationOf(Responserversion, HiResponserversion, Z(6), Time, ClientChallenge, Z(4), ServerName, Z(4))
- Parameters:
targetInformation-- Returns:
-
getNTLMv2Response
public byte[] getNTLMv2Response(byte[] responseKeyNT, byte[] serverChallenge, byte[] ntlmv2ClientChallenge)3.3.2 NTLM v2 AuthenticationSet NTProofStr to HMAC_MD5(ResponseKeyNT, ConcatenationOf(CHALLENGE_MESSAGE.ServerChallenge,temp)) Set NtChallengeResponse to ConcatenationOf(NTProofStr, temp)
- Parameters:
responseKeyNT-serverChallenge-ntlmv2ClientChallenge- (temp from above)- Returns:
-
encryptRc4
public byte[] encryptRc4(byte[] key, byte[] val) throws NtlmException- Throws:
NtlmException
-
-