public final class com.sun.security.ntlm.Client extends com.sun.security.ntlm.NTLM
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.security.ntlm.Client
super_class: com.sun.security.ntlm.NTLM
{
private final java.lang.String hostname;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String username;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String domain;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private byte[] pw1;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] pw2;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.String, char[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokespecial com.sun.security.ntlm.NTLM.<init>:(Ljava/lang/String;)V
1: aload 3
ifnull 2
aload 5
ifnonnull 5
2: StackMap locals: com.sun.security.ntlm.Client java.lang.String java.lang.String java.lang.String java.lang.String char[]
StackMap stack:
new com.sun.security.ntlm.NTLMException
dup
bipush 6
3: ldc "username/password cannot be null"
4: invokespecial com.sun.security.ntlm.NTLMException.<init>:(ILjava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.sun.security.ntlm.Client.hostname:Ljava/lang/String;
6: aload 0
aload 3
putfield com.sun.security.ntlm.Client.username:Ljava/lang/String;
7: aload 0
aload 4
ifnonnull 8
ldc ""
goto 9
StackMap locals:
StackMap stack: com.sun.security.ntlm.Client
8: aload 4
StackMap locals: com.sun.security.ntlm.Client java.lang.String java.lang.String java.lang.String java.lang.String char[]
StackMap stack: com.sun.security.ntlm.Client java.lang.String
9: putfield com.sun.security.ntlm.Client.domain:Ljava/lang/String;
10: aload 0
aload 5
invokestatic com.sun.security.ntlm.Client.getP1:([C)[B
putfield com.sun.security.ntlm.Client.pw1:[B
11: aload 0
aload 5
invokestatic com.sun.security.ntlm.Client.getP2:([C)[B
putfield com.sun.security.ntlm.Client.pw2:[B
12: aload 0
ldc "NTLM Client: (h,u,t,version(v)) = (%s,%s,%s,%s(%s))\n"
iconst_5
anewarray java.lang.Object
dup
iconst_0
13: aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 1
aastore
dup
iconst_4
aload 0
getfield com.sun.security.ntlm.Client.v:Lcom/sun/security/ntlm/Version;
invokevirtual com.sun.security.ntlm.Version.toString:()Ljava/lang/String;
aastore
14: invokevirtual com.sun.security.ntlm.Client.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
15: return
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 16 0 this Lcom/sun/security/ntlm/Client;
0 16 1 version Ljava/lang/String;
0 16 2 hostname Ljava/lang/String;
0 16 3 username Ljava/lang/String;
0 16 4 domain Ljava/lang/String;
0 16 5 password [C
Exceptions:
throws com.sun.security.ntlm.NTLMException
MethodParameters:
Name Flags
version
hostname
username
domain
password
public byte[] type1();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: new com.sun.security.ntlm.NTLM$Writer
dup
iconst_1
bipush 32
invokespecial com.sun.security.ntlm.NTLM$Writer.<init>:(II)V
astore 1
start local 1 1: ldc 33287
istore 2
start local 2 2: aload 0
getfield com.sun.security.ntlm.Client.v:Lcom/sun/security/ntlm/Version;
getstatic com.sun.security.ntlm.Version.NTLM:Lcom/sun/security/ntlm/Version;
if_acmpeq 4
3: iload 2
ldc 524288
ior
istore 2
4: StackMap locals: com.sun.security.ntlm.NTLM$Writer int
StackMap stack:
aload 1
bipush 12
iload 2
invokevirtual com.sun.security.ntlm.NTLM$Writer.writeInt:(II)V
5: aload 0
ldc "NTLM Client: Type 1 created\n"
iconst_0
anewarray java.lang.Object
invokevirtual com.sun.security.ntlm.Client.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
6: aload 0
aload 1
invokevirtual com.sun.security.ntlm.NTLM$Writer.getBytes:()[B
invokevirtual com.sun.security.ntlm.Client.debug:([B)V
7: aload 1
invokevirtual com.sun.security.ntlm.NTLM$Writer.getBytes:()[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/security/ntlm/Client;
1 8 1 p Lcom/sun/security/ntlm/NTLM$Writer;
2 8 2 flags I
public byte[] type3(byte[], byte[]);
descriptor: ([B[B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 0
getfield com.sun.security.ntlm.Client.v:Lcom/sun/security/ntlm/Version;
getstatic com.sun.security.ntlm.Version.NTLM:Lcom/sun/security/ntlm/Version;
if_acmpeq 4
aload 2
ifnonnull 4
1: StackMap locals:
StackMap stack:
new com.sun.security.ntlm.NTLMException
dup
bipush 6
2: ldc "type2 and nonce cannot be null"
3: invokespecial com.sun.security.ntlm.NTLMException.<init>:(ILjava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
ldc "NTLM Client: Type 2 received\n"
iconst_0
anewarray java.lang.Object
invokevirtual com.sun.security.ntlm.Client.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 0
aload 1
invokevirtual com.sun.security.ntlm.Client.debug:([B)V
6: new com.sun.security.ntlm.NTLM$Reader
dup
aload 1
invokespecial com.sun.security.ntlm.NTLM$Reader.<init>:([B)V
astore 3
start local 3 7: aload 3
bipush 24
bipush 8
invokevirtual com.sun.security.ntlm.NTLM$Reader.readBytes:(II)[B
astore 4
start local 4 8: aload 3
bipush 20
invokevirtual com.sun.security.ntlm.NTLM$Reader.readInt:(I)I
istore 5
start local 5 9: iload 5
iconst_1
iand
iconst_1
if_icmpne 10
iconst_1
goto 11
StackMap locals: com.sun.security.ntlm.NTLM$Reader byte[] int
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 6
start local 6 12: ldc 557568
iload 5
iconst_3
iand
ior
istore 7
start local 7 13: new com.sun.security.ntlm.NTLM$Writer
dup
iconst_3
bipush 64
invokespecial com.sun.security.ntlm.NTLM$Writer.<init>:(II)V
astore 8
start local 8 14: aconst_null
astore 9
start local 9 15: aconst_null
astore 10
start local 10 16: aload 8
bipush 28
aload 0
getfield com.sun.security.ntlm.Client.domain:Ljava/lang/String;
iload 6
invokevirtual com.sun.security.ntlm.NTLM$Writer.writeSecurityBuffer:(ILjava/lang/String;Z)V
17: aload 8
bipush 36
aload 0
getfield com.sun.security.ntlm.Client.username:Ljava/lang/String;
iload 6
invokevirtual com.sun.security.ntlm.NTLM$Writer.writeSecurityBuffer:(ILjava/lang/String;Z)V
18: aload 8
bipush 44
aload 0
getfield com.sun.security.ntlm.Client.hostname:Ljava/lang/String;
iload 6
invokevirtual com.sun.security.ntlm.NTLM$Writer.writeSecurityBuffer:(ILjava/lang/String;Z)V
19: aload 0
getfield com.sun.security.ntlm.Client.v:Lcom/sun/security/ntlm/Version;
getstatic com.sun.security.ntlm.Version.NTLM:Lcom/sun/security/ntlm/Version;
if_acmpne 25
20: aload 0
aload 0
getfield com.sun.security.ntlm.Client.pw1:[B
invokevirtual com.sun.security.ntlm.Client.calcLMHash:([B)[B
astore 11
start local 11 21: aload 0
aload 0
getfield com.sun.security.ntlm.Client.pw2:[B
invokevirtual com.sun.security.ntlm.Client.calcNTHash:([B)[B
astore 12
start local 12 22: aload 0
getfield com.sun.security.ntlm.Client.writeLM:Z
ifeq 23
aload 0
aload 11
aload 4
invokevirtual com.sun.security.ntlm.Client.calcResponse:([B[B)[B
astore 9
23: StackMap locals: com.sun.security.ntlm.Client byte[] byte[] com.sun.security.ntlm.NTLM$Reader byte[] int int int com.sun.security.ntlm.NTLM$Writer byte[] byte[] byte[] byte[]
StackMap stack:
aload 0
getfield com.sun.security.ntlm.Client.writeNTLM:Z
ifeq 60
aload 0
aload 12
aload 4
invokevirtual com.sun.security.ntlm.Client.calcResponse:([B[B)[B
astore 10
end local 12 end local 11 24: goto 60
StackMap locals:
StackMap stack:
25: aload 0
getfield com.sun.security.ntlm.Client.v:Lcom/sun/security/ntlm/Version;
getstatic com.sun.security.ntlm.Version.NTLM2:Lcom/sun/security/ntlm/Version;
if_acmpne 30
26: aload 0
aload 0
getfield com.sun.security.ntlm.Client.pw2:[B
invokevirtual com.sun.security.ntlm.Client.calcNTHash:([B)[B
astore 11
start local 11 27: aload 2
invokestatic com.sun.security.ntlm.Client.ntlm2LM:([B)[B
astore 9
28: aload 0
aload 11
aload 2
aload 4
invokevirtual com.sun.security.ntlm.Client.ntlm2NTLM:([B[B[B)[B
astore 10
end local 11 29: goto 60
30: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.security.ntlm.Client.pw2:[B
invokevirtual com.sun.security.ntlm.Client.calcNTHash:([B)[B
astore 11
start local 11 31: aload 0
getfield com.sun.security.ntlm.Client.writeLM:Z
ifeq 34
aload 0
aload 11
32: new java.lang.StringBuilder
dup
aload 0
getfield com.sun.security.ntlm.Client.username:Ljava/lang/String;
getstatic java.util.Locale.US:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.security.ntlm.Client.domain:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
aload 4
33: invokevirtual com.sun.security.ntlm.Client.calcV2:([BLjava/lang/String;[B[B)[B
astore 9
34: StackMap locals: byte[]
StackMap stack:
aload 0
getfield com.sun.security.ntlm.Client.writeNTLM:Z
ifeq 60
35: iload 5
ldc 8388608
iand
ifeq 37
36: aload 3
bipush 40
invokevirtual com.sun.security.ntlm.NTLM$Reader.readSecurityBuffer:(I)[B
goto 38
StackMap locals:
StackMap stack:
37: iconst_0
newarray 8
38: StackMap locals:
StackMap stack: byte[]
astore 12
start local 12 39: bipush 32
aload 12
arraylength
iadd
newarray 8
astore 13
start local 13 40: bipush 8
newarray 8
dup
iconst_0
iconst_1
bastore
dup
iconst_1
iconst_1
bastore
iconst_0
aload 13
iconst_0
bipush 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
41: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.util.Date.getTime:()J
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
42: new java.math.BigInteger
dup
ldc "11644473600000"
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
43: ldc 10000
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
44: invokevirtual java.math.BigInteger.toByteArray:()[B
45: astore 14
start local 14 46: iconst_0
istore 15
start local 15 47: goto 50
48: StackMap locals: com.sun.security.ntlm.Client byte[] byte[] com.sun.security.ntlm.NTLM$Reader byte[] int int int com.sun.security.ntlm.NTLM$Writer byte[] byte[] byte[] byte[] byte[] byte[] int
StackMap stack:
aload 13
bipush 8
aload 14
arraylength
iadd
iload 15
isub
iconst_1
isub
aload 14
iload 15
baload
bastore
49: iinc 15 1
StackMap locals:
StackMap stack:
50: iload 15
aload 14
arraylength
if_icmplt 48
end local 15 51: aload 2
iconst_0
aload 13
bipush 16
bipush 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
52: iconst_4
newarray 8
iconst_0
aload 13
bipush 24
iconst_4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
53: aload 12
iconst_0
aload 13
bipush 28
aload 12
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
54: iconst_4
newarray 8
iconst_0
55: aload 13
bipush 28
aload 12
arraylength
iadd
iconst_4
56: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
57: aload 0
aload 11
new java.lang.StringBuilder
dup
aload 0
getfield com.sun.security.ntlm.Client.username:Ljava/lang/String;
getstatic java.util.Locale.US:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.security.ntlm.Client.domain:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
58: aload 13
aload 4
59: invokevirtual com.sun.security.ntlm.Client.calcV2:([BLjava/lang/String;[B[B)[B
astore 10
end local 14 end local 13 end local 12 end local 11 60: StackMap locals: com.sun.security.ntlm.Client byte[] byte[] com.sun.security.ntlm.NTLM$Reader byte[] int int int com.sun.security.ntlm.NTLM$Writer byte[] byte[]
StackMap stack:
aload 8
bipush 12
aload 9
invokevirtual com.sun.security.ntlm.NTLM$Writer.writeSecurityBuffer:(I[B)V
61: aload 8
bipush 20
aload 10
invokevirtual com.sun.security.ntlm.NTLM$Writer.writeSecurityBuffer:(I[B)V
62: aload 8
bipush 52
iconst_0
newarray 8
invokevirtual com.sun.security.ntlm.NTLM$Writer.writeSecurityBuffer:(I[B)V
63: aload 8
bipush 60
iload 7
invokevirtual com.sun.security.ntlm.NTLM$Writer.writeInt:(II)V
64: aload 0
ldc "NTLM Client: Type 3 created\n"
iconst_0
anewarray java.lang.Object
invokevirtual com.sun.security.ntlm.Client.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
65: aload 0
aload 8
invokevirtual com.sun.security.ntlm.NTLM$Writer.getBytes:()[B
invokevirtual com.sun.security.ntlm.Client.debug:([B)V
66: aload 8
invokevirtual com.sun.security.ntlm.NTLM$Writer.getBytes:()[B
areturn
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 Lcom/sun/security/ntlm/Client;
0 67 1 type2 [B
0 67 2 nonce [B
7 67 3 r Lcom/sun/security/ntlm/NTLM$Reader;
8 67 4 challenge [B
9 67 5 inputFlags I
12 67 6 unicode Z
13 67 7 flags I
14 67 8 p Lcom/sun/security/ntlm/NTLM$Writer;
15 67 9 lm [B
16 67 10 ntlm [B
21 24 11 lmhash [B
22 24 12 nthash [B
27 29 11 nthash [B
31 60 11 nthash [B
39 60 12 alist [B
40 60 13 blob [B
46 60 14 time [B
47 51 15 i I
Exceptions:
throws com.sun.security.ntlm.NTLMException
MethodParameters:
Name Flags
type2
nonce
public java.lang.String getDomain();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.security.ntlm.Client.domain:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/security/ntlm/Client;
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.security.ntlm.Client.pw1:[B
iconst_0
invokestatic java.util.Arrays.fill:([BB)V
1: aload 0
getfield com.sun.security.ntlm.Client.pw2:[B
iconst_0
invokestatic java.util.Arrays.fill:([BB)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/security/ntlm/Client;
public void debug(byte[]);
descriptor: ([B)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial com.sun.security.ntlm.NTLM.debug:([B)V
return
LocalVariableTable:
Start End Slot Name Signature
public void debug(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x10c1) ACC_PUBLIC, ACC_BRIDGE, ACC_VARARGS, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokespecial com.sun.security.ntlm.NTLM.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Client.java"
InnerClasses:
Reader = com.sun.security.ntlm.NTLM$Reader of com.sun.security.ntlm.NTLM
Writer = com.sun.security.ntlm.NTLM$Writer of com.sun.security.ntlm.NTLM