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=8, locals=2, 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 10
1: .line 64
aload 0 /* this */
iconst_1
putfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.answered:Z
2: .line 66
getstatic sun.security.jgss.LoginConfigImpl.HTTP_USE_GLOBAL_CREDS:Z
ifeq 10
3: .line 69
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;
4: .line 70
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;
5: .line 68
invokestatic java.net.Authenticator.requestPasswordAuthentication:(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;
6: .line 67
astore 1 /* passAuth */
start local 1 // java.net.PasswordAuthentication passAuth
7: .line 76
aload 1 /* passAuth */
ifnull 10
8: .line 77
aload 0 /* this */
aload 1 /* passAuth */
invokevirtual java.net.PasswordAuthentication.getUserName:()Ljava/lang/String;
putfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.username:Ljava/lang/String;
9: .line 78
aload 0 /* this */
aload 1 /* passAuth */
invokevirtual java.net.PasswordAuthentication.getPassword:()[C
putfield sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.password:[C
end local 1 // java.net.PasswordAuthentication passAuth
10: .line 82
StackMap locals:
StackMap stack:
return
end local 0 // sun.net.www.protocol.http.spnego.NegotiateCallbackHandler this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/net/www/protocol/http/spnego/NegotiateCallbackHandler;
7 10 1 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 86
iconst_0
istore 2 /* i */
start local 2 // int i
1: goto 16
2: .line 87
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 89
aload 3 /* callBack */
instanceof javax.security.auth.callback.NameCallback
ifeq 7
4: .line 90
aload 0 /* this */
invokevirtual sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.getAnswer:()V
5: .line 91
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 92
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 93
aload 0 /* this */
invokevirtual sun.net.www.protocol.http.spnego.NegotiateCallbackHandler.getAnswer:()V
9: .line 94
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 95
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 96
goto 15
12: .line 97
StackMap locals:
StackMap stack:
new javax.security.auth.callback.UnsupportedCallbackException
dup
aload 3 /* callBack */
13: .line 98
ldc "Call back not supported"
14: .line 97
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 86
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 101
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