public class sun.net.www.protocol.http.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.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 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.NegotiateCallbackHandler this
start local 1 // sun.net.www.protocol.http.HttpCallerInfo hci
0: .line 48
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 49
aload 0 /* this */
aload 1 /* hci */
putfield sun.net.www.protocol.http.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
2: .line 50
return
end local 1 // sun.net.www.protocol.http.HttpCallerInfo hci
end local 0 // sun.net.www.protocol.http.NegotiateCallbackHandler this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/net/www/protocol/http/NegotiateCallbackHandler;
0 3 1 hci Lsun/net/www/protocol/http/HttpCallerInfo;
MethodParameters:
Name Flags
hci
public void handle(javax.security.auth.callback.Callback[]);
descriptor: ([Ljavax/security/auth/callback/Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=2
start local 0 // sun.net.www.protocol.http.NegotiateCallbackHandler this
start local 1 // javax.security.auth.callback.Callback[] callbacks
0: .line 54
iconst_0
istore 2 /* i */
start local 2 // int i
1: goto 32
2: .line 55
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 57
aload 3 /* callBack */
instanceof javax.security.auth.callback.NameCallback
ifeq 15
4: .line 58
aload 0 /* this */
getfield sun.net.www.protocol.http.NegotiateCallbackHandler.username:Ljava/lang/String;
ifnonnull 11
5: .line 61
aload 0 /* this */
getfield sun.net.www.protocol.http.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.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.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.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.protocol:Ljava/lang/String;
6: .line 62
aload 0 /* this */
getfield sun.net.www.protocol.http.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.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.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.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.authType:Ljava/net/Authenticator$RequestorType;
7: .line 60
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;
8: .line 59
astore 4 /* passAuth */
start local 4 // java.net.PasswordAuthentication passAuth
9: .line 63
aload 0 /* this */
aload 4 /* passAuth */
invokevirtual java.net.PasswordAuthentication.getUserName:()Ljava/lang/String;
putfield sun.net.www.protocol.http.NegotiateCallbackHandler.username:Ljava/lang/String;
10: .line 64
aload 0 /* this */
aload 4 /* passAuth */
invokevirtual java.net.PasswordAuthentication.getPassword:()[C
putfield sun.net.www.protocol.http.NegotiateCallbackHandler.password:[C
end local 4 // java.net.PasswordAuthentication passAuth
11: .line 67
StackMap locals: javax.security.auth.callback.Callback
StackMap stack:
aload 3 /* callBack */
checkcast javax.security.auth.callback.NameCallback
12: .line 66
astore 4 /* nameCallback */
start local 4 // javax.security.auth.callback.NameCallback nameCallback
13: .line 68
aload 4 /* nameCallback */
aload 0 /* this */
getfield sun.net.www.protocol.http.NegotiateCallbackHandler.username:Ljava/lang/String;
invokevirtual javax.security.auth.callback.NameCallback.setName:(Ljava/lang/String;)V
end local 4 // javax.security.auth.callback.NameCallback nameCallback
14: .line 70
goto 31
StackMap locals:
StackMap stack:
15: aload 3 /* callBack */
instanceof javax.security.auth.callback.PasswordCallback
ifeq 28
16: .line 72
aload 3 /* callBack */
checkcast javax.security.auth.callback.PasswordCallback
17: .line 71
astore 4 /* passwordCallback */
start local 4 // javax.security.auth.callback.PasswordCallback passwordCallback
18: .line 73
aload 0 /* this */
getfield sun.net.www.protocol.http.NegotiateCallbackHandler.password:[C
ifnonnull 25
19: .line 76
aload 0 /* this */
getfield sun.net.www.protocol.http.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.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.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.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.protocol:Ljava/lang/String;
20: .line 77
aload 0 /* this */
getfield sun.net.www.protocol.http.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.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.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.NegotiateCallbackHandler.hci:Lsun/net/www/protocol/http/HttpCallerInfo;
getfield sun.net.www.protocol.http.HttpCallerInfo.authType:Ljava/net/Authenticator$RequestorType;
21: .line 75
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;
22: .line 74
astore 5 /* passAuth */
start local 5 // java.net.PasswordAuthentication passAuth
23: .line 78
aload 0 /* this */
aload 5 /* passAuth */
invokevirtual java.net.PasswordAuthentication.getUserName:()Ljava/lang/String;
putfield sun.net.www.protocol.http.NegotiateCallbackHandler.username:Ljava/lang/String;
24: .line 79
aload 0 /* this */
aload 5 /* passAuth */
invokevirtual java.net.PasswordAuthentication.getPassword:()[C
putfield sun.net.www.protocol.http.NegotiateCallbackHandler.password:[C
end local 5 // java.net.PasswordAuthentication passAuth
25: .line 81
StackMap locals: javax.security.auth.callback.PasswordCallback
StackMap stack:
aload 4 /* passwordCallback */
aload 0 /* this */
getfield sun.net.www.protocol.http.NegotiateCallbackHandler.password:[C
invokevirtual javax.security.auth.callback.PasswordCallback.setPassword:([C)V
26: .line 82
aload 0 /* this */
getfield sun.net.www.protocol.http.NegotiateCallbackHandler.password:[C
bipush 32
invokestatic java.util.Arrays.fill:([CC)V
end local 4 // javax.security.auth.callback.PasswordCallback passwordCallback
27: .line 83
goto 31
28: .line 84
StackMap locals:
StackMap stack:
new javax.security.auth.callback.UnsupportedCallbackException
dup
aload 3 /* callBack */
29: .line 85
ldc "Call back not supported"
30: .line 84
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
31: .line 54
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
32: iload 2 /* i */
aload 1 /* callbacks */
arraylength
if_icmplt 2
end local 2 // int i
33: .line 88
return
end local 1 // javax.security.auth.callback.Callback[] callbacks
end local 0 // sun.net.www.protocol.http.NegotiateCallbackHandler this
LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/net/www/protocol/http/NegotiateCallbackHandler;
0 34 1 callbacks [Ljavax/security/auth/callback/Callback;
1 33 2 i I
3 31 3 callBack Ljavax/security/auth/callback/Callback;
9 11 4 passAuth Ljava/net/PasswordAuthentication;
13 14 4 nameCallback Ljavax/security/auth/callback/NameCallback;
18 27 4 passwordCallback Ljavax/security/auth/callback/PasswordCallback;
23 25 5 passAuth Ljava/net/PasswordAuthentication;
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