final class com.sun.security.sasl.ntlm.NTLMServer implements javax.security.sasl.SaslServer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.security.sasl.ntlm.NTLMServer
super_class: java.lang.Object
{
private static final java.lang.String NTLM_VERSION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.security.sasl.ntlm.version"
private static final java.lang.String NTLM_DOMAIN;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.security.sasl.ntlm.domain"
private static final java.lang.String NTLM_HOSTNAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.security.sasl.ntlm.hostname"
private static final java.lang.String NTLM_RANDOM;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.security.sasl.ntlm.random"
private final java.util.Random random;
descriptor: Ljava/util/Random;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.security.ntlm.Server server;
descriptor: Lcom/sun/security/ntlm/Server;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private byte[] nonce;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int step;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String authzId;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private final java.lang.String mech;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String hostname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String target;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
void <init>(java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, ?>, javax.security.auth.callback.CallbackHandler);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljavax/security/auth/callback/CallbackHandler;)V
flags: (0x0000)
Code:
stack=7, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.sun.security.sasl.ntlm.NTLMServer.step:I
2: aload 0
aload 1
putfield com.sun.security.sasl.ntlm.NTLMServer.mech:Ljava/lang/String;
3: aconst_null
astore 6
start local 6 4: aconst_null
astore 7
start local 7 5: aconst_null
astore 8
start local 8 6: aload 4
ifnull 10
7: aload 4
ldc "com.sun.security.sasl.ntlm.domain"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 7
8: aload 4
ldc "com.sun.security.sasl.ntlm.version"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 6
9: aload 4
ldc "com.sun.security.sasl.ntlm.random"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Random
astore 8
10: StackMap locals: com.sun.security.sasl.ntlm.NTLMServer java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler java.lang.String java.lang.String java.util.Random
StackMap stack:
aload 0
aload 8
ifnull 11
aload 8
goto 12
StackMap locals:
StackMap stack: com.sun.security.sasl.ntlm.NTLMServer
11: new java.util.Random
dup
invokespecial java.util.Random.<init>:()V
StackMap locals: com.sun.security.sasl.ntlm.NTLMServer java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler java.lang.String java.lang.String java.util.Random
StackMap stack: com.sun.security.sasl.ntlm.NTLMServer java.util.Random
12: putfield com.sun.security.sasl.ntlm.NTLMServer.random:Ljava/util/Random;
13: aload 6
ifnonnull 15
14: ldc "ntlm.version"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 6
15: StackMap locals:
StackMap stack:
aload 7
ifnonnull 17
16: aload 3
astore 7
17: StackMap locals:
StackMap stack:
aload 7
ifnonnull 19
18: new javax.security.sasl.SaslException
dup
ldc "Domain must be provided as the serverName argument or in props"
invokespecial javax.security.sasl.SaslException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 0
new com.sun.security.sasl.ntlm.NTLMServer$1
dup
aload 0
aload 6
aload 7
aload 5
invokespecial com.sun.security.sasl.ntlm.NTLMServer$1.<init>:(Lcom/sun/security/sasl/ntlm/NTLMServer;Ljava/lang/String;Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;)V
putfield com.sun.security.sasl.ntlm.NTLMServer.server:Lcom/sun/security/ntlm/Server;
20: goto 25
StackMap locals:
StackMap stack: com.sun.security.ntlm.NTLMException
21: astore 9
start local 9 22: new javax.security.sasl.SaslException
dup
23: ldc "NTLM: server creation failure"
aload 9
24: invokespecial javax.security.sasl.SaslException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 25: StackMap locals:
StackMap stack:
aload 0
bipush 8
newarray 8
putfield com.sun.security.sasl.ntlm.NTLMServer.nonce:[B
26: 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 27 0 this Lcom/sun/security/sasl/ntlm/NTLMServer;
0 27 1 mech Ljava/lang/String;
0 27 2 protocol Ljava/lang/String;
0 27 3 serverName Ljava/lang/String;
0 27 4 props Ljava/util/Map<Ljava/lang/String;*>;
0 27 5 cbh Ljavax/security/auth/callback/CallbackHandler;
4 27 6 version Ljava/lang/String;
5 27 7 domain Ljava/lang/String;
6 27 8 rtmp Ljava/util/Random;
22 25 9 ne Lcom/sun/security/ntlm/NTLMException;
Exception table:
from to target type
19 20 21 Class com.sun.security.ntlm.NTLMException
Exceptions:
throws javax.security.sasl.SaslException
Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Ljavax/security/auth/callback/CallbackHandler;)V
MethodParameters:
Name Flags
mech
protocol
serverName
props
cbh final
public java.lang.String getMechanismName();
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.sasl.ntlm.NTLMServer.mech:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/security/sasl/ntlm/NTLMServer;
public byte[] evaluateResponse(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield com.sun.security.sasl.ntlm.NTLMServer.step:I
iconst_1
iadd
putfield com.sun.security.sasl.ntlm.NTLMServer.step:I
1: aload 0
getfield com.sun.security.sasl.ntlm.NTLMServer.step:I
iconst_1
if_icmpne 5
2: aload 0
getfield com.sun.security.sasl.ntlm.NTLMServer.random:Ljava/util/Random;
aload 0
getfield com.sun.security.sasl.ntlm.NTLMServer.nonce:[B
invokevirtual java.util.Random.nextBytes:([B)V
3: aload 0
getfield com.sun.security.sasl.ntlm.NTLMServer.server:Lcom/sun/security/ntlm/Server;
aload 1
aload 0
getfield com.sun.security.sasl.ntlm.NTLMServer.nonce:[B
invokevirtual com.sun.security.ntlm.Server.type2:([B[B)[B
4: areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.ntlm.NTLMServer.server:Lcom/sun/security/ntlm/Server;
aload 1
aload 0
getfield com.sun.security.sasl.ntlm.NTLMServer.nonce:[B
invokevirtual com.sun.security.ntlm.Server.verify:([B[B)[Ljava/lang/String;
astore 2
start local 2 6: aload 0
aload 2
iconst_0
aaload
putfield com.sun.security.sasl.ntlm.NTLMServer.authzId:Ljava/lang/String;
7: aload 0
aload 2
iconst_1
aaload
putfield com.sun.security.sasl.ntlm.NTLMServer.hostname:Ljava/lang/String;
8: aload 0
aload 2
iconst_2
aaload
putfield com.sun.security.sasl.ntlm.NTLMServer.target:Ljava/lang/String;
9: aconst_null
areturn
end local 2 10: StackMap locals:
StackMap stack: com.sun.security.ntlm.NTLMException
astore 2
start local 2 11: new javax.security.sasl.SaslException
dup
ldc "NTLM: generate response failure"
aload 2
invokespecial javax.security.sasl.SaslException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/security/sasl/ntlm/NTLMServer;
0 12 1 response [B
6 10 2 out [Ljava/lang/String;
11 12 2 ex Lcom/sun/security/ntlm/NTLMException;
Exception table:
from to target type
0 4 10 Class com.sun.security.ntlm.NTLMException
5 9 10 Class com.sun.security.ntlm.NTLMException
Exceptions:
throws javax.security.sasl.SaslException
MethodParameters:
Name Flags
response
public boolean isComplete();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.security.sasl.ntlm.NTLMServer.step:I
iconst_2
if_icmplt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/security/sasl/ntlm/NTLMServer;
public java.lang.String getAuthorizationID();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.security.sasl.ntlm.NTLMServer.isComplete:()Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "authentication not complete"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.ntlm.NTLMServer.authzId:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/security/sasl/ntlm/NTLMServer;
public byte[] unwrap(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.IllegalStateException
dup
ldc "Not supported yet."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/security/sasl/ntlm/NTLMServer;
0 1 1 incoming [B
0 1 2 offset I
0 1 3 len I
Exceptions:
throws javax.security.sasl.SaslException
MethodParameters:
Name Flags
incoming
offset
len
public byte[] wrap(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.IllegalStateException
dup
ldc "Not supported yet."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/security/sasl/ntlm/NTLMServer;
0 1 1 outgoing [B
0 1 2 offset I
0 1 3 len I
Exceptions:
throws javax.security.sasl.SaslException
MethodParameters:
Name Flags
outgoing
offset
len
public java.lang.Object getNegotiatedProperty(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.security.sasl.ntlm.NTLMServer.isComplete:()Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "authentication not complete"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
dup
astore 2
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
-1548608927: 3
183461877: 4
1060567122: 5
default: 9
}
StackMap locals: java.lang.String
StackMap stack:
3: aload 2
ldc "javax.security.sasl.qop"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 9
StackMap locals:
StackMap stack:
4: aload 2
ldc "javax.security.sasl.bound.server.name"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
goto 9
StackMap locals:
StackMap stack:
5: aload 2
ldc "com.sun.security.sasl.ntlm.hostname"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 9
6: StackMap locals:
StackMap stack:
ldc "auth"
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.ntlm.NTLMServer.target:Ljava/lang/String;
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.ntlm.NTLMServer.hostname:Ljava/lang/String;
areturn
9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/security/sasl/ntlm/NTLMServer;
0 10 1 propName Ljava/lang/String;
MethodParameters:
Name Flags
propName
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/security/sasl/ntlm/NTLMServer;
Exceptions:
throws javax.security.sasl.SaslException
}
SourceFile: "NTLMServer.java"
NestMembers:
com.sun.security.sasl.ntlm.NTLMServer$1
InnerClasses:
com.sun.security.sasl.ntlm.NTLMServer$1