public class sun.net.www.protocol.http.ntlm.NTLMAuthentication extends sun.net.www.protocol.http.AuthenticationInfo
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.net.www.protocol.http.ntlm.NTLMAuthentication
super_class: sun.net.www.protocol.http.AuthenticationInfo
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 170
private static final sun.net.www.protocol.http.ntlm.NTLMAuthenticationCallback NTLMAuthCallback;
descriptor: Lsun/net/www/protocol/http/ntlm/NTLMAuthenticationCallback;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.lang.String hostname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private static java.lang.String defaultDomain;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final boolean ntlmCache;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
java.net.PasswordAuthentication pw;
descriptor: Ljava/net/PasswordAuthentication;
flags: (0x0000)
com.sun.security.ntlm.Client client;
descriptor: Lcom/sun/security/ntlm/Client;
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: invokestatic sun.net.www.protocol.http.ntlm.NTLMAuthenticationCallback.getNTLMAuthenticationCallback:()Lsun/net/www/protocol/http/ntlm/NTLMAuthenticationCallback;
1: putstatic sun.net.www.protocol.http.ntlm.NTLMAuthentication.NTLMAuthCallback:Lsun/net/www/protocol/http/ntlm/NTLMAuthenticationCallback;
2: new sun.security.action.GetPropertyAction
dup
ldc "http.auth.ntlm.domain"
ldc ""
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;Ljava/lang/String;)V
3: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
putstatic sun.net.www.protocol.http.ntlm.NTLMAuthentication.defaultDomain:Ljava/lang/String;
4: new sun.security.action.GetPropertyAction
dup
ldc "jdk.ntlm.cache"
ldc "true"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;Ljava/lang/String;)V
5: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 0
start local 0 6: aload 0
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
putstatic sun.net.www.protocol.http.ntlm.NTLMAuthentication.ntlmCache:Z
end local 0 7: return
LocalVariableTable:
Start End Slot Name Signature
6 7 0 ntlmCacheProp Ljava/lang/String;
public static boolean supportsTransparentAuth();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static boolean isTrustedSite(java.net.URL);
descriptor: (Ljava/net/URL;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.net.www.protocol.http.ntlm.NTLMAuthentication.NTLMAuthCallback:Lsun/net/www/protocol/http/ntlm/NTLMAuthenticationCallback;
ifnull 2
1: getstatic sun.net.www.protocol.http.ntlm.NTLMAuthentication.NTLMAuthCallback:Lsun/net/www/protocol/http/ntlm/NTLMAuthenticationCallback;
aload 0
invokevirtual sun.net.www.protocol.http.ntlm.NTLMAuthenticationCallback.isTrustedSite:(Ljava/net/URL;)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 url Ljava/net/URL;
MethodParameters:
Name Flags
url
private void init0();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
1: new sun.net.www.protocol.http.ntlm.NTLMAuthentication$1
dup
aload 0
invokespecial sun.net.www.protocol.http.ntlm.NTLMAuthentication$1.<init>:(Lsun/net/www/protocol/http/ntlm/NTLMAuthentication;)V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
putfield sun.net.www.protocol.http.ntlm.NTLMAuthentication.hostname:Ljava/lang/String;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/net/www/protocol/http/ntlm/NTLMAuthentication;
public void <init>(boolean, java.net.URL, java.net.PasswordAuthentication);
descriptor: (ZLjava/net/URL;Ljava/net/PasswordAuthentication;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 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.net.PasswordAuthentication
StackMap stack: uninitialized-this int
getstatic sun.net.www.protocol.http.AuthScheme.NTLM:Lsun/net/www/protocol/http/AuthScheme;
3: aload 2
4: ldc ""
invokespecial sun.net.www.protocol.http.AuthenticationInfo.<init>:(CLsun/net/www/protocol/http/AuthScheme;Ljava/net/URL;Ljava/lang/String;)V
5: aload 0
aload 3
invokevirtual sun.net.www.protocol.http.ntlm.NTLMAuthentication.init:(Ljava/net/PasswordAuthentication;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/net/www/protocol/http/ntlm/NTLMAuthentication;
0 7 1 isProxy Z
0 7 2 url Ljava/net/URL;
0 7 3 pw Ljava/net/PasswordAuthentication;
MethodParameters:
Name Flags
isProxy
url
pw
private void init(java.net.PasswordAuthentication);
descriptor: (Ljava/net/PasswordAuthentication;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.net.www.protocol.http.ntlm.NTLMAuthentication.pw:Ljava/net/PasswordAuthentication;
1: aload 1
invokevirtual java.net.PasswordAuthentication.getUserName:()Ljava/lang/String;
astore 5
start local 5 2: aload 5
bipush 92
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 3: iload 6
iconst_m1
if_icmpne 7
4: aload 5
astore 2
start local 2 5: getstatic sun.net.www.protocol.http.ntlm.NTLMAuthentication.defaultDomain:Ljava/lang/String;
astore 3
start local 3 6: goto 9
end local 3 end local 2 7: StackMap locals: sun.net.www.protocol.http.ntlm.NTLMAuthentication java.net.PasswordAuthentication top top top java.lang.String int
StackMap stack:
aload 5
iconst_0
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
astore 3
start local 3 8: aload 5
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
start local 2 9: StackMap locals: sun.net.www.protocol.http.ntlm.NTLMAuthentication java.net.PasswordAuthentication java.lang.String java.lang.String top java.lang.String int
StackMap stack:
aload 1
invokevirtual java.net.PasswordAuthentication.getPassword:()[C
astore 4
start local 4 10: aload 0
invokevirtual sun.net.www.protocol.http.ntlm.NTLMAuthentication.init0:()V
11: aload 0
new com.sun.security.ntlm.Client
dup
ldc "ntlm.version"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
aload 0
getfield sun.net.www.protocol.http.ntlm.NTLMAuthentication.hostname:Ljava/lang/String;
12: aload 2
aload 3
aload 4
invokespecial com.sun.security.ntlm.Client.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[C)V
13: putfield sun.net.www.protocol.http.ntlm.NTLMAuthentication.client:Lcom/sun/security/ntlm/Client;
14: goto 20
StackMap locals: sun.net.www.protocol.http.ntlm.NTLMAuthentication java.net.PasswordAuthentication java.lang.String java.lang.String char[] java.lang.String int
StackMap stack: com.sun.security.ntlm.NTLMException
15: pop
16: aload 0
new com.sun.security.ntlm.Client
dup
aconst_null
aload 0
getfield sun.net.www.protocol.http.ntlm.NTLMAuthentication.hostname:Ljava/lang/String;
aload 2
aload 3
aload 4
invokespecial com.sun.security.ntlm.Client.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[C)V
putfield sun.net.www.protocol.http.ntlm.NTLMAuthentication.client:Lcom/sun/security/ntlm/Client;
17: goto 20
StackMap locals:
StackMap stack: com.sun.security.ntlm.NTLMException
18: pop
19: new java.lang.AssertionError
dup
ldc "Really?"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
20: StackMap locals:
StackMap stack:
return
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 21 0 this Lsun/net/www/protocol/http/ntlm/NTLMAuthentication;
0 21 1 pw Ljava/net/PasswordAuthentication;
5 7 2 username Ljava/lang/String;
9 21 2 username Ljava/lang/String;
6 7 3 ntdomain Ljava/lang/String;
8 21 3 ntdomain Ljava/lang/String;
10 21 4 password [C
2 21 5 s Ljava/lang/String;
3 21 6 i I
Exception table:
from to target type
11 14 15 Class com.sun.security.ntlm.NTLMException
16 17 18 Class com.sun.security.ntlm.NTLMException
MethodParameters:
Name Flags
pw
public void <init>(boolean, java.lang.String, int, java.net.PasswordAuthentication);
descriptor: (ZLjava/lang/String;ILjava/net/PasswordAuthentication;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 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.net.PasswordAuthentication
StackMap stack: uninitialized-this int
getstatic sun.net.www.protocol.http.AuthScheme.NTLM:Lsun/net/www/protocol/http/AuthScheme;
3: aload 2
4: iload 3
5: ldc ""
invokespecial sun.net.www.protocol.http.AuthenticationInfo.<init>:(CLsun/net/www/protocol/http/AuthScheme;Ljava/lang/String;ILjava/lang/String;)V
6: aload 0
aload 4
invokevirtual sun.net.www.protocol.http.ntlm.NTLMAuthentication.init:(Ljava/net/PasswordAuthentication;)V
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/net/www/protocol/http/ntlm/NTLMAuthentication;
0 8 1 isProxy Z
0 8 2 host Ljava/lang/String;
0 8 3 port I
0 8 4 pw Ljava/net/PasswordAuthentication;
MethodParameters:
Name Flags
isProxy
host
port
pw
protected boolean useAuthCache();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic sun.net.www.protocol.http.ntlm.NTLMAuthentication.ntlmCache:Z
ifeq 1
aload 0
invokespecial sun.net.www.protocol.http.AuthenticationInfo.useAuthCache:()Z
ifeq 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 Lsun/net/www/protocol/http/ntlm/NTLMAuthentication;
public boolean supportsPreemptiveAuthorization();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/protocol/http/ntlm/NTLMAuthentication;
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: new java.lang.RuntimeException
dup
ldc "getHeaderValue not supported"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/protocol/http/ntlm/NTLMAuthentication;
0 1 1 url Ljava/net/URL;
0 1 2 method Ljava/lang/String;
MethodParameters:
Name Flags
url
method
public boolean isAuthorizationStale(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/protocol/http/ntlm/NTLMAuthentication;
0 1 1 header Ljava/lang/String;
MethodParameters:
Name Flags
header
public synchronized 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: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual java.lang.String.length:()I
bipush 6
if_icmpge 3
1: aload 0
invokevirtual sun.net.www.protocol.http.ntlm.NTLMAuthentication.buildType1Msg:()Ljava/lang/String;
astore 4
start local 4 2: goto 5
end local 4 3: StackMap locals:
StackMap stack:
aload 3
iconst_5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 5
start local 5 4: aload 0
aload 5
invokevirtual sun.net.www.protocol.http.ntlm.NTLMAuthentication.buildType3Msg:(Ljava/lang/String;)Ljava/lang/String;
astore 4
end local 5 start local 4 5: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 0
invokevirtual sun.net.www.protocol.http.ntlm.NTLMAuthentication.getHeaderName:()Ljava/lang/String;
aload 4
invokevirtual sun.net.www.protocol.http.HttpURLConnection.setAuthenticationProperty:(Ljava/lang/String;Ljava/lang/String;)V
6: iconst_1
ireturn
end local 4 7: StackMap locals: sun.net.www.protocol.http.ntlm.NTLMAuthentication sun.net.www.protocol.http.HttpURLConnection sun.net.www.HeaderParser java.lang.String
StackMap stack: java.io.IOException
pop
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
pop
10: iconst_0
ireturn
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/ntlm/NTLMAuthentication;
0 11 1 conn Lsun/net/www/protocol/http/HttpURLConnection;
0 11 2 p Lsun/net/www/HeaderParser;
0 11 3 raw Ljava/lang/String;
2 3 4 response Ljava/lang/String;
5 7 4 response Ljava/lang/String;
4 5 5 msg Ljava/lang/String;
Exception table:
from to target type
0 6 7 Class java.io.IOException
0 6 9 Class java.security.GeneralSecurityException
MethodParameters:
Name Flags
conn
p
raw
private java.lang.String buildType1Msg();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.net.www.protocol.http.ntlm.NTLMAuthentication.client:Lcom/sun/security/ntlm/Client;
invokevirtual com.sun.security.ntlm.Client.type1:()[B
astore 1
start local 1 1: new java.lang.StringBuilder
dup
ldc "NTLM "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new sun.net.www.protocol.http.ntlm.B64Encoder
dup
invokespecial sun.net.www.protocol.http.ntlm.B64Encoder.<init>:()V
aload 1
invokevirtual sun.net.www.protocol.http.ntlm.B64Encoder.encode:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/net/www/protocol/http/ntlm/NTLMAuthentication;
1 3 1 msg [B
2 3 2 result Ljava/lang/String;
private java.lang.String buildType3Msg(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: new sun.misc.BASE64Decoder
dup
invokespecial sun.misc.BASE64Decoder.<init>:()V
aload 1
invokevirtual sun.misc.BASE64Decoder.decodeBuffer:(Ljava/lang/String;)[B
astore 2
start local 2 1: bipush 8
newarray 8
astore 3
start local 3 2: new java.util.Random
dup
invokespecial java.util.Random.<init>:()V
aload 3
invokevirtual java.util.Random.nextBytes:([B)V
3: aload 0
getfield sun.net.www.protocol.http.ntlm.NTLMAuthentication.client:Lcom/sun/security/ntlm/Client;
aload 2
aload 3
invokevirtual com.sun.security.ntlm.Client.type3:([B[B)[B
astore 4
start local 4 4: new java.lang.StringBuilder
dup
ldc "NTLM "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new sun.net.www.protocol.http.ntlm.B64Encoder
dup
invokespecial sun.net.www.protocol.http.ntlm.B64Encoder.<init>:()V
aload 4
invokevirtual sun.net.www.protocol.http.ntlm.B64Encoder.encode:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 5: aload 5
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 6 0 this Lsun/net/www/protocol/http/ntlm/NTLMAuthentication;
0 6 1 challenge Ljava/lang/String;
1 6 2 type2 [B
2 6 3 nonce [B
4 6 4 msg [B
5 6 5 result Ljava/lang/String;
Exceptions:
throws java.security.GeneralSecurityException, java.io.IOException
MethodParameters:
Name Flags
challenge
}
SourceFile: "NTLMAuthentication.java"
NestMembers:
sun.net.www.protocol.http.ntlm.NTLMAuthentication$1
InnerClasses:
sun.net.www.protocol.http.ntlm.NTLMAuthentication$1