public class org.apache.http.impl.auth.NTLMScheme extends org.apache.http.impl.auth.AuthSchemeBase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.http.impl.auth.NTLMScheme
super_class: org.apache.http.impl.auth.AuthSchemeBase
{
private final org.apache.http.impl.auth.NTLMEngine engine;
descriptor: Lorg/apache/http/impl/auth/NTLMEngine;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.apache.http.impl.auth.NTLMScheme$State state;
descriptor: Lorg/apache/http/impl/auth/NTLMScheme$State;
flags: (0x0002) ACC_PRIVATE
private java.lang.String challenge;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
public void <init>(org.apache.http.impl.auth.NTLMEngine);
descriptor: (Lorg/apache/http/impl/auth/NTLMEngine;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.apache.http.impl.auth.AuthSchemeBase.<init>:()V
1: aload 1
ldc "NTLM engine"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 0
aload 1
putfield org.apache.http.impl.auth.NTLMScheme.engine:Lorg/apache/http/impl/auth/NTLMEngine;
3: aload 0
getstatic org.apache.http.impl.auth.NTLMScheme$State.UNINITIATED:Lorg/apache/http/impl/auth/NTLMScheme$State;
putfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
4: aload 0
aconst_null
putfield org.apache.http.impl.auth.NTLMScheme.challenge:Ljava/lang/String;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/http/impl/auth/NTLMScheme;
0 6 1 engine Lorg/apache/http/impl/auth/NTLMEngine;
MethodParameters:
Name Flags
engine final
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new org.apache.http.impl.auth.NTLMEngineImpl
dup
invokespecial org.apache.http.impl.auth.NTLMEngineImpl.<init>:()V
invokespecial org.apache.http.impl.auth.NTLMScheme.<init>:(Lorg/apache/http/impl/auth/NTLMEngine;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/http/impl/auth/NTLMScheme;
public java.lang.String getSchemeName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "ntlm"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/impl/auth/NTLMScheme;
public java.lang.String getParameter(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/impl/auth/NTLMScheme;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name final
public java.lang.String getRealm();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/impl/auth/NTLMScheme;
public boolean isConnectionBased();
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 Lorg/apache/http/impl/auth/NTLMScheme;
protected void parseChallenge(org.apache.http.util.CharArrayBuffer, int, int);
descriptor: (Lorg/apache/http/util/CharArrayBuffer;II)V
flags: (0x0004) ACC_PROTECTED
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
iload 2
iload 3
invokevirtual org.apache.http.util.CharArrayBuffer.substringTrimmed:(II)Ljava/lang/String;
putfield org.apache.http.impl.auth.NTLMScheme.challenge:Ljava/lang/String;
1: aload 0
getfield org.apache.http.impl.auth.NTLMScheme.challenge:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 7
2: aload 0
getfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
getstatic org.apache.http.impl.auth.NTLMScheme$State.UNINITIATED:Lorg/apache/http/impl/auth/NTLMScheme$State;
if_acmpne 5
3: aload 0
getstatic org.apache.http.impl.auth.NTLMScheme$State.CHALLENGE_RECEIVED:Lorg/apache/http/impl/auth/NTLMScheme$State;
putfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
4: goto 12
5: StackMap locals:
StackMap stack:
aload 0
getstatic org.apache.http.impl.auth.NTLMScheme$State.FAILED:Lorg/apache/http/impl/auth/NTLMScheme$State;
putfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
6: goto 12
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
getstatic org.apache.http.impl.auth.NTLMScheme$State.MSG_TYPE1_GENERATED:Lorg/apache/http/impl/auth/NTLMScheme$State;
invokevirtual org.apache.http.impl.auth.NTLMScheme$State.compareTo:(Ljava/lang/Enum;)I
ifge 10
8: aload 0
getstatic org.apache.http.impl.auth.NTLMScheme$State.FAILED:Lorg/apache/http/impl/auth/NTLMScheme$State;
putfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
9: new org.apache.http.auth.MalformedChallengeException
dup
ldc "Out of sequence NTLM response message"
invokespecial org.apache.http.auth.MalformedChallengeException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
getstatic org.apache.http.impl.auth.NTLMScheme$State.MSG_TYPE1_GENERATED:Lorg/apache/http/impl/auth/NTLMScheme$State;
if_acmpne 12
11: aload 0
getstatic org.apache.http.impl.auth.NTLMScheme$State.MSG_TYPE2_RECEVIED:Lorg/apache/http/impl/auth/NTLMScheme$State;
putfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/http/impl/auth/NTLMScheme;
0 13 1 buffer Lorg/apache/http/util/CharArrayBuffer;
0 13 2 beginIndex I
0 13 3 endIndex I
Exceptions:
throws org.apache.http.auth.MalformedChallengeException
MethodParameters:
Name Flags
buffer final
beginIndex final
endIndex final
public org.apache.http.Header (org.apache.http.auth.Credentials, org.apache.http.HttpRequest);
descriptor: (Lorg/apache/http/auth/Credentials;Lorg/apache/http/HttpRequest;)Lorg/apache/http/Header;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 1
checkcast org.apache.http.auth.NTCredentials
astore 3
2: goto 9
StackMap locals: org.apache.http.impl.auth.NTLMScheme org.apache.http.auth.Credentials org.apache.http.HttpRequest org.apache.http.auth.NTCredentials
StackMap stack: java.lang.ClassCastException
3: pop
4: new org.apache.http.auth.InvalidCredentialsException
dup
5: new java.lang.StringBuilder
dup
ldc "Credentials cannot be used for NTLM authentication: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial org.apache.http.auth.InvalidCredentialsException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 10: aload 0
getfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
getstatic org.apache.http.impl.auth.NTLMScheme$State.FAILED:Lorg/apache/http/impl/auth/NTLMScheme$State;
if_acmpne 12
11: new org.apache.http.auth.AuthenticationException
dup
ldc "NTLM authentication failed"
invokespecial org.apache.http.auth.AuthenticationException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
getstatic org.apache.http.impl.auth.NTLMScheme$State.CHALLENGE_RECEIVED:Lorg/apache/http/impl/auth/NTLMScheme$State;
if_acmpne 19
13: aload 0
getfield org.apache.http.impl.auth.NTLMScheme.engine:Lorg/apache/http/impl/auth/NTLMEngine;
14: aload 3
invokevirtual org.apache.http.auth.NTCredentials.getDomain:()Ljava/lang/String;
15: aload 3
invokevirtual org.apache.http.auth.NTCredentials.getWorkstation:()Ljava/lang/String;
16: invokeinterface org.apache.http.impl.auth.NTLMEngine.generateType1Msg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 4
17: aload 0
getstatic org.apache.http.impl.auth.NTLMScheme$State.MSG_TYPE1_GENERATED:Lorg/apache/http/impl/auth/NTLMScheme$State;
putfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
18: goto 30
StackMap locals:
StackMap stack:
19: aload 0
getfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
getstatic org.apache.http.impl.auth.NTLMScheme$State.MSG_TYPE2_RECEVIED:Lorg/apache/http/impl/auth/NTLMScheme$State;
if_acmpne 29
20: aload 0
getfield org.apache.http.impl.auth.NTLMScheme.engine:Lorg/apache/http/impl/auth/NTLMEngine;
21: aload 3
invokevirtual org.apache.http.auth.NTCredentials.getUserName:()Ljava/lang/String;
22: aload 3
invokevirtual org.apache.http.auth.NTCredentials.getPassword:()Ljava/lang/String;
23: aload 3
invokevirtual org.apache.http.auth.NTCredentials.getDomain:()Ljava/lang/String;
24: aload 3
invokevirtual org.apache.http.auth.NTCredentials.getWorkstation:()Ljava/lang/String;
25: aload 0
getfield org.apache.http.impl.auth.NTLMScheme.challenge:Ljava/lang/String;
26: invokeinterface org.apache.http.impl.auth.NTLMEngine.generateType3Msg:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 4
27: aload 0
getstatic org.apache.http.impl.auth.NTLMScheme$State.MSG_TYPE3_GENERATED:Lorg/apache/http/impl/auth/NTLMScheme$State;
putfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
28: goto 30
29: StackMap locals:
StackMap stack:
new org.apache.http.auth.AuthenticationException
dup
new java.lang.StringBuilder
dup
ldc "Unexpected state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.http.auth.AuthenticationException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
new org.apache.http.util.CharArrayBuffer
dup
bipush 32
invokespecial org.apache.http.util.CharArrayBuffer.<init>:(I)V
astore 5
start local 5 31: aload 0
invokevirtual org.apache.http.impl.auth.NTLMScheme.isProxy:()Z
ifeq 34
32: aload 5
ldc "Proxy-Authorization"
invokevirtual org.apache.http.util.CharArrayBuffer.append:(Ljava/lang/String;)V
33: goto 35
34: StackMap locals: org.apache.http.util.CharArrayBuffer
StackMap stack:
aload 5
ldc "Authorization"
invokevirtual org.apache.http.util.CharArrayBuffer.append:(Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
aload 5
ldc ": NTLM "
invokevirtual org.apache.http.util.CharArrayBuffer.append:(Ljava/lang/String;)V
36: aload 5
aload 4
invokevirtual org.apache.http.util.CharArrayBuffer.append:(Ljava/lang/String;)V
37: new org.apache.http.message.BufferedHeader
dup
aload 5
invokespecial org.apache.http.message.BufferedHeader.<init>:(Lorg/apache/http/util/CharArrayBuffer;)V
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 38 0 this Lorg/apache/http/impl/auth/NTLMScheme;
0 38 1 credentials Lorg/apache/http/auth/Credentials;
0 38 2 request Lorg/apache/http/HttpRequest;
1 38 3 ntcredentials Lorg/apache/http/auth/NTCredentials;
10 38 4 response Ljava/lang/String;
31 38 5 buffer Lorg/apache/http/util/CharArrayBuffer;
Exception table:
from to target type
1 2 3 Class java.lang.ClassCastException
Exceptions:
throws org.apache.http.auth.AuthenticationException
MethodParameters:
Name Flags
credentials final
request final
public boolean isComplete();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
getstatic org.apache.http.impl.auth.NTLMScheme$State.MSG_TYPE3_GENERATED:Lorg/apache/http/impl/auth/NTLMScheme$State;
if_acmpeq 1
aload 0
getfield org.apache.http.impl.auth.NTLMScheme.state:Lorg/apache/http/impl/auth/NTLMScheme$State;
getstatic org.apache.http.impl.auth.NTLMScheme$State.FAILED:Lorg/apache/http/impl/auth/NTLMScheme$State;
if_acmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/http/impl/auth/NTLMScheme;
}
SourceFile: "NTLMScheme.java"
NestMembers:
org.apache.http.impl.auth.NTLMScheme$State
InnerClasses:
final State = org.apache.http.impl.auth.NTLMScheme$State of org.apache.http.impl.auth.NTLMScheme