public class sun.net.www.protocol.http.spnego.NegotiateCallbackHandler implements javax.security.auth.callback.CallbackHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.net.www.protocol.http.spnego.NegotiateCallbackHandler
super_class: java.lang.Object
{
private java.lang.String username;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private char[] password;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private boolean answered;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final sun.net.www.protocol.http.HttpCallerInfo hci;
descriptor: Lsun/net/www/protocol/http/HttpCallerInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(sun.net.www.protocol.http.HttpCallerInfo);
descriptor: (Lsun/net/www/protocol/http/HttpCallerInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.net.www.protocol.http.spnego.NegotiateCallbackHandler this
start local 1 // sun.net.www.protocol.http.HttpCallerInfo hci
0: .line 58
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 59
aload 0 /* this */
aload 1 /* hci */
putfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
2: .line 60
return
end local 1 // sun.net.www.protocol.http.HttpCallerInfo hci
end local 0 // sun.net.www.protocol.http.spnego.NegotiateCallbackHandler this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/net/www/protocol/http/spnego/NegotiateCallbackHandler;
0 3 1 hci Lsun/net/www/protocol/http/HttpCallerInfo;
MethodParameters:
Name Flags
hci
private void getAnswer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=3, args_size=1
start local 0 // sun.net.www.protocol.http.spnego.NegotiateCallbackHandler this
0: .line 63
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.answered:Z
ifne 18
1: .line 64
aload 0 /* this */
iconst_1
putfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.answered:Z
2: .line 66
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.authenticator:Ljava/net/Authenticator;
ifnull 5
3: .line 67
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.authenticator:Ljava/net/Authenticator;
astore 1 /* auth */
start local 1 // java.net.Authenticator auth
4: .line 68
goto 9
end local 1 // java.net.Authenticator auth
5: .line 69
StackMap locals:
StackMap stack:
getstatic sun.security.jgss.LoginConfigImpl.HTTP_USE_GLOBAL_CREDS:Z
ifeq 7
6: .line 70
invokestatic java.net.Authenticator.getDefault:()Ljava/net/Authenticator;
goto 8
StackMap locals:
StackMap stack:
7: aconst_null
8: .line 69
StackMap locals:
StackMap stack: java.net.Authenticator
astore 1 /* auth */
start local 1 // java.net.Authenticator auth
9: .line 73
StackMap locals: java.net.Authenticator
StackMap stack:
aload 1 /* auth */
ifnull 18
10: .line 75
aload 1 /* auth */
11: .line 76
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.host:Ljava/lang/String;
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.addr:Ljava/net/InetAddress;
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.port:I
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.protocol:Ljava/lang/String;
12: .line 77
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.prompt:Ljava/lang/String;
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.scheme:Ljava/lang/String;
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.url:Ljava/net/URL;
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.authType:Ljava/net/Authenticator$RequestorType;
13: .line 75
invokevirtual java.net.Authenticator.requestPasswordAuthenticationInstance:(Ljava/lang/String;Ljava/net/InetAddress;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;Ljava/net/Authenticator$RequestorType;)Ljava/net/PasswordAuthentication;
14: .line 74
astore 2 /* passAuth */
start local 2 // java.net.PasswordAuthentication passAuth
15: .line 83
aload 2 /* passAuth */
ifnull 18
16: .line 84
aload 0 /* this */
aload 2 /* passAuth */
invokevirtual java.net.PasswordAuthentication.getUserName:()Ljava/lang/String;
putfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.username:Ljava/lang/String;
17: .line 85
aload 0 /* this */
aload 2 /* passAuth */
invokevirtual java.net.PasswordAuthentication.getPassword:()[C
putfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.password:[C
end local 2 // java.net.PasswordAuthentication passAuth
end local 1 // java.net.Authenticator auth
18: .line 89
StackMap locals:
StackMap stack:
return
end local 0 // sun.net.www.protocol.http.spnego.NegotiateCallbackHandler this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/net/www/protocol/http/spnego/NegotiateCallbackHandler;
4 5 1 auth Ljava/net/Authenticator;
9 18 1 auth Ljava/net/Authenticator;
15 18 2 passAuth Ljava/net/PasswordAuthentication;
public void handle(javax.security.auth.callback.Callback[]);
descriptor: ([Ljavax/security/auth/callback/Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 // sun.net.www.protocol.http.spnego.NegotiateCallbackHandler this
start local 1 // javax.security.auth.callback.Callback[] callbacks
0: .line 93
iconst_0
istore 2 /* i */
start local 2 // int i
1: goto 16
2: .line 94
StackMap locals: int
StackMap stack:
aload 1 /* callbacks */
iload 2 /* i */
aaload
astore 3 /* callBack */
start local 3 // javax.security.auth.callback.Callback callBack
3: .line 96
aload 3 /* callBack */
instanceof javax.security.auth.callback.NameCallback
ifeq 7
4: .line 97
aload 0 /* this */
invokevirtual sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.getAnswer:()V
5: .line 98
aload 3 /* callBack */
checkcast javax.security.auth.callback.NameCallback
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.username:Ljava/lang/String;
invokevirtual javax.security.auth.callback.NameCallback.setName:(Ljava/lang/String;)V
6: .line 99
goto 15
StackMap locals: javax.security.auth.callback.Callback
StackMap stack:
7: aload 3 /* callBack */
instanceof javax.security.auth.callback.PasswordCallback
ifeq 12
8: .line 100
aload 0 /* this */
invokevirtual sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.getAnswer:()V
9: .line 101
aload 3 /* callBack */
checkcast javax.security.auth.callback.PasswordCallback
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.password:[C
invokevirtual javax.security.auth.callback.PasswordCallback.setPassword:([C)V
10: .line 102
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.password:[C
ifnull 15
aload 0 /* this */
getfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.password:[C
bipush 32
invokestatic java.util.Arrays.fill:([CC)V
11: .line 103
goto 15
12: .line 104
StackMap locals:
StackMap stack:
new javax.security.auth.callback.UnsupportedCallbackException
dup
aload 3 /* callBack */
13: .line 105
ldc "Call back not supported"
14: .line 104
invokespecial javax.security.auth.callback.UnsupportedCallbackException.<init>:(Ljavax/security/auth/callback/Callback;Ljava/lang/String;)V
athrow
end local 3 // javax.security.auth.callback.Callback callBack
15: .line 93
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
16: iload 2 /* i */
aload 1 /* callbacks */
arraylength
if_icmplt 2
end local 2 // int i
17: .line 108
return
end local 1 // javax.security.auth.callback.Callback[] callbacks
end local 0 // sun.net.www.protocol.http.spnego.NegotiateCallbackHandler this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/net/www/protocol/http/spnego/NegotiateCallbackHandler;
0 18 1 callbacks [Ljavax/security/auth/callback/Callback;
1 17 2 i I
3 15 3 callBack Ljavax/security/auth/callback/Callback;
Exceptions:
throws javax.security.auth.callback.UnsupportedCallbackException, java.io.IOException
MethodParameters:
Name Flags
callbacks
}
SourceFile: "NegotiateCallbackHandler.java"
InnerClasses:
public final RequestorType = java.net.Authenticator$RequestorType of java.net.Authenticator