class org.apache.http.impl.auth.NTLMEngineImpl$Type3Message extends org.apache.http.impl.auth.NTLMEngineImpl$NTLMMessage
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.http.impl.auth.NTLMEngineImpl$Type3Message
super_class: org.apache.http.impl.auth.NTLMEngineImpl$NTLMMessage
{
protected final byte[] type1Message;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final byte[] type2Message;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final int type2Flags;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final byte[] domainBytes;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final byte[] hostBytes;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final byte[] userBytes;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected byte[] lmResp;
descriptor: [B
flags: (0x0004) ACC_PROTECTED
protected byte[] ntResp;
descriptor: [B
flags: (0x0004) ACC_PROTECTED
protected final byte[] sessionKey;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final byte[] exportedSessionKey;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final boolean computeMic;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
void <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.String, byte[], int, java.lang.String, byte[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[BILjava/lang/String;[B)V
flags: (0x0000)
Code:
stack=12, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
iload 6
aload 7
aload 8
aconst_null
aconst_null
aconst_null
invokespecial org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[BILjava/lang/String;[BLjava/security/cert/Certificate;[B[B)V
1: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/http/impl/auth/NTLMEngineImpl$Type3Message;
0 2 1 domain Ljava/lang/String;
0 2 2 host Ljava/lang/String;
0 2 3 user Ljava/lang/String;
0 2 4 password Ljava/lang/String;
0 2 5 nonce [B
0 2 6 type2Flags I
0 2 7 target Ljava/lang/String;
0 2 8 targetInformation [B
Exceptions:
throws org.apache.http.impl.auth.NTLMEngineException
MethodParameters:
Name Flags
domain final
host final
user final
password final
nonce final
type2Flags final
target final
targetInformation final
void <init>(java.util.Random, long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, byte[], int, java.lang.String, byte[]);
descriptor: (Ljava/util/Random;JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[BILjava/lang/String;[B)V
flags: (0x0000)
Code:
stack=15, locals=12, args_size=11
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: aload 0
aload 1
lload 2
aload 4
aload 5
aload 6
aload 7
aload 8
iload 9
aload 10
aload 11
aconst_null
aconst_null
aconst_null
invokespecial org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.<init>:(Ljava/util/Random;JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[BILjava/lang/String;[BLjava/security/cert/Certificate;[B[B)V
1: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/http/impl/auth/NTLMEngineImpl$Type3Message;
0 2 1 random Ljava/util/Random;
0 2 2 currentTime J
0 2 4 domain Ljava/lang/String;
0 2 5 host Ljava/lang/String;
0 2 6 user Ljava/lang/String;
0 2 7 password Ljava/lang/String;
0 2 8 nonce [B
0 2 9 type2Flags I
0 2 10 target Ljava/lang/String;
0 2 11 targetInformation [B
Exceptions:
throws org.apache.http.impl.auth.NTLMEngineException
MethodParameters:
Name Flags
random final
currentTime final
domain final
host final
user final
password final
nonce final
type2Flags final
target final
targetInformation final
void <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.String, byte[], int, java.lang.String, byte[], java.security.cert.Certificate, byte[], byte[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[BILjava/lang/String;[BLjava/security/cert/Certificate;[B[B)V
flags: (0x0000)
Code:
stack=15, locals=12, args_size=12
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: aload 0
getstatic org.apache.http.impl.auth.NTLMEngineImpl.RND_GEN:Ljava/security/SecureRandom;
invokestatic java.lang.System.currentTimeMillis:()J
aload 1
aload 2
aload 3
aload 4
aload 5
iload 6
aload 7
aload 8
aload 9
aload 10
aload 11
invokespecial org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.<init>:(Ljava/util/Random;JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[BILjava/lang/String;[BLjava/security/cert/Certificate;[B[B)V
1: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/http/impl/auth/NTLMEngineImpl$Type3Message;
0 2 1 domain Ljava/lang/String;
0 2 2 host Ljava/lang/String;
0 2 3 user Ljava/lang/String;
0 2 4 password Ljava/lang/String;
0 2 5 nonce [B
0 2 6 type2Flags I
0 2 7 target Ljava/lang/String;
0 2 8 targetInformation [B
0 2 9 peerServerCertificate Ljava/security/cert/Certificate;
0 2 10 type1Message [B
0 2 11 type2Message [B
Exceptions:
throws org.apache.http.impl.auth.NTLMEngineException
MethodParameters:
Name Flags
domain final
host final
user final
password final
nonce final
type2Flags final
target final
targetInformation final
peerServerCertificate final
type1Message final
type2Message final
void <init>(java.util.Random, long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, byte[], int, java.lang.String, byte[], java.security.cert.Certificate, byte[], byte[]);
descriptor: (Ljava/util/Random;JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[BILjava/lang/String;[BLjava/security/cert/Certificate;[B[B)V
flags: (0x0000)
Code:
stack=11, locals=21, args_size=14
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 start local 13 start local 14 0: aload 0
invokespecial org.apache.http.impl.auth.NTLMEngineImpl$NTLMMessage.<init>:()V
1: aload 1
ifnonnull 3
2: new org.apache.http.impl.auth.NTLMEngineException
dup
ldc "Random generator not available"
invokespecial org.apache.http.impl.auth.NTLMEngineException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.apache.http.impl.auth.NTLMEngineImpl$Type3Message java.util.Random long java.lang.String java.lang.String java.lang.String java.lang.String byte[] int java.lang.String byte[] java.security.cert.Certificate byte[] byte[]
StackMap stack:
aload 0
iload 9
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.type2Flags:I
4: aload 0
aload 13
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.type1Message:[B
5: aload 0
aload 14
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.type2Message:[B
6: aload 5
invokestatic org.apache.http.impl.auth.NTLMEngineImpl.convertHost:(Ljava/lang/String;)Ljava/lang/String;
astore 15
start local 15 7: aload 4
invokestatic org.apache.http.impl.auth.NTLMEngineImpl.convertDomain:(Ljava/lang/String;)Ljava/lang/String;
astore 16
start local 16 8: aload 11
astore 17
start local 17 9: aload 12
ifnull 13
10: aload 0
aload 11
aload 12
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addGssMicAvsToTargetInfo:([BLjava/security/cert/Certificate;)[B
astore 17
11: aload 0
iconst_1
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.computeMic:Z
12: goto 14
13: StackMap locals: java.lang.String java.lang.String byte[]
StackMap stack:
aload 0
iconst_0
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.computeMic:Z
14: StackMap locals:
StackMap stack:
new org.apache.http.impl.auth.NTLMEngineImpl$CipherGen
dup
aload 1
lload 2
15: aload 16
16: aload 6
17: aload 7
18: aload 8
19: aload 10
20: aload 17
21: invokespecial org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.<init>:(Ljava/util/Random;JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;[BLjava/lang/String;[B)V
astore 18
start local 18 22: iload 9
ldc 8388608
iand
ifeq 31
23: aload 11
ifnull 31
aload 10
ifnull 31
24: aload 0
aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getNTLMv2Response:()[B
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.ntResp:[B
25: aload 0
aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getLMv2Response:()[B
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.lmResp:[B
26: iload 9
sipush 128
iand
ifeq 29
27: aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getLanManagerSessionKey:()[B
astore 19
start local 19 28: goto 53
end local 19 29: StackMap locals: org.apache.http.impl.auth.NTLMEngineImpl$CipherGen
StackMap stack:
aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getNTLMv2UserSessionKey:()[B
astore 19
start local 19 30: goto 53
end local 19 31: StackMap locals:
StackMap stack:
iload 9
ldc 524288
iand
ifeq 39
32: aload 0
aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getNTLM2SessionResponse:()[B
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.ntResp:[B
33: aload 0
aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getLM2SessionResponse:()[B
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.lmResp:[B
34: iload 9
sipush 128
iand
ifeq 37
35: aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getLanManagerSessionKey:()[B
astore 19
start local 19 36: goto 53
end local 19 37: StackMap locals:
StackMap stack:
aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getNTLM2SessionResponseUserSessionKey:()[B
astore 19
start local 19 38: goto 53
end local 19 39: StackMap locals:
StackMap stack:
aload 0
aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getNTLMResponse:()[B
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.ntResp:[B
40: aload 0
aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getLMResponse:()[B
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.lmResp:[B
41: iload 9
sipush 128
iand
ifeq 44
42: aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getLanManagerSessionKey:()[B
astore 19
start local 19 43: goto 53
end local 19 44: StackMap locals:
StackMap stack:
aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getNTLMUserSessionKey:()[B
astore 19
start local 19 45: goto 53
end local 19 StackMap locals:
StackMap stack: org.apache.http.impl.auth.NTLMEngineException
46: pop
47: aload 0
iconst_0
newarray 8
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.ntResp:[B
48: aload 0
aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getLMResponse:()[B
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.lmResp:[B
49: iload 9
sipush 128
iand
ifeq 52
50: aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getLanManagerSessionKey:()[B
astore 19
start local 19 51: goto 53
end local 19 52: StackMap locals:
StackMap stack:
aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getLMUserSessionKey:()[B
astore 19
start local 19 53: StackMap locals: byte[]
StackMap stack:
iload 9
bipush 16
iand
ifeq 61
54: iload 9
ldc 1073741824
iand
ifeq 58
55: aload 0
aload 18
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getSecondaryKey:()[B
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.exportedSessionKey:[B
56: aload 0
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.exportedSessionKey:[B
aload 19
invokestatic org.apache.http.impl.auth.NTLMEngineImpl.RC4:([B[B)[B
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.sessionKey:[B
57: goto 65
58: StackMap locals:
StackMap stack:
aload 0
aload 19
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.sessionKey:[B
59: aload 0
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.sessionKey:[B
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.exportedSessionKey:[B
60: goto 65
61: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.computeMic:Z
ifeq 63
62: new org.apache.http.impl.auth.NTLMEngineException
dup
ldc "Cannot sign/seal: no exported session key"
invokespecial org.apache.http.impl.auth.NTLMEngineException.<init>:(Ljava/lang/String;)V
athrow
63: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.sessionKey:[B
64: aload 0
aconst_null
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.exportedSessionKey:[B
65: StackMap locals:
StackMap stack:
iload 9
invokestatic org.apache.http.impl.auth.NTLMEngineImpl.getCharset:(I)Ljava/nio/charset/Charset;
astore 20
start local 20 66: aload 0
aload 15
ifnull 67
aload 15
aload 20
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
goto 68
StackMap locals: org.apache.http.impl.auth.NTLMEngineImpl$Type3Message java.util.Random long java.lang.String java.lang.String java.lang.String java.lang.String byte[] int java.lang.String byte[] java.security.cert.Certificate byte[] byte[] java.lang.String java.lang.String byte[] org.apache.http.impl.auth.NTLMEngineImpl$CipherGen byte[] java.nio.charset.Charset
StackMap stack: org.apache.http.impl.auth.NTLMEngineImpl$Type3Message
67: aconst_null
StackMap locals: org.apache.http.impl.auth.NTLMEngineImpl$Type3Message java.util.Random long java.lang.String java.lang.String java.lang.String java.lang.String byte[] int java.lang.String byte[] java.security.cert.Certificate byte[] byte[] java.lang.String java.lang.String byte[] org.apache.http.impl.auth.NTLMEngineImpl$CipherGen byte[] java.nio.charset.Charset
StackMap stack: org.apache.http.impl.auth.NTLMEngineImpl$Type3Message byte[]
68: putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.hostBytes:[B
69: aload 0
aload 16
ifnull 71
aload 16
70: getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 20
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
goto 72
StackMap locals:
StackMap stack: org.apache.http.impl.auth.NTLMEngineImpl$Type3Message
71: aconst_null
72: StackMap locals: org.apache.http.impl.auth.NTLMEngineImpl$Type3Message java.util.Random long java.lang.String java.lang.String java.lang.String java.lang.String byte[] int java.lang.String byte[] java.security.cert.Certificate byte[] byte[] java.lang.String java.lang.String byte[] org.apache.http.impl.auth.NTLMEngineImpl$CipherGen byte[] java.nio.charset.Charset
StackMap stack: org.apache.http.impl.auth.NTLMEngineImpl$Type3Message byte[]
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.domainBytes:[B
73: aload 0
aload 6
aload 20
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.userBytes:[B
74: return
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 75 0 this Lorg/apache/http/impl/auth/NTLMEngineImpl$Type3Message;
0 75 1 random Ljava/util/Random;
0 75 2 currentTime J
0 75 4 domain Ljava/lang/String;
0 75 5 host Ljava/lang/String;
0 75 6 user Ljava/lang/String;
0 75 7 password Ljava/lang/String;
0 75 8 nonce [B
0 75 9 type2Flags I
0 75 10 target Ljava/lang/String;
0 75 11 targetInformation [B
0 75 12 peerServerCertificate Ljava/security/cert/Certificate;
0 75 13 type1Message [B
0 75 14 type2Message [B
7 75 15 unqualifiedHost Ljava/lang/String;
8 75 16 unqualifiedDomain Ljava/lang/String;
9 75 17 responseTargetInformation [B
22 75 18 gen Lorg/apache/http/impl/auth/NTLMEngineImpl$CipherGen;
28 29 19 userSessionKey [B
30 31 19 userSessionKey [B
36 37 19 userSessionKey [B
38 39 19 userSessionKey [B
43 44 19 userSessionKey [B
45 46 19 userSessionKey [B
51 52 19 userSessionKey [B
53 75 19 userSessionKey [B
66 75 20 charset Ljava/nio/charset/Charset;
Exception table:
from to target type
22 45 46 Class org.apache.http.impl.auth.NTLMEngineException
Exceptions:
throws org.apache.http.impl.auth.NTLMEngineException
MethodParameters:
Name Flags
random final
currentTime final
domain final
host final
user final
password final
nonce final
type2Flags final
target final
targetInformation final
peerServerCertificate final
type1Message final
type2Message final
public byte[] getEncryptedRandomSessionKey();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.sessionKey:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/impl/auth/NTLMEngineImpl$Type3Message;
public byte[] getExportedSessionKey();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.exportedSessionKey:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/impl/auth/NTLMEngineImpl$Type3Message;
protected void buildMessage();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=17, args_size=1
start local 0 0: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.ntResp:[B
arraylength
istore 1
start local 1 1: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.lmResp:[B
arraylength
istore 2
start local 2 2: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.domainBytes:[B
ifnull 3
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.domainBytes:[B
arraylength
goto 4
StackMap locals: int int
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 3
start local 3 5: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.hostBytes:[B
ifnull 6
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.hostBytes:[B
arraylength
goto 7
StackMap locals: int
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 4
start local 4 8: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.userBytes:[B
arraylength
istore 5
start local 5 9: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.sessionKey:[B
ifnull 12
10: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.sessionKey:[B
arraylength
istore 6
start local 6 11: goto 13
end local 6 12: StackMap locals: int int
StackMap stack:
iconst_0
istore 6
start local 6 13: StackMap locals: int
StackMap stack:
bipush 72
14: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.computeMic:Z
ifeq 15
bipush 16
goto 16
StackMap locals:
StackMap stack: int
15: iconst_0
16: StackMap locals: org.apache.http.impl.auth.NTLMEngineImpl$Type3Message int int int int int int
StackMap stack: int int
iadd
istore 7
start local 7 17: iload 7
iload 2
iadd
istore 8
start local 8 18: iload 8
iload 1
iadd
istore 9
start local 9 19: iload 9
iload 3
iadd
istore 10
start local 10 20: iload 10
iload 5
iadd
istore 11
start local 11 21: iload 11
iload 4
iadd
istore 12
start local 12 22: iload 12
iload 6
iadd
istore 13
start local 13 23: aload 0
iload 13
iconst_3
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.prepareResponse:(II)V
24: aload 0
iload 2
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
25: aload 0
iload 2
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
26: aload 0
iload 7
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addULong:(I)V
27: aload 0
iload 1
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
28: aload 0
iload 1
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
29: aload 0
iload 8
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addULong:(I)V
30: aload 0
iload 3
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
31: aload 0
iload 3
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
32: aload 0
iload 9
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addULong:(I)V
33: aload 0
iload 5
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
34: aload 0
iload 5
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
35: aload 0
iload 10
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addULong:(I)V
36: aload 0
iload 4
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
37: aload 0
iload 4
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
38: aload 0
iload 11
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addULong:(I)V
39: aload 0
iload 6
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
40: aload 0
iload 6
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
41: aload 0
iload 12
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addULong:(I)V
42: aload 0
43: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.type2Flags:I
44: invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addULong:(I)V
45: aload 0
sipush 261
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
46: aload 0
sipush 2600
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addULong:(I)V
47: aload 0
sipush 3840
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addUShort:(I)V
48: iconst_m1
istore 14
start local 14 49: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.computeMic:Z
ifeq 52
50: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.currentOutputPosition:I
istore 14
51: aload 0
dup
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.currentOutputPosition:I
bipush 16
iadd
putfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.currentOutputPosition:I
52: StackMap locals: org.apache.http.impl.auth.NTLMEngineImpl$Type3Message int int int int int int int int int int int int int int
StackMap stack:
aload 0
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.lmResp:[B
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addBytes:([B)V
53: aload 0
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.ntResp:[B
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addBytes:([B)V
54: aload 0
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.domainBytes:[B
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addBytes:([B)V
55: aload 0
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.userBytes:[B
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addBytes:([B)V
56: aload 0
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.hostBytes:[B
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addBytes:([B)V
57: aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.sessionKey:[B
ifnull 59
58: aload 0
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.sessionKey:[B
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.addBytes:([B)V
59: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.computeMic:Z
ifeq 66
60: new org.apache.http.impl.auth.NTLMEngineImpl$HMACMD5
dup
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.exportedSessionKey:[B
invokespecial org.apache.http.impl.auth.NTLMEngineImpl$HMACMD5.<init>:([B)V
astore 15
start local 15 61: aload 15
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.type1Message:[B
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$HMACMD5.update:([B)V
62: aload 15
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.type2Message:[B
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$HMACMD5.update:([B)V
63: aload 15
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.messageContents:[B
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$HMACMD5.update:([B)V
64: aload 15
invokevirtual org.apache.http.impl.auth.NTLMEngineImpl$HMACMD5.getOutput:()[B
astore 16
start local 16 65: aload 16
iconst_0
aload 0
getfield org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.messageContents:[B
iload 14
aload 16
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 16 end local 15 66: StackMap locals:
StackMap stack:
return
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Lorg/apache/http/impl/auth/NTLMEngineImpl$Type3Message;
1 67 1 ntRespLen I
2 67 2 lmRespLen I
5 67 3 domainLen I
8 67 4 hostLen I
9 67 5 userLen I
11 12 6 sessionKeyLen I
13 67 6 sessionKeyLen I
17 67 7 lmRespOffset I
18 67 8 ntRespOffset I
19 67 9 domainOffset I
20 67 10 userOffset I
21 67 11 hostOffset I
22 67 12 sessionKeyOffset I
23 67 13 finalLength I
49 67 14 micPosition I
61 66 15 hmacMD5 Lorg/apache/http/impl/auth/NTLMEngineImpl$HMACMD5;
65 66 16 mic [B
private byte[] addGssMicAvsToTargetInfo(byte[], java.security.cert.Certificate);
descriptor: ([BLjava/security/cert/Certificate;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
arraylength
bipush 8
iadd
bipush 20
iadd
newarray 8
astore 3
start local 3 1: aload 1
arraylength
iconst_4
isub
istore 4
start local 4 2: aload 1
iconst_0
aload 3
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 3
bipush 6
iload 4
invokestatic org.apache.http.impl.auth.NTLMEngineImpl.writeUShort:([BII)V
4: aload 3
iconst_4
iload 4
iconst_2
iadd
invokestatic org.apache.http.impl.auth.NTLMEngineImpl.writeUShort:([BII)V
5: aload 3
iconst_2
iload 4
iconst_4
iadd
invokestatic org.apache.http.impl.auth.NTLMEngineImpl.writeULong:([BII)V
6: aload 3
bipush 10
iload 4
bipush 8
iadd
invokestatic org.apache.http.impl.auth.NTLMEngineImpl.writeUShort:([BII)V
7: aload 3
bipush 16
iload 4
bipush 10
iadd
invokestatic org.apache.http.impl.auth.NTLMEngineImpl.writeUShort:([BII)V
8: aload 2
invokevirtual java.security.cert.Certificate.getEncoded:()[B
astore 6
start local 6 9: ldc "SHA-256"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 7
start local 7 10: aload 7
aload 6
invokevirtual java.security.MessageDigest.digest:([B)[B
astore 8
start local 8 11: bipush 20
getstatic org.apache.http.impl.auth.NTLMEngineImpl.MAGIC_TLS_SERVER_ENDPOINT:[B
arraylength
iadd
12: aload 8
arraylength
13: iadd
newarray 8
astore 9
start local 9 14: aload 9
bipush 53
bipush 16
invokestatic org.apache.http.impl.auth.NTLMEngineImpl.writeULong:([BII)V
15: getstatic org.apache.http.impl.auth.NTLMEngineImpl.MAGIC_TLS_SERVER_ENDPOINT:[B
iconst_0
aload 9
bipush 20
16: getstatic org.apache.http.impl.auth.NTLMEngineImpl.MAGIC_TLS_SERVER_ENDPOINT:[B
arraylength
17: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: aload 8
iconst_0
aload 9
bipush 20
getstatic org.apache.http.impl.auth.NTLMEngineImpl.MAGIC_TLS_SERVER_ENDPOINT:[B
arraylength
iadd
19: aload 8
arraylength
20: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
21: invokestatic org.apache.http.impl.auth.NTLMEngineImpl.getMD5:()Ljava/security/MessageDigest;
astore 10
start local 10 22: aload 10
aload 9
invokevirtual java.security.MessageDigest.digest:([B)[B
astore 5
end local 10 end local 9 end local 8 end local 7 end local 6 start local 5 23: goto 28
end local 5 24: StackMap locals: org.apache.http.impl.auth.NTLMEngineImpl$Type3Message byte[] java.security.cert.Certificate byte[] int
StackMap stack: java.security.cert.CertificateEncodingException
astore 6
start local 6 25: new org.apache.http.impl.auth.NTLMEngineException
dup
aload 6
invokevirtual java.security.cert.CertificateEncodingException.getMessage:()Ljava/lang/String;
aload 6
invokespecial org.apache.http.impl.auth.NTLMEngineException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 26: StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
astore 6
start local 6 27: new org.apache.http.impl.auth.NTLMEngineException
dup
aload 6
invokevirtual java.security.NoSuchAlgorithmException.getMessage:()Ljava/lang/String;
aload 6
invokespecial org.apache.http.impl.auth.NTLMEngineException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 start local 5 28: StackMap locals: byte[]
StackMap stack:
aload 5
iconst_0
aload 3
iload 4
bipush 12
iadd
bipush 16
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
29: aload 3
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/apache/http/impl/auth/NTLMEngineImpl$Type3Message;
0 30 1 originalTargetInfo [B
0 30 2 peerServerCertificate Ljava/security/cert/Certificate;
1 30 3 newTargetInfo [B
2 30 4 appendLength I
23 24 5 channelBindingsHash [B
28 30 5 channelBindingsHash [B
9 23 6 certBytes [B
10 23 7 sha256 Ljava/security/MessageDigest;
11 23 8 certHashBytes [B
14 23 9 channelBindingStruct [B
22 23 10 md5 Ljava/security/MessageDigest;
25 26 6 e Ljava/security/cert/CertificateEncodingException;
27 28 6 e Ljava/security/NoSuchAlgorithmException;
Exception table:
from to target type
8 23 24 Class java.security.cert.CertificateEncodingException
8 23 26 Class java.security.NoSuchAlgorithmException
Exceptions:
throws org.apache.http.impl.auth.NTLMEngineException
MethodParameters:
Name Flags
originalTargetInfo final
peerServerCertificate final
}
SourceFile: "NTLMEngineImpl.java"
NestHost: org.apache.http.impl.auth.NTLMEngineImpl
InnerClasses:
protected CipherGen = org.apache.http.impl.auth.NTLMEngineImpl$CipherGen of org.apache.http.impl.auth.NTLMEngineImpl
HMACMD5 = org.apache.http.impl.auth.NTLMEngineImpl$HMACMD5 of org.apache.http.impl.auth.NTLMEngineImpl
NTLMMessage = org.apache.http.impl.auth.NTLMEngineImpl$NTLMMessage of org.apache.http.impl.auth.NTLMEngineImpl
Type3Message = org.apache.http.impl.auth.NTLMEngineImpl$Type3Message of org.apache.http.impl.auth.NTLMEngineImpl