public abstract class com.sun.security.ntlm.Server extends com.sun.security.ntlm.NTLM
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.security.ntlm.Server
super_class: com.sun.security.ntlm.NTLM
{
private final java.lang.String domain;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean allVersion;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial com.sun.security.ntlm.NTLM.<init>:(Ljava/lang/String;)V
1: aload 2
ifnonnull 5
2: new com.sun.security.ntlm.NTLMException
dup
bipush 6
3: ldc "domain cannot be null"
4: invokespecial com.sun.security.ntlm.NTLMException.<init>:(ILjava/lang/String;)V
athrow
5: StackMap locals: com.sun.security.ntlm.Server java.lang.String java.lang.String
StackMap stack:
aload 0
aload 1
ifnonnull 6
iconst_1
goto 7
StackMap locals:
StackMap stack: com.sun.security.ntlm.Server
6: iconst_0
StackMap locals: com.sun.security.ntlm.Server java.lang.String java.lang.String
StackMap stack: com.sun.security.ntlm.Server int
7: putfield com.sun.security.ntlm.Server.allVersion:Z
8: aload 0
aload 2
putfield com.sun.security.ntlm.Server.domain:Ljava/lang/String;
9: aload 0
ldc "NTLM Server: (t,version) = (%s,%s)\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 1
aastore
invokevirtual com.sun.security.ntlm.Server.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/security/ntlm/Server;
0 11 1 version Ljava/lang/String;
0 11 2 domain Ljava/lang/String;
Exceptions:
throws com.sun.security.ntlm.NTLMException
MethodParameters:
Name Flags
version
domain
public byte[] type2(byte[], byte[]);
descriptor: ([B[B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 4
1: new com.sun.security.ntlm.NTLMException
dup
bipush 6
2: ldc "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 Server: Type 1 received\n"
iconst_0
anewarray java.lang.Object
invokevirtual com.sun.security.ntlm.Server.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 1
ifnull 6
aload 0
aload 1
invokevirtual com.sun.security.ntlm.Server.debug:([B)V
6: StackMap locals:
StackMap stack:
new com.sun.security.ntlm.NTLM$Writer
dup
iconst_2
bipush 32
invokespecial com.sun.security.ntlm.NTLM$Writer.<init>:(II)V
astore 3
start local 3 7: ldc 590341
istore 4
start local 4 8: aload 3
bipush 12
aload 0
getfield com.sun.security.ntlm.Server.domain:Ljava/lang/String;
iconst_1
invokevirtual com.sun.security.ntlm.NTLM$Writer.writeSecurityBuffer:(ILjava/lang/String;Z)V
9: aload 3
bipush 20
iload 4
invokevirtual com.sun.security.ntlm.NTLM$Writer.writeInt:(II)V
10: aload 3
bipush 24
aload 2
invokevirtual com.sun.security.ntlm.NTLM$Writer.writeBytes:(I[B)V
11: aload 0
ldc "NTLM Server: Type 2 created\n"
iconst_0
anewarray java.lang.Object
invokevirtual com.sun.security.ntlm.Server.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
12: aload 0
aload 3
invokevirtual com.sun.security.ntlm.NTLM$Writer.getBytes:()[B
invokevirtual com.sun.security.ntlm.Server.debug:([B)V
13: aload 3
invokevirtual com.sun.security.ntlm.NTLM$Writer.getBytes:()[B
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/security/ntlm/Server;
0 14 1 type1 [B
0 14 2 nonce [B
7 14 3 p Lcom/sun/security/ntlm/NTLM$Writer;
8 14 4 flags I
Exceptions:
throws com.sun.security.ntlm.NTLMException
MethodParameters:
Name Flags
type1
nonce
public java.lang.String[] verify(byte[], byte[]);
descriptor: ([B[B)[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 2
ifnonnull 4
1: StackMap locals:
StackMap stack:
new com.sun.security.ntlm.NTLMException
dup
bipush 6
2: ldc "type1 or 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 Server: Type 3 received\n"
iconst_0
anewarray java.lang.Object
invokevirtual com.sun.security.ntlm.Server.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 1
ifnull 6
aload 0
aload 1
invokevirtual com.sun.security.ntlm.Server.debug:([B)V
6: StackMap locals:
StackMap stack:
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 36
iconst_1
invokevirtual com.sun.security.ntlm.NTLM$Reader.readSecurityBuffer:(IZ)Ljava/lang/String;
astore 4
start local 4 8: aload 3
bipush 44
iconst_1
invokevirtual com.sun.security.ntlm.NTLM$Reader.readSecurityBuffer:(IZ)Ljava/lang/String;
astore 5
start local 5 9: aload 3
bipush 28
iconst_1
invokevirtual com.sun.security.ntlm.NTLM$Reader.readSecurityBuffer:(IZ)Ljava/lang/String;
astore 6
start local 6 10: iconst_0
istore 7
start local 7 11: aload 0
aload 6
aload 4
invokevirtual com.sun.security.ntlm.Server.getPassword:(Ljava/lang/String;Ljava/lang/String;)[C
astore 8
start local 8 12: aload 8
ifnonnull 16
13: new com.sun.security.ntlm.NTLMException
dup
iconst_3
14: ldc "Unknown user"
15: invokespecial com.sun.security.ntlm.NTLMException.<init>:(ILjava/lang/String;)V
athrow
16: StackMap locals: com.sun.security.ntlm.Server byte[] byte[] com.sun.security.ntlm.NTLM$Reader java.lang.String java.lang.String java.lang.String int char[]
StackMap stack:
aload 3
bipush 12
invokevirtual com.sun.security.ntlm.NTLM$Reader.readSecurityBuffer:(I)[B
astore 9
start local 9 17: aload 3
bipush 20
invokevirtual com.sun.security.ntlm.NTLM$Reader.readSecurityBuffer:(I)[B
astore 10
start local 10 18: iload 7
ifne 32
aload 0
getfield com.sun.security.ntlm.Server.allVersion:Z
ifne 19
aload 0
getfield com.sun.security.ntlm.Server.v:Lcom/sun/security/ntlm/Version;
getstatic com.sun.security.ntlm.Version.NTLM:Lcom/sun/security/ntlm/Version;
if_acmpne 32
19: StackMap locals: byte[] byte[]
StackMap stack:
aload 9
arraylength
ifle 25
20: aload 8
invokestatic com.sun.security.ntlm.Server.getP1:([C)[B
astore 11
start local 11 21: aload 0
aload 11
invokevirtual com.sun.security.ntlm.Server.calcLMHash:([B)[B
astore 12
start local 12 22: aload 0
aload 12
aload 2
invokevirtual com.sun.security.ntlm.Server.calcResponse:([B[B)[B
astore 13
start local 13 23: aload 13
aload 9
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 25
24: iconst_1
istore 7
end local 13 end local 12 end local 11 25: StackMap locals:
StackMap stack:
aload 10
arraylength
ifle 31
26: aload 8
invokestatic com.sun.security.ntlm.Server.getP2:([C)[B
astore 11
start local 11 27: aload 0
aload 11
invokevirtual com.sun.security.ntlm.Server.calcNTHash:([B)[B
astore 12
start local 12 28: aload 0
aload 12
aload 2
invokevirtual com.sun.security.ntlm.Server.calcResponse:([B[B)[B
astore 13
start local 13 29: aload 13
aload 10
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 31
30: iconst_1
istore 7
end local 13 end local 12 end local 11 31: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "NTLM Server: verify using NTLM: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokevirtual com.sun.security.ntlm.Server.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
32: StackMap locals:
StackMap stack:
iload 7
ifne 40
aload 0
getfield com.sun.security.ntlm.Server.allVersion:Z
ifne 33
aload 0
getfield com.sun.security.ntlm.Server.v:Lcom/sun/security/ntlm/Version;
getstatic com.sun.security.ntlm.Version.NTLM2:Lcom/sun/security/ntlm/Version;
if_acmpne 40
33: StackMap locals:
StackMap stack:
aload 8
invokestatic com.sun.security.ntlm.Server.getP2:([C)[B
astore 11
start local 11 34: aload 0
aload 11
invokevirtual com.sun.security.ntlm.Server.calcNTHash:([B)[B
astore 12
start local 12 35: aload 9
bipush 8
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 13
start local 13 36: aload 0
aload 12
aload 13
aload 2
invokevirtual com.sun.security.ntlm.Server.ntlm2NTLM:([B[B[B)[B
astore 14
start local 14 37: aload 10
aload 14
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 39
38: iconst_1
istore 7
39: StackMap locals: com.sun.security.ntlm.Server byte[] byte[] com.sun.security.ntlm.NTLM$Reader java.lang.String java.lang.String java.lang.String int char[] byte[] byte[] byte[] byte[] byte[] byte[]
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "NTLM Server: verify using NTLM2: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokevirtual com.sun.security.ntlm.Server.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 14 end local 13 end local 12 end local 11 40: StackMap locals: com.sun.security.ntlm.Server byte[] byte[] com.sun.security.ntlm.NTLM$Reader java.lang.String java.lang.String java.lang.String int char[] byte[] byte[]
StackMap stack:
iload 7
ifne 62
aload 0
getfield com.sun.security.ntlm.Server.allVersion:Z
ifne 41
aload 0
getfield com.sun.security.ntlm.Server.v:Lcom/sun/security/ntlm/Version;
getstatic com.sun.security.ntlm.Version.NTLMv2:Lcom/sun/security/ntlm/Version;
if_acmpne 62
41: StackMap locals:
StackMap stack:
aload 8
invokestatic com.sun.security.ntlm.Server.getP2:([C)[B
astore 11
start local 11 42: aload 0
aload 11
invokevirtual com.sun.security.ntlm.Server.calcNTHash:([B)[B
astore 12
start local 12 43: aload 9
arraylength
ifle 52
44: aload 9
bipush 16
aload 9
arraylength
45: invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 13
start local 13 46: aload 0
aload 12
47: new java.lang.StringBuilder
dup
aload 4
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 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
48: aload 13
aload 2
49: invokevirtual com.sun.security.ntlm.Server.calcV2:([BLjava/lang/String;[B[B)[B
astore 14
start local 14 50: aload 14
aload 9
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 52
51: iconst_1
istore 7
end local 14 end local 13 52: StackMap locals: byte[] byte[]
StackMap stack:
aload 10
arraylength
ifle 61
53: aload 10
bipush 16
aload 10
arraylength
54: invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 13
start local 13 55: aload 0
aload 12
56: new java.lang.StringBuilder
dup
aload 4
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 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
57: aload 13
aload 2
58: invokevirtual com.sun.security.ntlm.Server.calcV2:([BLjava/lang/String;[B[B)[B
astore 14
start local 14 59: aload 14
aload 10
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 61
60: iconst_1
istore 7
end local 14 end local 13 61: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "NTLM Server: verify using NTLMv2: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokevirtual com.sun.security.ntlm.Server.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 12 end local 11 62: StackMap locals:
StackMap stack:
iload 7
ifne 66
63: new com.sun.security.ntlm.NTLMException
dup
iconst_4
64: ldc "None of LM and NTLM verified"
65: invokespecial com.sun.security.ntlm.NTLMException.<init>:(ILjava/lang/String;)V
athrow
66: StackMap locals:
StackMap stack:
iconst_3
anewarray java.lang.String
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 5
aastore
dup
iconst_2
aload 6
aastore
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/Server;
0 67 1 type3 [B
0 67 2 nonce [B
7 67 3 r Lcom/sun/security/ntlm/NTLM$Reader;
8 67 4 username Ljava/lang/String;
9 67 5 hostname Ljava/lang/String;
10 67 6 incomingDomain Ljava/lang/String;
11 67 7 verified Z
12 67 8 password [C
17 67 9 incomingLM [B
18 67 10 incomingNTLM [B
21 25 11 pw1 [B
22 25 12 lmhash [B
23 25 13 lmresponse [B
27 31 11 pw2 [B
28 31 12 nthash [B
29 31 13 ntresponse [B
34 40 11 pw2 [B
35 40 12 nthash [B
36 40 13 clientNonce [B
37 40 14 ntlmresponse [B
42 62 11 pw2 [B
43 62 12 nthash [B
46 52 13 clientNonce [B
50 52 14 lmresponse [B
55 61 13 clientBlob [B
59 61 14 ntlmresponse [B
Exceptions:
throws com.sun.security.ntlm.NTLMException
MethodParameters:
Name Flags
type3
nonce
public abstract char[] getPassword(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)[C
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
domain
username
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: "Server.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