class sun.net.www.protocol.http.DigestAuthentication extends sun.net.www.protocol.http.AuthenticationInfo
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.net.www.protocol.http.DigestAuthentication
super_class: sun.net.www.protocol.http.AuthenticationInfo
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 100
private java.lang.String authMethod;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.String compatPropName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "http.auth.digest.quoteParameters"
private static final boolean delimCompatFlag;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
sun.net.www.protocol.http.DigestAuthentication$Parameters params;
descriptor: Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
flags: (0x0000)
private static final char[] charArray;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] zeroPad;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: ldc Lsun/net/www/protocol/http/DigestAuthentication;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.net.www.protocol.http.DigestAuthentication.$assertionsDisabled:Z
3: new sun.net.www.protocol.http.DigestAuthentication$1
dup
invokespecial sun.net.www.protocol.http.DigestAuthentication$1.<init>:()V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 0
start local 0 5: aload 0
ifnonnull 6
iconst_0
goto 7
StackMap locals: java.lang.Boolean
StackMap stack:
6: aload 0
invokevirtual java.lang.Boolean.booleanValue:()Z
StackMap locals:
StackMap stack: int
7: putstatic sun.net.www.protocol.http.DigestAuthentication.delimCompatFlag:Z
end local 0 8: bipush 16
newarray 5
dup
iconst_0
9: bipush 48
castore
dup
iconst_1
bipush 49
castore
dup
iconst_2
bipush 50
castore
dup
iconst_3
bipush 51
castore
dup
iconst_4
bipush 52
castore
dup
iconst_5
bipush 53
castore
dup
bipush 6
bipush 54
castore
dup
bipush 7
bipush 55
castore
dup
bipush 8
10: bipush 56
castore
dup
bipush 9
bipush 57
castore
dup
bipush 10
bipush 97
castore
dup
bipush 11
bipush 98
castore
dup
bipush 12
bipush 99
castore
dup
bipush 13
bipush 100
castore
dup
bipush 14
bipush 101
castore
dup
bipush 15
bipush 102
castore
11: putstatic sun.net.www.protocol.http.DigestAuthentication.charArray:[C
12: bipush 8
anewarray java.lang.String
dup
iconst_0
13: ldc "00000000"
aastore
dup
iconst_1
ldc "0000000"
aastore
dup
iconst_2
ldc "000000"
aastore
dup
iconst_3
ldc "00000"
aastore
dup
iconst_4
ldc "0000"
aastore
dup
iconst_5
ldc "000"
aastore
dup
bipush 6
ldc "00"
aastore
dup
bipush 7
ldc "0"
aastore
14: putstatic sun.net.www.protocol.http.DigestAuthentication.zeroPad:[Ljava/lang/String;
15: return
LocalVariableTable:
Start End Slot Name Signature
5 8 0 b Ljava/lang/Boolean;
public void <init>(boolean, java.net.URL, java.lang.String, java.lang.String, java.net.PasswordAuthentication, sun.net.www.protocol.http.DigestAuthentication$Parameters, java.lang.String);
descriptor: (ZLjava/net/URL;Ljava/lang/String;Ljava/lang/String;Ljava/net/PasswordAuthentication;Lsun/net/www/protocol/http/DigestAuthentication$Parameters;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
iload 1
ifeq 1
bipush 112
goto 2
StackMap locals:
StackMap stack: uninitialized-this
1: bipush 115
2: StackMap locals: uninitialized-this int java.net.URL java.lang.String java.lang.String java.net.PasswordAuthentication sun.net.www.protocol.http.DigestAuthentication$Parameters java.lang.String
StackMap stack: uninitialized-this int
getstatic sun.net.www.protocol.http.AuthScheme.DIGEST:Lsun/net/www/protocol/http/AuthScheme;
3: aload 2
4: aload 3
5: aload 7
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokespecial sun.net.www.protocol.http.AuthenticationInfo.<init>:(CLsun/net/www/protocol/http/AuthScheme;Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;)V
6: aload 0
aload 4
putfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
7: aload 0
aload 5
putfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
8: aload 0
aload 6
putfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
9: return
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 10 0 this Lsun/net/www/protocol/http/DigestAuthentication;
0 10 1 isProxy Z
0 10 2 url Ljava/net/URL;
0 10 3 realm Ljava/lang/String;
0 10 4 authMethod Ljava/lang/String;
0 10 5 pw Ljava/net/PasswordAuthentication;
0 10 6 params Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
0 10 7 authenticatorKey Ljava/lang/String;
MethodParameters:
Name Flags
isProxy
url
realm
authMethod
pw
params
authenticatorKey
public void <init>(boolean, java.lang.String, int, java.lang.String, java.lang.String, java.net.PasswordAuthentication, sun.net.www.protocol.http.DigestAuthentication$Parameters, java.lang.String);
descriptor: (ZLjava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/net/PasswordAuthentication;Lsun/net/www/protocol/http/DigestAuthentication$Parameters;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
iload 1
ifeq 1
bipush 112
goto 2
StackMap locals:
StackMap stack: uninitialized-this
1: bipush 115
2: StackMap locals: uninitialized-this int java.lang.String int java.lang.String java.lang.String java.net.PasswordAuthentication sun.net.www.protocol.http.DigestAuthentication$Parameters java.lang.String
StackMap stack: uninitialized-this int
getstatic sun.net.www.protocol.http.AuthScheme.DIGEST:Lsun/net/www/protocol/http/AuthScheme;
3: aload 2
4: iload 3
5: aload 4
6: aload 8
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokespecial sun.net.www.protocol.http.AuthenticationInfo.<init>:(CLsun/net/www/protocol/http/AuthScheme;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
7: aload 0
aload 5
putfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
8: aload 0
aload 6
putfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
9: aload 0
aload 7
putfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
10: 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 11 0 this Lsun/net/www/protocol/http/DigestAuthentication;
0 11 1 isProxy Z
0 11 2 host Ljava/lang/String;
0 11 3 port I
0 11 4 realm Ljava/lang/String;
0 11 5 authMethod Ljava/lang/String;
0 11 6 pw Ljava/net/PasswordAuthentication;
0 11 7 params Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
0 11 8 authenticatorKey Ljava/lang/String;
MethodParameters:
Name Flags
isProxy
host
port
realm
authMethod
pw
params
authenticatorKey
public boolean supportsPreemptiveAuthorization();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/protocol/http/DigestAuthentication;
public java.lang.String (java.net.URL, java.lang.String);
descriptor: (Ljava/net/URL;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.net.URL.getFile:()Ljava/lang/String;
aload 2
invokevirtual sun.net.www.protocol.http.DigestAuthentication.getHeaderValueImpl:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/protocol/http/DigestAuthentication;
0 1 1 url Ljava/net/URL;
0 1 2 method Ljava/lang/String;
MethodParameters:
Name Flags
url
method
java.lang.String (java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual sun.net.www.protocol.http.DigestAuthentication.getHeaderValueImpl:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/protocol/http/DigestAuthentication;
0 1 1 requestURI Ljava/lang/String;
0 1 2 method Ljava/lang/String;
MethodParameters:
Name Flags
requestURI
method
public boolean isAuthorizationStale(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new sun.net.www.HeaderParser
dup
aload 1
invokespecial sun.net.www.HeaderParser.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 2
ldc "stale"
invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 2: aload 3
ifnull 3
aload 3
ldc "true"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
3: StackMap locals: sun.net.www.HeaderParser java.lang.String
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 2
ldc "nonce"
invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 5: aload 4
ifnull 6
ldc ""
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: StackMap locals: java.lang.String
StackMap stack:
iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
aload 4
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setNonce:(Ljava/lang/String;)V
8: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/net/www/protocol/http/DigestAuthentication;
0 9 1 header Ljava/lang/String;
1 9 2 p Lsun/net/www/HeaderParser;
2 9 3 s Ljava/lang/String;
5 9 4 newNonce Ljava/lang/String;
MethodParameters:
Name Flags
header
public boolean (sun.net.www.protocol.http.HttpURLConnection, sun.net.www.HeaderParser, java.lang.String);
descriptor: (Lsun/net/www/protocol/http/HttpURLConnection;Lsun/net/www/HeaderParser;Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
aload 2
ldc "nonce"
invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setNonce:(Ljava/lang/String;)V
1: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
aload 2
ldc "opaque"
invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setOpaque:(Ljava/lang/String;)V
2: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
aload 2
ldc "qop"
invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setQop:(Ljava/lang/String;)V
3: ldc ""
astore 4
start local 4 4: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.type:C
bipush 112
if_icmpne 9
5: aload 1
invokevirtual sun.net.www.protocol.http.HttpURLConnection.tunnelState:()Lsun/net/www/protocol/http/HttpURLConnection$TunnelState;
getstatic sun.net.www.protocol.http.HttpURLConnection$TunnelState.SETUP:Lsun/net/www/protocol/http/HttpURLConnection$TunnelState;
if_acmpne 9
6: aload 1
invokevirtual sun.net.www.protocol.http.HttpURLConnection.getURL:()Ljava/net/URL;
invokestatic sun.net.www.protocol.http.HttpURLConnection.connectRequestURI:(Ljava/net/URL;)Ljava/lang/String;
astore 4
7: getstatic sun.net.www.protocol.http.HttpURLConnection.HTTP_CONNECT:Ljava/lang/String;
astore 5
start local 5 8: goto 13
end local 5 9: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual sun.net.www.protocol.http.HttpURLConnection.getRequestURI:()Ljava/lang/String;
astore 4
10: goto 12
StackMap locals:
StackMap stack: java.io.IOException
11: pop
12: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.net.www.protocol.http.HttpURLConnection.getMethod:()Ljava/lang/String;
astore 5
start local 5 13: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
getfield sun.net.www.protocol.http.DigestAuthentication$Parameters.nonce:Ljava/lang/String;
ifnull 14
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
ifnull 14
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
ifnull 14
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.realm:Ljava/lang/String;
ifnonnull 15
14: StackMap locals:
StackMap stack:
iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_1
if_icmplt 19
16: aload 0
new java.lang.StringBuilder
dup
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.toUpperCase:(C)C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: putfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
19: StackMap locals:
StackMap stack:
aload 2
ldc "algorithm"
invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 20: aload 6
ifnull 21
ldc ""
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
21: StackMap locals: java.lang.String
StackMap stack:
ldc "MD5"
astore 6
22: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
aload 6
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setAlgorithm:(Ljava/lang/String;)V
23: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.authQop:()Z
ifeq 25
24: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setNewCnonce:()V
25: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 5
invokevirtual sun.net.www.protocol.http.DigestAuthentication.getHeaderValueImpl:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 26: aload 7
ifnull 29
27: aload 1
aload 0
invokevirtual sun.net.www.protocol.http.DigestAuthentication.getHeaderName:()Ljava/lang/String;
aload 7
invokevirtual sun.net.www.protocol.http.HttpURLConnection.setAuthenticationProperty:(Ljava/lang/String;Ljava/lang/String;)V
28: iconst_1
ireturn
29: StackMap locals: java.lang.String
StackMap stack:
iconst_0
ireturn
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 30 0 this Lsun/net/www/protocol/http/DigestAuthentication;
0 30 1 conn Lsun/net/www/protocol/http/HttpURLConnection;
0 30 2 p Lsun/net/www/HeaderParser;
0 30 3 raw Ljava/lang/String;
4 30 4 uri Ljava/lang/String;
8 9 5 method Ljava/lang/String;
13 30 5 method Ljava/lang/String;
20 30 6 algorithm Ljava/lang/String;
26 30 7 value Ljava/lang/String;
Exception table:
from to target type
9 10 11 Class java.io.IOException
MethodParameters:
Name Flags
conn
p
raw
private java.lang.String (java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
invokevirtual java.net.PasswordAuthentication.getPassword:()[C
astore 4
start local 4 1: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.authQop:()Z
istore 5
start local 5 2: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getOpaque:()Ljava/lang/String;
astore 6
start local 6 3: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getCnonce:()Ljava/lang/String;
astore 7
start local 7 4: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getNonce:()Ljava/lang/String;
astore 8
start local 8 5: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getAlgorithm:()Ljava/lang/String;
astore 9
start local 9 6: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.incrementNC:()V
7: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getNCCount:()I
istore 10
start local 10 8: aconst_null
astore 11
start local 11 9: iload 10
iconst_m1
if_icmpeq 14
10: iload 10
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 11
11: aload 11
invokevirtual java.lang.String.length:()I
istore 12
start local 12 12: iload 12
bipush 8
if_icmpge 14
13: new java.lang.StringBuilder
dup
getstatic sun.net.www.protocol.http.DigestAuthentication.zeroPad:[Ljava/lang/String;
iload 12
aaload
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
end local 12 14: StackMap locals: sun.net.www.protocol.http.DigestAuthentication java.lang.String java.lang.String top char[] int java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String
StackMap stack:
aload 0
iconst_1
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
invokevirtual java.net.PasswordAuthentication.getUserName:()Ljava/lang/String;
aload 4
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.realm:Ljava/lang/String;
15: aload 2
aload 1
aload 8
aload 7
aload 11
16: invokevirtual sun.net.www.protocol.http.DigestAuthentication.computeDigest:(ZLjava/lang/String;[CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 17: goto 20
end local 3 StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
18: pop
19: aconst_null
areturn
start local 3 20: StackMap locals: sun.net.www.protocol.http.DigestAuthentication java.lang.String java.lang.String java.lang.String char[] int java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String
StackMap stack:
ldc "\""
astore 12
start local 12 21: iload 5
ifeq 23
22: new java.lang.StringBuilder
dup
ldc "\", nc="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 12
23: StackMap locals: java.lang.String
StackMap stack:
getstatic sun.net.www.protocol.http.DigestAuthentication.delimCompatFlag:Z
ifeq 27
24: new java.lang.StringBuilder
dup
ldc ", algorithm=\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 13
start local 13 25: ldc ", qop=\"auth\""
astore 14
start local 14 26: goto 29
end local 14 end local 13 27: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc ", algorithm="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 13
start local 13 28: ldc ", qop=auth"
astore 14
start local 14 29: StackMap locals: java.lang.String java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
30: ldc " username=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
invokevirtual java.net.PasswordAuthentication.getUserName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
31: ldc "\", realm=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.realm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: ldc "\", nonce=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
33: aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
34: ldc ", uri=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: ldc "\", response=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
36: aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
37: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
start local 15 38: aload 6
ifnull 40
39: new java.lang.StringBuilder
dup
aload 15
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", opaque=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
40: StackMap locals: java.lang.String
StackMap stack:
aload 7
ifnull 42
41: new java.lang.StringBuilder
dup
aload 15
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", cnonce=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
42: StackMap locals:
StackMap stack:
iload 5
ifeq 44
43: new java.lang.StringBuilder
dup
aload 15
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
44: StackMap locals:
StackMap stack:
aload 15
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 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 45 0 this Lsun/net/www/protocol/http/DigestAuthentication;
0 45 1 uri Ljava/lang/String;
0 45 2 method Ljava/lang/String;
17 18 3 response Ljava/lang/String;
20 45 3 response Ljava/lang/String;
1 45 4 passwd [C
2 45 5 qop Z
3 45 6 opaque Ljava/lang/String;
4 45 7 cnonce Ljava/lang/String;
5 45 8 nonce Ljava/lang/String;
6 45 9 algorithm Ljava/lang/String;
8 45 10 nccount I
9 45 11 ncstring Ljava/lang/String;
12 14 12 len I
21 45 12 ncfield Ljava/lang/String;
25 27 13 algoS Ljava/lang/String;
28 45 13 algoS Ljava/lang/String;
26 27 14 qopS Ljava/lang/String;
29 45 14 qopS Ljava/lang/String;
38 45 15 value Ljava/lang/String;
Exception table:
from to target type
14 17 18 Class java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
uri
method
public void checkResponse(java.lang.String, java.lang.String, java.net.URL);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual java.net.URL.getFile:()Ljava/lang/String;
invokevirtual sun.net.www.protocol.http.DigestAuthentication.checkResponse:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/net/www/protocol/http/DigestAuthentication;
0 2 1 header Ljava/lang/String;
0 2 2 method Ljava/lang/String;
0 2 3 url Ljava/net/URL;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
header
method
url
public void checkResponse(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
invokevirtual java.net.PasswordAuthentication.getPassword:()[C
astore 4
start local 4 1: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
invokevirtual java.net.PasswordAuthentication.getUserName:()Ljava/lang/String;
astore 5
start local 5 2: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.authQop:()Z
pop
3: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getOpaque:()Ljava/lang/String;
pop
4: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
getfield sun.net.www.protocol.http.DigestAuthentication$Parameters.cnonce:Ljava/lang/String;
astore 6
start local 6 5: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getNonce:()Ljava/lang/String;
astore 7
start local 7 6: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getAlgorithm:()Ljava/lang/String;
pop
7: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getNCCount:()I
istore 8
start local 8 8: aconst_null
astore 9
start local 9 9: aload 1
ifnonnull 11
10: new java.net.ProtocolException
dup
ldc "No authentication information in response"
invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: sun.net.www.protocol.http.DigestAuthentication java.lang.String java.lang.String java.lang.String char[] java.lang.String java.lang.String java.lang.String int java.lang.String
StackMap stack:
iload 8
iconst_m1
if_icmpeq 16
12: iload 8
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
astore 9
13: aload 9
invokevirtual java.lang.String.length:()I
istore 10
start local 10 14: iload 10
bipush 8
if_icmpge 16
15: new java.lang.StringBuilder
dup
getstatic sun.net.www.protocol.http.DigestAuthentication.zeroPad:[Ljava/lang/String;
iload 10
aaload
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
end local 10 16: StackMap locals:
StackMap stack:
aload 0
iconst_0
aload 5
aload 4
aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.realm:Ljava/lang/String;
17: aload 2
aload 3
aload 7
aload 6
aload 9
18: invokevirtual sun.net.www.protocol.http.DigestAuthentication.computeDigest:(ZLjava/lang/String;[CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 19: new sun.net.www.HeaderParser
dup
aload 1
invokespecial sun.net.www.HeaderParser.<init>:(Ljava/lang/String;)V
astore 11
start local 11 20: aload 11
ldc "rspauth"
invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
astore 12
start local 12 21: aload 12
ifnonnull 23
22: new java.net.ProtocolException
dup
ldc "No digest in response"
invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: java.lang.String sun.net.www.HeaderParser java.lang.String
StackMap stack:
aload 12
aload 10
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 25
24: new java.net.ProtocolException
dup
ldc "Response digest invalid"
invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 11
ldc "nextnonce"
invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
astore 13
start local 13 26: aload 13
ifnull 31
ldc ""
aload 13
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 31
27: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
aload 13
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setNonce:(Ljava/lang/String;)V
end local 13 end local 12 end local 11 end local 10 28: goto 31
StackMap locals: sun.net.www.protocol.http.DigestAuthentication java.lang.String java.lang.String java.lang.String char[] java.lang.String java.lang.String java.lang.String int java.lang.String
StackMap stack: java.security.NoSuchAlgorithmException
29: pop
30: new java.net.ProtocolException
dup
ldc "Unsupported algorithm in response"
invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
return
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 32 0 this Lsun/net/www/protocol/http/DigestAuthentication;
0 32 1 header Ljava/lang/String;
0 32 2 method Ljava/lang/String;
0 32 3 uri Ljava/lang/String;
1 32 4 passwd [C
2 32 5 username Ljava/lang/String;
5 32 6 cnonce Ljava/lang/String;
6 32 7 nonce Ljava/lang/String;
8 32 8 nccount I
9 32 9 ncstring Ljava/lang/String;
14 16 10 len I
19 28 10 expected Ljava/lang/String;
20 28 11 p Lsun/net/www/HeaderParser;
21 28 12 rspauth Ljava/lang/String;
26 28 13 nextnonce Ljava/lang/String;
Exception table:
from to target type
16 28 29 Class java.security.NoSuchAlgorithmException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
header
method
uri
private java.lang.String computeDigest(boolean, java.lang.String, char[], java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
descriptor: (ZLjava/lang/String;[CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=19, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getAlgorithm:()Ljava/lang/String;
astore 12
start local 12 1: aload 12
ldc "MD5-sess"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
istore 13
start local 13 2: iload 13
ifeq 3
ldc "MD5"
goto 4
StackMap locals: sun.net.www.protocol.http.DigestAuthentication int java.lang.String char[] java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String top top java.lang.String int
StackMap stack:
3: aload 12
StackMap locals:
StackMap stack: java.lang.String
4: invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 14
start local 14 5: iload 13
ifeq 14
6: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getCachedHA1:()Ljava/lang/String;
dup
astore 11
start local 11 7: ifnonnull 16
8: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
start local 15 9: aload 0
aload 15
aload 3
aload 14
invokevirtual sun.net.www.protocol.http.DigestAuthentication.encode:(Ljava/lang/String;[CLjava/security/MessageDigest;)Ljava/lang/String;
astore 16
start local 16 10: new java.lang.StringBuilder
dup
aload 16
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
start local 10 11: aload 0
aload 10
aconst_null
aload 14
invokevirtual sun.net.www.protocol.http.DigestAuthentication.encode:(Ljava/lang/String;[CLjava/security/MessageDigest;)Ljava/lang/String;
astore 11
12: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
aload 11
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setCachedHA1:(Ljava/lang/String;)V
end local 16 end local 15 end local 10 13: goto 16
end local 11 14: StackMap locals: java.security.MessageDigest
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
start local 10 15: aload 0
aload 10
aload 3
aload 14
invokevirtual sun.net.www.protocol.http.DigestAuthentication.encode:(Ljava/lang/String;[CLjava/security/MessageDigest;)Ljava/lang/String;
astore 11
end local 10 start local 11 16: StackMap locals: sun.net.www.protocol.http.DigestAuthentication int java.lang.String char[] java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String top java.lang.String java.lang.String int java.security.MessageDigest
StackMap stack:
iload 1
ifeq 19
17: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
start local 15 18: goto 20
end local 15 19: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc ":"
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;
astore 15
start local 15 20: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 15
aconst_null
aload 14
invokevirtual sun.net.www.protocol.http.DigestAuthentication.encode:(Ljava/lang/String;[CLjava/security/MessageDigest;)Ljava/lang/String;
astore 16
start local 16 21: aload 0
getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.authQop:()Z
ifeq 26
22: new java.lang.StringBuilder
dup
aload 11
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":auth:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 17
start local 17 25: goto 30
end local 17 26: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 11
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
27: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
28: aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
29: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 17
start local 17 30: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 17
aconst_null
aload 14
invokevirtual sun.net.www.protocol.http.DigestAuthentication.encode:(Ljava/lang/String;[CLjava/security/MessageDigest;)Ljava/lang/String;
astore 18
start local 18 31: aload 18
areturn
end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 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 32 0 this Lsun/net/www/protocol/http/DigestAuthentication;
0 32 1 isRequest Z
0 32 2 userName Ljava/lang/String;
0 32 3 password [C
0 32 4 realm Ljava/lang/String;
0 32 5 connMethod Ljava/lang/String;
0 32 6 requestURI Ljava/lang/String;
0 32 7 nonceString Ljava/lang/String;
0 32 8 cnonce Ljava/lang/String;
0 32 9 ncValue Ljava/lang/String;
11 13 10 A1 Ljava/lang/String;
15 16 10 A1 Ljava/lang/String;
7 14 11 HashA1 Ljava/lang/String;
16 32 11 HashA1 Ljava/lang/String;
1 32 12 algorithm Ljava/lang/String;
2 32 13 md5sess Z
5 32 14 md Ljava/security/MessageDigest;
9 13 15 s Ljava/lang/String;
10 13 16 s1 Ljava/lang/String;
18 19 15 A2 Ljava/lang/String;
20 32 15 A2 Ljava/lang/String;
21 32 16 HashA2 Ljava/lang/String;
25 26 17 combo Ljava/lang/String;
30 32 17 combo Ljava/lang/String;
31 32 18 finalHash Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
isRequest
userName
password
realm
connMethod
requestURI
nonceString
cnonce
ncValue
private java.lang.String encode(java.lang.String, char[], java.security.MessageDigest);
descriptor: (Ljava/lang/String;[CLjava/security/MessageDigest;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 1
ldc "ISO-8859-1"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
invokevirtual java.security.MessageDigest.update:([B)V
1: goto 4
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
2: pop
3: getstatic sun.net.www.protocol.http.DigestAuthentication.$assertionsDisabled:Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 2
ifnull 13
5: aload 2
arraylength
newarray 8
astore 4
start local 4 6: iconst_0
istore 5
start local 5 7: goto 10
8: StackMap locals: byte[] int
StackMap stack:
aload 4
iload 5
aload 2
iload 5
caload
i2b
bastore
9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
aload 2
arraylength
if_icmplt 8
end local 5 11: aload 3
aload 4
invokevirtual java.security.MessageDigest.update:([B)V
12: aload 4
iconst_0
invokestatic java.util.Arrays.fill:([BB)V
end local 4 13: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.security.MessageDigest.digest:()[B
astore 4
start local 4 14: new java.lang.StringBuilder
dup
aload 4
arraylength
iconst_2
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
start local 5 15: iconst_0
istore 6
start local 6 16: goto 22
17: StackMap locals: byte[] java.lang.StringBuilder int
StackMap stack:
aload 4
iload 6
baload
iconst_4
iushr
bipush 15
iand
istore 7
start local 7 18: aload 5
getstatic sun.net.www.protocol.http.DigestAuthentication.charArray:[C
iload 7
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: aload 4
iload 6
baload
bipush 15
iand
istore 7
20: aload 5
getstatic sun.net.www.protocol.http.DigestAuthentication.charArray:[C
iload 7
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 7 21: iinc 6 1
StackMap locals:
StackMap stack:
22: iload 6
aload 4
arraylength
if_icmplt 17
end local 6 23: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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 24 0 this Lsun/net/www/protocol/http/DigestAuthentication;
0 24 1 src Ljava/lang/String;
0 24 2 passwd [C
0 24 3 md Ljava/security/MessageDigest;
6 13 4 passwdBytes [B
7 11 5 i I
14 24 4 digest [B
15 24 5 res Ljava/lang/StringBuilder;
16 23 6 i I
18 21 7 hashchar I
Exception table:
from to target type
0 1 2 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
src
passwd
md
}
SourceFile: "DigestAuthentication.java"
NestMembers:
sun.net.www.protocol.http.DigestAuthentication$1 sun.net.www.protocol.http.DigestAuthentication$Parameters
InnerClasses:
sun.net.www.protocol.http.DigestAuthentication$1
Parameters = sun.net.www.protocol.http.DigestAuthentication$Parameters of sun.net.www.protocol.http.DigestAuthentication
public final TunnelState = sun.net.www.protocol.http.HttpURLConnection$TunnelState of sun.net.www.protocol.http.HttpURLConnection