public class org.apache.catalina.realm.JAASCallbackHandler implements javax.security.auth.callback.CallbackHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.realm.JAASCallbackHandler
super_class: java.lang.Object
{
protected static final org.apache.tomcat.util.res.StringManager sm;
descriptor: Lorg/apache/tomcat/util/res/StringManager;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected final java.lang.String password;
descriptor: Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.apache.catalina.realm.JAASRealm realm;
descriptor: Lorg/apache/catalina/realm/JAASRealm;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.lang.String username;
descriptor: Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.lang.String nonce;
descriptor: Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.lang.String nc;
descriptor: Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.lang.String cnonce;
descriptor: Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.lang.String qop;
descriptor: Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.lang.String realmName;
descriptor: Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.lang.String md5a2;
descriptor: Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.lang.String authMethod;
descriptor: Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/catalina/realm/JAASCallbackHandler;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.catalina.realm.JAASCallbackHandler.sm:Lorg/apache/tomcat/util/res/StringManager;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.catalina.realm.JAASRealm, java.lang.String, java.lang.String);
descriptor: (Lorg/apache/catalina/realm/JAASRealm;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, 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
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
1: aconst_null
invokespecial org.apache.catalina.realm.JAASCallbackHandler.<init>:(Lorg/apache/catalina/realm/JAASRealm;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/realm/JAASCallbackHandler;
0 3 1 realm Lorg/apache/catalina/realm/JAASRealm;
0 3 2 username Ljava/lang/String;
0 3 3 password Ljava/lang/String;
MethodParameters:
Name Flags
realm
username
password
public void <init>(org.apache.catalina.realm.JAASRealm, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Lorg/apache/catalina/realm/JAASRealm;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=11, args_size=11
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 start local 10 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.apache.catalina.realm.JAASCallbackHandler.realm:Lorg/apache/catalina/realm/JAASRealm;
2: aload 0
aload 2
putfield org.apache.catalina.realm.JAASCallbackHandler.username:Ljava/lang/String;
3: aload 3
ifnull 6
aload 1
invokevirtual org.apache.catalina.realm.JAASRealm.hasMessageDigest:()Z
ifeq 6
4: aload 0
aload 1
invokevirtual org.apache.catalina.realm.JAASRealm.getCredentialHandler:()Lorg/apache/catalina/CredentialHandler;
aload 3
invokeinterface org.apache.catalina.CredentialHandler.mutate:(Ljava/lang/String;)Ljava/lang/String;
putfield org.apache.catalina.realm.JAASCallbackHandler.password:Ljava/lang/String;
5: goto 7
6: StackMap locals: org.apache.catalina.realm.JAASCallbackHandler org.apache.catalina.realm.JAASRealm java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 0
aload 3
putfield org.apache.catalina.realm.JAASCallbackHandler.password:Ljava/lang/String;
7: StackMap locals:
StackMap stack:
aload 0
aload 4
putfield org.apache.catalina.realm.JAASCallbackHandler.nonce:Ljava/lang/String;
8: aload 0
aload 5
putfield org.apache.catalina.realm.JAASCallbackHandler.nc:Ljava/lang/String;
9: aload 0
aload 6
putfield org.apache.catalina.realm.JAASCallbackHandler.cnonce:Ljava/lang/String;
10: aload 0
aload 7
putfield org.apache.catalina.realm.JAASCallbackHandler.qop:Ljava/lang/String;
11: aload 0
aload 8
putfield org.apache.catalina.realm.JAASCallbackHandler.realmName:Ljava/lang/String;
12: aload 0
aload 9
putfield org.apache.catalina.realm.JAASCallbackHandler.md5a2:Ljava/lang/String;
13: aload 0
aload 10
putfield org.apache.catalina.realm.JAASCallbackHandler.authMethod:Ljava/lang/String;
14: return
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 15 0 this Lorg/apache/catalina/realm/JAASCallbackHandler;
0 15 1 realm Lorg/apache/catalina/realm/JAASRealm;
0 15 2 username Ljava/lang/String;
0 15 3 password Ljava/lang/String;
0 15 4 nonce Ljava/lang/String;
0 15 5 nc Ljava/lang/String;
0 15 6 cnonce Ljava/lang/String;
0 15 7 qop Ljava/lang/String;
0 15 8 realmName Ljava/lang/String;
0 15 9 md5a2 Ljava/lang/String;
0 15 10 authMethod Ljava/lang/String;
MethodParameters:
Name Flags
realm
username
password
nonce
nc
cnonce
qop
realmName
md5a2
authMethod
public void handle(javax.security.auth.callback.Callback[]);
descriptor: ([Ljavax/security/auth/callback/Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 45
StackMap locals: org.apache.catalina.realm.JAASCallbackHandler javax.security.auth.callback.Callback[] top int int javax.security.auth.callback.Callback[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 2
instanceof javax.security.auth.callback.NameCallback
ifeq 7
3: aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.realm:Lorg/apache/catalina/realm/JAASRealm;
invokevirtual org.apache.catalina.realm.JAASRealm.getContainer:()Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getLogger:()Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 5
4: aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.realm:Lorg/apache/catalina/realm/JAASRealm;
invokevirtual org.apache.catalina.realm.JAASRealm.getContainer:()Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getLogger:()Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASCallbackHandler.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasCallback.username"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.username:Ljava/lang/String;
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
5: StackMap locals: org.apache.catalina.realm.JAASCallbackHandler javax.security.auth.callback.Callback[] javax.security.auth.callback.Callback int int javax.security.auth.callback.Callback[]
StackMap stack:
aload 2
checkcast javax.security.auth.callback.NameCallback
aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.username:Ljava/lang/String;
invokevirtual javax.security.auth.callback.NameCallback.setName:(Ljava/lang/String;)V
6: goto 44
7: StackMap locals:
StackMap stack:
aload 2
instanceof javax.security.auth.callback.PasswordCallback
ifeq 16
8: aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.password:Ljava/lang/String;
ifnull 11
9: aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.password:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 6
start local 6 10: goto 12
end local 6 11: StackMap locals:
StackMap stack:
iconst_0
newarray 5
astore 6
start local 6 12: StackMap locals: char[]
StackMap stack:
aload 2
checkcast javax.security.auth.callback.PasswordCallback
13: aload 6
14: invokevirtual javax.security.auth.callback.PasswordCallback.setPassword:([C)V
end local 6 15: goto 44
16: StackMap locals:
StackMap stack:
aload 2
instanceof javax.security.auth.callback.TextInputCallback
ifeq 43
17: aload 2
checkcast javax.security.auth.callback.TextInputCallback
astore 6
start local 6 18: aload 6
invokevirtual javax.security.auth.callback.TextInputCallback.getPrompt:()Ljava/lang/String;
ldc "nonce"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
19: aload 6
aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.nonce:Ljava/lang/String;
invokevirtual javax.security.auth.callback.TextInputCallback.setText:(Ljava/lang/String;)V
20: goto 44
21: StackMap locals: javax.security.auth.callback.TextInputCallback
StackMap stack:
aload 6
invokevirtual javax.security.auth.callback.TextInputCallback.getPrompt:()Ljava/lang/String;
ldc "nc"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
22: aload 6
aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.nc:Ljava/lang/String;
invokevirtual javax.security.auth.callback.TextInputCallback.setText:(Ljava/lang/String;)V
23: goto 44
24: StackMap locals:
StackMap stack:
aload 6
invokevirtual javax.security.auth.callback.TextInputCallback.getPrompt:()Ljava/lang/String;
ldc "cnonce"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
25: aload 6
aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.cnonce:Ljava/lang/String;
invokevirtual javax.security.auth.callback.TextInputCallback.setText:(Ljava/lang/String;)V
26: goto 44
27: StackMap locals:
StackMap stack:
aload 6
invokevirtual javax.security.auth.callback.TextInputCallback.getPrompt:()Ljava/lang/String;
ldc "qop"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 30
28: aload 6
aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.qop:Ljava/lang/String;
invokevirtual javax.security.auth.callback.TextInputCallback.setText:(Ljava/lang/String;)V
29: goto 44
30: StackMap locals:
StackMap stack:
aload 6
invokevirtual javax.security.auth.callback.TextInputCallback.getPrompt:()Ljava/lang/String;
ldc "realmName"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 33
31: aload 6
aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.realmName:Ljava/lang/String;
invokevirtual javax.security.auth.callback.TextInputCallback.setText:(Ljava/lang/String;)V
32: goto 44
33: StackMap locals:
StackMap stack:
aload 6
invokevirtual javax.security.auth.callback.TextInputCallback.getPrompt:()Ljava/lang/String;
ldc "md5a2"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 36
34: aload 6
aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.md5a2:Ljava/lang/String;
invokevirtual javax.security.auth.callback.TextInputCallback.setText:(Ljava/lang/String;)V
35: goto 44
36: StackMap locals:
StackMap stack:
aload 6
invokevirtual javax.security.auth.callback.TextInputCallback.getPrompt:()Ljava/lang/String;
ldc "authMethod"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 39
37: aload 6
aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.authMethod:Ljava/lang/String;
invokevirtual javax.security.auth.callback.TextInputCallback.setText:(Ljava/lang/String;)V
38: goto 44
39: StackMap locals:
StackMap stack:
aload 6
invokevirtual javax.security.auth.callback.TextInputCallback.getPrompt:()Ljava/lang/String;
ldc "catalinaBase"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 42
40: aload 6
aload 0
getfield org.apache.catalina.realm.JAASCallbackHandler.realm:Lorg/apache/catalina/realm/JAASRealm;
invokevirtual org.apache.catalina.realm.JAASRealm.getContainer:()Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getCatalinaBase:()Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual javax.security.auth.callback.TextInputCallback.setText:(Ljava/lang/String;)V
41: goto 44
42: StackMap locals:
StackMap stack:
new javax.security.auth.callback.UnsupportedCallbackException
dup
aload 2
invokespecial javax.security.auth.callback.UnsupportedCallbackException.<init>:(Ljavax/security/auth/callback/Callback;)V
athrow
end local 6 43: StackMap locals:
StackMap stack:
new javax.security.auth.callback.UnsupportedCallbackException
dup
aload 2
invokespecial javax.security.auth.callback.UnsupportedCallbackException.<init>:(Ljavax/security/auth/callback/Callback;)V
athrow
end local 2 44: StackMap locals: org.apache.catalina.realm.JAASCallbackHandler javax.security.auth.callback.Callback[] top int int javax.security.auth.callback.Callback[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
45: iload 3
iload 4
if_icmplt 1
46: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lorg/apache/catalina/realm/JAASCallbackHandler;
0 47 1 callbacks [Ljavax/security/auth/callback/Callback;
2 44 2 callback Ljavax/security/auth/callback/Callback;
10 11 6 passwordcontents [C
12 15 6 passwordcontents [C
18 43 6 cb Ljavax/security/auth/callback/TextInputCallback;
Exceptions:
throws java.io.IOException, javax.security.auth.callback.UnsupportedCallbackException
MethodParameters:
Name Flags
callbacks
}
SourceFile: "JAASCallbackHandler.java"