com.groupbyinc.flux.common.apache.http.impl.auth.NTLMEngineImpl.class Maven / Gradle / Ivy
???? 2? ?com/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngineImpl java/lang/Object ;com/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngine NTLMEngineImpl.java ALcom/groupbyinc/flux/common/apache/http/annotation/NotThreadSafe; Gcom/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngineImpl$HMACMD5 HMACMD5 Ccom/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngineImpl$MD4 MD4 Lcom/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngineImpl$Type3Message Type3Message Lcom/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngineImpl$Type2Message Type2Message Lcom/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngineImpl$Type1Message Type1Message Kcom/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngineImpl$NTLMMessage NTLMMessage Icom/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngineImpl$CipherGen CipherGen UNICODE_LITTLE_UNMARKED Ljava/nio/charset/Charset; DEFAULT_CHARSET FLAG_REQUEST_UNICODE_ENCODING I FLAG_REQUEST_TARGET FLAG_REQUEST_SIGN FLAG_REQUEST_SEAL FLAG_REQUEST_LAN_MANAGER_KEY ? FLAG_REQUEST_NTLMv1 FLAG_DOMAIN_PRESENT FLAG_WORKSTATION_PRESENT FLAG_REQUEST_ALWAYS_SIGN ? FLAG_REQUEST_NTLM2_SESSION FLAG_REQUEST_VERSION FLAG_TARGETINFO_PRESENT ? FLAG_REQUEST_128BIT_KEY_EXCH FLAG_REQUEST_EXPLICIT_KEY_EXCH@ FLAG_REQUEST_56BIT_ENCRYPTION? RND_GEN Ljava/security/SecureRandom; SIGNATURE [B TYPE_1_MESSAGE Ljava/lang/String; ()V F G
H this ALcom/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngineImpl; getResponseFor n(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; Dcom/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngineException N java/lang/String P trim ()Ljava/lang/String; R S
Q T V equals (Ljava/lang/Object;)Z X Y
Q Z getType1Message 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; \ ]
^ (Ljava/lang/String;)V F `
a getChallenge ()[B c d
e getFlags ()I g h
i getTarget k S
l
getTargetInfo n d
o getType3Message s(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[BILjava/lang/String;[B)Ljava/lang/String; q r
s response t2m NLcom/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngineImpl$Type2Message; message username password host domain D E } b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[BILjava/lang/String;[B)V F
? getResponse ? S
? user nonce
type2Flags target targetInformation stripDotSuffix &(Ljava/lang/String;)Ljava/lang/String; . ? indexOf (Ljava/lang/String;)I ? ?
Q ? substring (II)Ljava/lang/String; ? ?
Q ? value index convertHost ? ?
?
convertDomain readULong ([BI)I 0NTLM authentication - buffer too small for DWORD ?
O a src
readUShort /NTLM authentication - buffer too small for WORD ? readSecurityBuffer ([BI)[B ? ?
? ? ?
? 4NTLM authentication - buffer too small for data item ? java/lang/System ? arraycopy *(Ljava/lang/Object;ILjava/lang/Object;II)V ? ?
? ? length offset buffer makeRandomChallenge @ A ? Random generator not available ? java/security/SecureRandom ? nextBytes ([B)V ? ?
? ? C java/lang/Throwable ? rval makeSecondaryKey hmacMD5 ([B[B)[B F ?
? update ? ?
? getOutput ? d
? key ILcom/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngineImpl$HMACMD5; RC4 java/lang/Exception ? ? javax/crypto/Cipher ? getInstance )(Ljava/lang/String;)Ljavax/crypto/Cipher; ? ?
? ? javax/crypto/spec/SecretKeySpec ? ([BLjava/lang/String;)V F ?
? ? init (ILjava/security/Key;)V ? ?
? ? doFinal ([B)[B ? ?
? ?
getMessage ? S
? ? *(Ljava/lang/String;Ljava/lang/Throwable;)V F ?
O ? rc4 Ljavax/crypto/Cipher; e Ljava/lang/Exception; ntlm2SessionResponse
([B[B[B)[B MD5 ? java/security/MessageDigest ? 1(Ljava/lang/String;)Ljava/security/MessageDigest; ? ?
? ?
? ? digest ? d
? ?
lmResponse ?
md5 Ljava/security/MessageDigest; sessionHash ntlmHash challenge clientChallenge lmHash (Ljava/lang/String;)[B java/util/Locale ROOT Ljava/util/Locale;
toUpperCase &(Ljava/util/Locale;)Ljava/lang/String;
Q -com/groupbyinc/flux/common/apache/http/Consts ASCII getBytes (Ljava/nio/charset/Charset;)[B
Q java/lang/Math min (II)I !
" createDESKey ([BI)Ljava/security/Key;$%
& KGS!@#$%( DES/ECB/NoPadding* oemPassword keyBytes lowKey Ljava/security/Key; highKey
magicConstant des lowHash highHash 5 Unicode not supported7
H
?
? unicodePassword md4 ELcom/groupbyinc/flux/common/apache/http/impl/auth/NTLMEngineImpl$MD4; lmv2Hash *(Ljava/lang/String;Ljava/lang/String;[B)[B
ntlmv2Hash middleKey lowResponse middleResponse highResponse hash lmv2Response
clientData mac
createBlob timestamp
blobSignature reserved unknown1 unknown2 blob oddParityQ ?
R DEST bytes material b B needsParity Z i
writeULong ([BII)V F (III)I x y z G H rotintlft val numbits generateType1Msg workstation generateType3Msg
access$000 ? d
m
access$100 ? d
p
access$200
s x0
access$300 x1
access$400
y
access$500?@
| x2
access$600A@
?
access$700J ?
?
access$800G ?
?
access$900 access$1000 ()Ljava/nio/charset/Charset; ? access$1100 B C ? access$1200 access$1300 access$1400 ? ?
? access$1500 access$1600 ? ?
? access$1700 ? ?
? UnicodeLittleUnmarked? 8com/groupbyinc/flux/common/apache/http/util/CharsetUtils? lookup .(Ljava/lang/String;)Ljava/nio/charset/Charset;??
?? SHA1PRNG? 0(Ljava/lang/String;)Ljava/security/SecureRandom; ??
?? NTLMSSP?
H
? ignore rnd bytesWithoutNull
ConstantValue Code LocalVariableTable LineNumberTable
StackMapTable
Exceptions
SourceFile InnerClasses RuntimeInvisibleAnnotations 0 ! " ? # $ " ? % &