public class com.sun.security.auth.module.Krb5LoginModule implements javax.security.auth.spi.LoginModule
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.security.auth.module.Krb5LoginModule
super_class: java.lang.Object
{
private javax.security.auth.Subject subject;
descriptor: Ljavax/security/auth/Subject;
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.callback.CallbackHandler callbackHandler;
descriptor: Ljavax/security/auth/callback/CallbackHandler;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, java.lang.Object> sharedState;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
private java.util.Map<java.lang.String, ?> options;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;*>;
private boolean debug;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean storeKey;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean doNotPrompt;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean useTicketCache;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean useKeyTab;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String ticketCacheName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String keyTabName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String princName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean useFirstPass;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean tryFirstPass;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean storePass;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean clearPass;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean refreshKrb5Config;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean renewTGT;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isInitiator;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean succeeded;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean commitSucceeded;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String username;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private sun.security.krb5.EncryptionKey[] encKeys;
descriptor: [Lsun/security/krb5/EncryptionKey;
flags: (0x0002) ACC_PRIVATE
javax.security.auth.kerberos.KeyTab ktab;
descriptor: Ljavax/security/auth/kerberos/KeyTab;
flags: (0x0000)
private sun.security.krb5.Credentials cred;
descriptor: Lsun/security/krb5/Credentials;
flags: (0x0002) ACC_PRIVATE
private sun.security.krb5.PrincipalName principal;
descriptor: Lsun/security/krb5/PrincipalName;
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.kerberos.KerberosPrincipal kerbClientPrinc;
descriptor: Ljavax/security/auth/kerberos/KerberosPrincipal;
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.kerberos.KerberosTicket kerbTicket;
descriptor: Ljavax/security/auth/kerberos/KerberosTicket;
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.kerberos.KerberosKey[] kerbKeys;
descriptor: [Ljavax/security/auth/kerberos/KerberosKey;
flags: (0x0002) ACC_PRIVATE
private java.lang.StringBuffer krb5PrincName;
descriptor: Ljava/lang/StringBuffer;
flags: (0x0002) ACC_PRIVATE
private boolean unboundServer;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private char[] password;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private static final java.lang.String NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.auth.login.name"
private static final java.lang.String PWD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.auth.login.password"
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
2: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.storeKey:Z
3: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.doNotPrompt:Z
4: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.useTicketCache:Z
5: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.useKeyTab:Z
6: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.ticketCacheName:Ljava/lang/String;
7: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
8: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.princName:Ljava/lang/String;
9: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.useFirstPass:Z
10: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.tryFirstPass:Z
11: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.storePass:Z
12: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.clearPass:Z
13: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.refreshKrb5Config:Z
14: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.renewTGT:Z
15: aload 0
iconst_1
putfield com.sun.security.auth.module.Krb5LoginModule.isInitiator:Z
16: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
17: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.commitSucceeded:Z
18: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
19: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.ktab:Ljavax/security/auth/kerberos/KeyTab;
20: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
21: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
22: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.kerbClientPrinc:Ljavax/security/auth/kerberos/KerberosPrincipal;
23: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.kerbTicket:Ljavax/security/auth/kerberos/KerberosTicket;
24: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.kerbKeys:[Ljavax/security/auth/kerberos/KerberosKey;
25: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
26: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.unboundServer:Z
27: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.password:[C
28: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/sun/security/auth/module/Krb5LoginModule;
public void initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, java.util.Map<java.lang.String, ?>, java.util.Map<java.lang.String, ?>);
descriptor: (Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;Ljava/util/Map;Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield com.sun.security.auth.module.Krb5LoginModule.subject:Ljavax/security/auth/Subject;
1: aload 0
aload 2
putfield com.sun.security.auth.module.Krb5LoginModule.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
2: aload 0
aload 3
putfield com.sun.security.auth.module.Krb5LoginModule.sharedState:Ljava/util/Map;
3: aload 0
aload 4
putfield com.sun.security.auth.module.Krb5LoginModule.options:Ljava/util/Map;
4: aload 0
ldc "true"
aload 4
ldc "debug"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
5: aload 0
ldc "true"
aload 4
ldc "storeKey"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putfield com.sun.security.auth.module.Krb5LoginModule.storeKey:Z
6: aload 0
ldc "true"
aload 4
7: ldc "doNotPrompt"
8: invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putfield com.sun.security.auth.module.Krb5LoginModule.doNotPrompt:Z
9: aload 0
ldc "true"
aload 4
10: ldc "useTicketCache"
11: invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putfield com.sun.security.auth.module.Krb5LoginModule.useTicketCache:Z
12: aload 0
ldc "true"
aload 4
ldc "useKeyTab"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putfield com.sun.security.auth.module.Krb5LoginModule.useKeyTab:Z
13: aload 0
aload 4
ldc "ticketCache"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.sun.security.auth.module.Krb5LoginModule.ticketCacheName:Ljava/lang/String;
14: aload 0
aload 4
ldc "keyTab"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
15: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
ifnull 19
16: aload 0
17: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
18: invokestatic sun.security.krb5.internal.ktab.KeyTab.normalize:(Ljava/lang/String;)Ljava/lang/String;
putfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
19: StackMap locals:
StackMap stack:
aload 0
aload 4
ldc "principal"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.sun.security.auth.module.Krb5LoginModule.princName:Ljava/lang/String;
20: aload 0
21: ldc "true"
aload 4
ldc "refreshKrb5Config"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
22: putfield com.sun.security.auth.module.Krb5LoginModule.refreshKrb5Config:Z
23: aload 0
24: ldc "true"
aload 4
ldc "renewTGT"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
25: putfield com.sun.security.auth.module.Krb5LoginModule.renewTGT:Z
26: aload 4
ldc "isInitiator"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 27: aload 5
ifnull 29
28: aload 0
ldc "true"
aload 5
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putfield com.sun.security.auth.module.Krb5LoginModule.isInitiator:Z
29: StackMap locals: java.lang.String
StackMap stack:
aload 0
30: ldc "true"
31: aload 4
ldc "tryFirstPass"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
32: invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
33: putfield com.sun.security.auth.module.Krb5LoginModule.tryFirstPass:Z
34: aload 0
35: ldc "true"
36: aload 4
ldc "useFirstPass"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
37: invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
38: putfield com.sun.security.auth.module.Krb5LoginModule.useFirstPass:Z
39: aload 0
40: ldc "true"
aload 4
ldc "storePass"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
41: putfield com.sun.security.auth.module.Krb5LoginModule.storePass:Z
42: aload 0
43: ldc "true"
aload 4
ldc "clearPass"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
44: putfield com.sun.security.auth.module.Krb5LoginModule.clearPass:Z
45: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 61
46: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Debug is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
47: ldc " storeKey "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.storeKey:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
48: ldc " useTicketCache "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useTicketCache:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
49: ldc " useKeyTab "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useKeyTab:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
50: ldc " doNotPrompt "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.doNotPrompt:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
51: ldc " ticketCache is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.ticketCacheName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
52: ldc " isInitiator "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.isInitiator:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
53: ldc " KeyTab is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
54: ldc " refreshKrb5Config is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.refreshKrb5Config:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
55: ldc " principal is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.princName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
56: ldc " tryFirstPass is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.tryFirstPass:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
57: ldc " useFirstPass is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useFirstPass:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
58: ldc " storePass is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.storePass:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
59: ldc " clearPass is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.clearPass:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
60: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
61: StackMap locals:
StackMap stack:
return
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 62 0 this Lcom/sun/security/auth/module/Krb5LoginModule;
0 62 1 subject Ljavax/security/auth/Subject;
0 62 2 callbackHandler Ljavax/security/auth/callback/CallbackHandler;
0 62 3 sharedState Ljava/util/Map<Ljava/lang/String;*>;
0 62 4 options Ljava/util/Map<Ljava/lang/String;*>;
27 62 5 isInitiatorValue Ljava/lang/String;
Signature: (Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;Ljava/util/Map<Ljava/lang/String;*>;Ljava/util/Map<Ljava/lang/String;*>;)V
MethodParameters:
Name Flags
subject
callbackHandler
sharedState
options
public boolean login();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.refreshKrb5Config:Z
ifeq 9
1: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 3
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Refreshing Kerberos configuration"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
invokestatic sun.security.krb5.Config.refresh:()V
4: goto 9
StackMap locals:
StackMap stack: sun.security.krb5.KrbException
5: astore 1
start local 1 6: new javax.security.auth.login.LoginException
dup
aload 1
invokevirtual sun.security.krb5.KrbException.getMessage:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
astore 2
start local 2 7: aload 2
aload 1
invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
8: aload 2
athrow
end local 2 end local 1 9: StackMap locals:
StackMap stack:
ldc "sun.security.krb5.principal"
10: invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 11: aload 1
ifnull 14
12: aload 0
new java.lang.StringBuffer
dup
aload 1
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
putfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
13: goto 16
14: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.princName:Ljava/lang/String;
ifnull 16
15: aload 0
new java.lang.StringBuffer
dup
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.princName:Ljava/lang/String;
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
putfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.security.auth.module.Krb5LoginModule.validateConfiguration:()V
17: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
ifnull 19
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
18: aload 0
iconst_1
putfield com.sun.security.auth.module.Krb5LoginModule.unboundServer:Z
19: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.tryFirstPass:Z
ifeq 33
20: aload 0
iconst_1
invokevirtual com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication:(Z)V
21: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 23
22: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t[Krb5LoginModule] authentication succeeded"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
23: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
24: aload 0
invokevirtual com.sun.security.auth.module.Krb5LoginModule.cleanState:()V
25: iconst_1
ireturn
26: StackMap locals:
StackMap stack: javax.security.auth.login.LoginException
astore 2
start local 2 27: aload 0
invokevirtual com.sun.security.auth.module.Krb5LoginModule.cleanState:()V
28: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 46
29: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[Krb5LoginModule] tryFirstPass failed with:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
30: aload 2
invokevirtual javax.security.auth.login.LoginException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 2 32: goto 46
StackMap locals:
StackMap stack:
33: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useFirstPass:Z
ifeq 46
34: aload 0
iconst_1
invokevirtual com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication:(Z)V
35: aload 0
iconst_1
putfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
36: aload 0
invokevirtual com.sun.security.auth.module.Krb5LoginModule.cleanState:()V
37: iconst_1
ireturn
38: StackMap locals:
StackMap stack: javax.security.auth.login.LoginException
astore 2
start local 2 39: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 43
40: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[Krb5LoginModule] authentication failed \n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
41: aload 2
invokevirtual javax.security.auth.login.LoginException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
42: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
43: StackMap locals: javax.security.auth.login.LoginException
StackMap stack:
aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
44: aload 0
invokevirtual com.sun.security.auth.module.Krb5LoginModule.cleanState:()V
45: aload 2
athrow
end local 2 46: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication:(Z)V
47: aload 0
iconst_1
putfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
48: aload 0
invokevirtual com.sun.security.auth.module.Krb5LoginModule.cleanState:()V
49: iconst_1
ireturn
50: StackMap locals:
StackMap stack: javax.security.auth.login.LoginException
astore 2
start local 2 51: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 55
52: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[Krb5LoginModule] authentication failed \n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
53: aload 2
invokevirtual javax.security.auth.login.LoginException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
54: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
55: StackMap locals: javax.security.auth.login.LoginException
StackMap stack:
aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
56: aload 0
invokevirtual com.sun.security.auth.module.Krb5LoginModule.cleanState:()V
57: aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lcom/sun/security/auth/module/Krb5LoginModule;
6 9 1 ke Lsun/security/krb5/KrbException;
7 9 2 le Ljavax/security/auth/login/LoginException;
11 58 1 principalProperty Ljava/lang/String;
27 32 2 le Ljavax/security/auth/login/LoginException;
39 46 2 e Ljavax/security/auth/login/LoginException;
51 58 2 e Ljavax/security/auth/login/LoginException;
Exception table:
from to target type
1 4 5 Class sun.security.krb5.KrbException
20 25 26 Class javax.security.auth.login.LoginException
34 37 38 Class javax.security.auth.login.LoginException
46 49 50 Class javax.security.auth.login.LoginException
Exceptions:
throws javax.security.auth.login.LoginException
private void attemptAuthentication(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
ifnull 10
1: aload 0
new sun.security.krb5.PrincipalName
dup
2: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
3: iconst_1
invokespecial sun.security.krb5.PrincipalName.<init>:(Ljava/lang/String;I)V
4: putfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
5: goto 10
StackMap locals:
StackMap stack: sun.security.krb5.KrbException
6: astore 2
start local 2 7: new javax.security.auth.login.LoginException
dup
aload 2
invokevirtual sun.security.krb5.KrbException.getMessage:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
astore 3
start local 3 8: aload 3
aload 2
invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
9: aload 3
athrow
end local 3 end local 2 10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useTicketCache:Z
ifeq 34
11: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 13
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Acquire TGT from Cache"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
aload 0
14: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.ticketCacheName:Ljava/lang/String;
15: invokestatic sun.security.krb5.Credentials.acquireTGTFromCache:(Lsun/security/krb5/PrincipalName;Ljava/lang/String;)Lsun/security/krb5/Credentials;
putfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
16: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
ifnull 25
17: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.renewTGT:Z
ifeq 21
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
invokestatic com.sun.security.auth.module.Krb5LoginModule.isOld:(Lsun/security/krb5/Credentials;)Z
ifeq 21
18: aload 0
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
invokevirtual com.sun.security.auth.module.Krb5LoginModule.renewCredentials:(Lsun/security/krb5/Credentials;)Lsun/security/krb5/Credentials;
astore 2
start local 2 19: aload 2
ifnull 21
20: aload 0
aload 2
putfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
end local 2 21: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
invokestatic com.sun.security.auth.module.Krb5LoginModule.isCurrent:(Lsun/security/krb5/Credentials;)Z
ifne 25
22: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
23: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 25
24: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Credentials are no longer valid"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
ifnull 28
26: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
ifnonnull 28
27: aload 0
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
invokevirtual sun.security.krb5.Credentials.getClient:()Lsun/security/krb5/PrincipalName;
putfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
28: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 34
29: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Principal is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
30: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
ifnonnull 34
31: getstatic java.lang.System.out:Ljava/io/PrintStream;
32: ldc "null credentials from Ticket Cache"
33: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
34: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
ifnonnull 108
35: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
ifnonnull 41
36: aload 0
iload 1
invokevirtual com.sun.security.auth.module.Krb5LoginModule.promptForName:(Z)V
37: aload 0
new sun.security.krb5.PrincipalName
dup
38: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
39: iconst_1
invokespecial sun.security.krb5.PrincipalName.<init>:(Ljava/lang/String;I)V
40: putfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
41: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useKeyTab:Z
ifeq 68
42: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.unboundServer:Z
ifne 50
43: new javax.security.auth.kerberos.KerberosPrincipal
dup
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getName:()Ljava/lang/String;
invokespecial javax.security.auth.kerberos.KerberosPrincipal.<init>:(Ljava/lang/String;)V
44: astore 2
start local 2 45: aload 0
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
ifnonnull 47
46: aload 2
invokestatic javax.security.auth.kerberos.KeyTab.getInstance:(Ljavax/security/auth/kerberos/KerberosPrincipal;)Ljavax/security/auth/kerberos/KeyTab;
goto 48
47: StackMap locals: com.sun.security.auth.module.Krb5LoginModule int javax.security.auth.kerberos.KerberosPrincipal
StackMap stack: com.sun.security.auth.module.Krb5LoginModule
aload 2
new java.io.File
dup
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic javax.security.auth.kerberos.KeyTab.getInstance:(Ljavax/security/auth/kerberos/KerberosPrincipal;Ljava/io/File;)Ljavax/security/auth/kerberos/KeyTab;
48: StackMap locals: com.sun.security.auth.module.Krb5LoginModule int javax.security.auth.kerberos.KerberosPrincipal
StackMap stack: com.sun.security.auth.module.Krb5LoginModule javax.security.auth.kerberos.KeyTab
putfield com.sun.security.auth.module.Krb5LoginModule.ktab:Ljavax/security/auth/kerberos/KeyTab;
end local 2 49: goto 54
50: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
ifnonnull 52
51: invokestatic javax.security.auth.kerberos.KeyTab.getUnboundInstance:()Ljavax/security/auth/kerberos/KeyTab;
goto 53
52: StackMap locals:
StackMap stack: com.sun.security.auth.module.Krb5LoginModule
new java.io.File
dup
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic javax.security.auth.kerberos.KeyTab.getUnboundInstance:(Ljava/io/File;)Ljavax/security/auth/kerberos/KeyTab;
53: StackMap locals: com.sun.security.auth.module.Krb5LoginModule int
StackMap stack: com.sun.security.auth.module.Krb5LoginModule javax.security.auth.kerberos.KeyTab
putfield com.sun.security.auth.module.Krb5LoginModule.ktab:Ljavax/security/auth/kerberos/KeyTab;
54: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.isInitiator:Z
ifeq 68
55: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.ktab:Ljavax/security/auth/kerberos/KeyTab;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
invokestatic sun.security.jgss.krb5.Krb5Util.keysFromJavaxKeyTab:(Ljavax/security/auth/kerberos/KeyTab;Lsun/security/krb5/PrincipalName;)[Lsun/security/krb5/EncryptionKey;
arraylength
ifne 68
56: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.ktab:Ljavax/security/auth/kerberos/KeyTab;
57: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 68
58: getstatic java.lang.System.out:Ljava/io/PrintStream;
59: new java.lang.StringBuilder
dup
ldc "Key for the principal "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
60: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
61: ldc " not available in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
62: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
ifnonnull 64
63: ldc "default key tab"
goto 65
StackMap locals: com.sun.security.auth.module.Krb5LoginModule int
StackMap stack: java.io.PrintStream java.lang.StringBuilder
64: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
65: StackMap locals: com.sun.security.auth.module.Krb5LoginModule int
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
66: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
67: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
68: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.ktab:Ljavax/security/auth/kerberos/KeyTab;
ifnonnull 76
69: aload 0
iload 1
invokevirtual com.sun.security.auth.module.Krb5LoginModule.promptForPass:(Z)V
70: new sun.security.krb5.KrbAsReqBuilder
dup
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.password:[C
invokespecial sun.security.krb5.KrbAsReqBuilder.<init>:(Lsun/security/krb5/PrincipalName;[C)V
astore 2
start local 2 71: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.isInitiator:Z
ifeq 73
72: aload 0
aload 2
invokevirtual sun.security.krb5.KrbAsReqBuilder.action:()Lsun/security/krb5/KrbAsReqBuilder;
invokevirtual sun.security.krb5.KrbAsReqBuilder.getCreds:()Lsun/security/krb5/Credentials;
putfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
73: StackMap locals: sun.security.krb5.KrbAsReqBuilder
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.storeKey:Z
ifeq 79
74: aload 0
aload 2
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.isInitiator:Z
invokevirtual sun.security.krb5.KrbAsReqBuilder.getKeys:(Z)[Lsun/security/krb5/EncryptionKey;
putfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
75: goto 79
end local 2 76: StackMap locals:
StackMap stack:
new sun.security.krb5.KrbAsReqBuilder
dup
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.ktab:Ljavax/security/auth/kerberos/KeyTab;
invokespecial sun.security.krb5.KrbAsReqBuilder.<init>:(Lsun/security/krb5/PrincipalName;Ljavax/security/auth/kerberos/KeyTab;)V
astore 2
start local 2 77: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.isInitiator:Z
ifeq 79
78: aload 0
aload 2
invokevirtual sun.security.krb5.KrbAsReqBuilder.action:()Lsun/security/krb5/KrbAsReqBuilder;
invokevirtual sun.security.krb5.KrbAsReqBuilder.getCreds:()Lsun/security/krb5/Credentials;
putfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
79: StackMap locals: sun.security.krb5.KrbAsReqBuilder
StackMap stack:
aload 2
invokevirtual sun.security.krb5.KrbAsReqBuilder.destroy:()V
80: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 96
81: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "principal is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
82: new sun.security.util.HexDumpEncoder
dup
invokespecial sun.security.util.HexDumpEncoder.<init>:()V
astore 3
start local 3 83: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.ktab:Ljavax/security/auth/kerberos/KeyTab;
ifnull 86
84: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Will use keytab"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
85: goto 96
StackMap locals: sun.security.util.HexDumpEncoder
StackMap stack:
86: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.storeKey:Z
ifeq 96
87: iconst_0
istore 4
start local 4 88: goto 95
89: StackMap locals: int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "EncryptionKey: keyType="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
90: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
iload 4
aaload
invokevirtual sun.security.krb5.EncryptionKey.getEType:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
91: ldc " keyBytes (hex dump)="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
92: aload 3
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
iload 4
aaload
invokevirtual sun.security.krb5.EncryptionKey.getBytes:()[B
invokevirtual sun.security.util.HexDumpEncoder.encodeBuffer:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
93: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
94: iinc 4 1
StackMap locals:
StackMap stack:
95: iload 4
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
arraylength
if_icmplt 89
end local 4 end local 3 96: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.isInitiator:Z
ifeq 108
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
ifnonnull 108
97: new javax.security.auth.login.LoginException
dup
98: ldc "TGT Can not be obtained from the KDC "
99: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
end local 2 100: StackMap locals: com.sun.security.auth.module.Krb5LoginModule int
StackMap stack: sun.security.krb5.KrbException
astore 2
start local 2 101: new javax.security.auth.login.LoginException
dup
aload 2
invokevirtual sun.security.krb5.KrbException.getMessage:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
astore 3
start local 3 102: aload 3
aload 2
invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
103: aload 3
athrow
end local 3 end local 2 104: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 105: new javax.security.auth.login.LoginException
dup
aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
astore 3
start local 3 106: aload 3
aload 2
invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
107: aload 3
athrow
end local 3 end local 2 108: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 109 0 this Lcom/sun/security/auth/module/Krb5LoginModule;
0 109 1 getPasswdFromSharedState Z
7 10 2 e Lsun/security/krb5/KrbException;
8 10 3 le Ljavax/security/auth/login/LoginException;
19 21 2 newCred Lsun/security/krb5/Credentials;
45 49 2 kp Ljavax/security/auth/kerberos/KerberosPrincipal;
71 76 2 builder Lsun/security/krb5/KrbAsReqBuilder;
77 100 2 builder Lsun/security/krb5/KrbAsReqBuilder;
83 96 3 hd Lsun/security/util/HexDumpEncoder;
88 96 4 i I
101 104 2 e Lsun/security/krb5/KrbException;
102 104 3 le Ljavax/security/auth/login/LoginException;
105 108 2 ioe Ljava/io/IOException;
106 108 3 ie Ljavax/security/auth/login/LoginException;
Exception table:
from to target type
1 5 6 Class sun.security.krb5.KrbException
10 100 100 Class sun.security.krb5.KrbException
10 100 104 Class java.io.IOException
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
getPasswdFromSharedState
private void promptForName(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
new java.lang.StringBuffer
dup
ldc ""
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
putfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
1: iload 1
ifeq 21
2: aload 0
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.name"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
3: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 7
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
5: new java.lang.StringBuilder
dup
ldc "username from shared state is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
ifnonnull 14
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
9: ldc "username from shared state is null\n"
10: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: new javax.security.auth.login.LoginException
dup
12: ldc "Username can not be obtained from sharedstate "
13: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 18
15: getstatic java.lang.System.out:Ljava/io/PrintStream;
16: new java.lang.StringBuilder
dup
ldc "username from shared state is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
ifnull 21
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 21
19: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
iconst_0
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
invokevirtual java.lang.StringBuffer.insert:(ILjava/lang/String;)Ljava/lang/StringBuffer;
pop
20: return
21: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.doNotPrompt:Z
ifeq 25
22: new javax.security.auth.login.LoginException
dup
23: ldc "Unable to obtain Principal Name for authentication "
24: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
ifnonnull 27
26: new javax.security.auth.login.LoginException
dup
ldc "No CallbackHandler available to garner authentication information from the user"
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
ldc "user.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 28: iconst_1
anewarray javax.security.auth.callback.Callback
astore 3
start local 3 29: new java.text.MessageFormat
dup
30: ldc "Kerberos.username.defUsername."
31: invokestatic sun.security.util.ResourcesMgr.getAuthResourceString:(Ljava/lang/String;)Ljava/lang/String;
32: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 33: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
astore 5
start local 5 34: aload 3
iconst_0
new javax.security.auth.callback.NameCallback
dup
aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial javax.security.auth.callback.NameCallback.<init>:(Ljava/lang/String;)V
aastore
35: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
aload 3
invokeinterface javax.security.auth.callback.CallbackHandler.handle:([Ljavax/security/auth/callback/Callback;)V
36: aload 0
aload 3
iconst_0
aaload
checkcast javax.security.auth.callback.NameCallback
invokevirtual javax.security.auth.callback.NameCallback.getName:()Ljava/lang/String;
putfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
37: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
ifnull 38
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 39
38: StackMap locals: com.sun.security.auth.module.Krb5LoginModule int java.lang.String javax.security.auth.callback.Callback[] java.text.MessageFormat java.lang.Object[]
StackMap stack:
aload 0
aload 2
putfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
39: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
iconst_0
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
invokevirtual java.lang.StringBuffer.insert:(ILjava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 5 end local 4 end local 3 end local 2 40: goto 51
StackMap locals: com.sun.security.auth.module.Krb5LoginModule int
StackMap stack: java.io.IOException
41: astore 2
start local 2 42: new javax.security.auth.login.LoginException
dup
aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
end local 2 43: StackMap locals:
StackMap stack: javax.security.auth.callback.UnsupportedCallbackException
astore 2
start local 2 44: new javax.security.auth.login.LoginException
dup
45: new java.lang.StringBuilder
dup
aload 2
invokevirtual javax.security.auth.callback.UnsupportedCallbackException.getMessage:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
46: ldc " not available to garner "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
47: ldc " authentication information "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
48: ldc " from the user"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
49: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
50: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
end local 2 51: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lcom/sun/security/auth/module/Krb5LoginModule;
0 52 1 getPasswdFromSharedState Z
28 40 2 defUsername Ljava/lang/String;
29 40 3 callbacks [Ljavax/security/auth/callback/Callback;
33 40 4 form Ljava/text/MessageFormat;
34 40 5 source [Ljava/lang/Object;
42 43 2 ioe Ljava/io/IOException;
44 51 2 uce Ljavax/security/auth/callback/UnsupportedCallbackException;
Exception table:
from to target type
27 40 41 Class java.io.IOException
27 40 43 Class javax.security.auth.callback.UnsupportedCallbackException
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
getPasswdFromSharedState
private void promptForPass(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: iload 1
ifeq 15
1: aload 0
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.password"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast char[]
putfield com.sun.security.auth.module.Krb5LoginModule.password:[C
2: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.password:[C
ifnonnull 10
3: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 7
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
5: ldc "Password from shared state is null"
6: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: StackMap locals:
StackMap stack:
new javax.security.auth.login.LoginException
dup
8: ldc "Password can not be obtained from sharedstate "
9: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 14
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
12: new java.lang.StringBuilder
dup
ldc "password is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.password:[C
invokespecial java.lang.String.<init>:([C)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
return
15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.doNotPrompt:Z
ifeq 19
16: new javax.security.auth.login.LoginException
dup
17: ldc "Unable to obtain password from user\n"
18: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
ifnonnull 21
20: new javax.security.auth.login.LoginException
dup
ldc "No CallbackHandler available to garner authentication information from the user"
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
iconst_1
anewarray javax.security.auth.callback.Callback
astore 2
start local 2 22: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
astore 3
start local 3 23: new java.text.MessageFormat
dup
24: ldc "Kerberos.password.for.username."
25: invokestatic sun.security.util.ResourcesMgr.getAuthResourceString:(Ljava/lang/String;)Ljava/lang/String;
26: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 27: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
astore 5
start local 5 28: aload 2
iconst_0
new javax.security.auth.callback.PasswordCallback
dup
29: aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
30: iconst_0
invokespecial javax.security.auth.callback.PasswordCallback.<init>:(Ljava/lang/String;Z)V
31: aastore
32: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
aload 2
invokeinterface javax.security.auth.callback.CallbackHandler.handle:([Ljavax/security/auth/callback/Callback;)V
33: aload 2
iconst_0
aaload
34: checkcast javax.security.auth.callback.PasswordCallback
35: invokevirtual javax.security.auth.callback.PasswordCallback.getPassword:()[C
36: astore 6
start local 6 37: aload 6
ifnonnull 39
38: new javax.security.auth.login.LoginException
dup
ldc "No password provided"
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
39: StackMap locals: com.sun.security.auth.module.Krb5LoginModule int javax.security.auth.callback.Callback[] java.lang.String java.text.MessageFormat java.lang.Object[] char[]
StackMap stack:
aload 0
aload 6
arraylength
newarray 5
putfield com.sun.security.auth.module.Krb5LoginModule.password:[C
40: aload 6
iconst_0
41: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.password:[C
iconst_0
aload 6
arraylength
42: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
43: aload 2
iconst_0
aaload
checkcast javax.security.auth.callback.PasswordCallback
invokevirtual javax.security.auth.callback.PasswordCallback.clearPassword:()V
44: iconst_0
istore 7
start local 7 45: goto 48
46: StackMap locals: int
StackMap stack:
aload 6
iload 7
bipush 32
castore
47: iinc 7 1
StackMap locals:
StackMap stack:
48: iload 7
aload 6
arraylength
if_icmplt 46
end local 7 49: aconst_null
astore 6
50: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 64
51: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[Krb5LoginModule] user entered username: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
52: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
53: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
54: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
end local 6 end local 5 end local 4 end local 3 end local 2 55: goto 64
StackMap locals: com.sun.security.auth.module.Krb5LoginModule int
StackMap stack: java.io.IOException
56: astore 2
start local 2 57: new javax.security.auth.login.LoginException
dup
aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
end local 2 58: StackMap locals:
StackMap stack: javax.security.auth.callback.UnsupportedCallbackException
astore 2
start local 2 59: new javax.security.auth.login.LoginException
dup
new java.lang.StringBuilder
dup
aload 2
invokevirtual javax.security.auth.callback.UnsupportedCallbackException.getMessage:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
60: ldc " not available to garner "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
61: ldc " authentication information "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
62: ldc "from the user"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
63: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
end local 2 64: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 65 0 this Lcom/sun/security/auth/module/Krb5LoginModule;
0 65 1 getPasswdFromSharedState Z
22 55 2 callbacks [Ljavax/security/auth/callback/Callback;
23 55 3 userName Ljava/lang/String;
27 55 4 form Ljava/text/MessageFormat;
28 55 5 source [Ljava/lang/Object;
37 55 6 tmpPassword [C
45 49 7 i I
57 58 2 ioe Ljava/io/IOException;
59 64 2 uce Ljavax/security/auth/callback/UnsupportedCallbackException;
Exception table:
from to target type
21 55 56 Class java.io.IOException
21 55 58 Class javax.security.auth.callback.UnsupportedCallbackException
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
getPasswdFromSharedState
private void validateConfiguration();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.doNotPrompt:Z
ifeq 5
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useTicketCache:Z
ifne 5
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useKeyTab:Z
ifne 5
1: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.tryFirstPass:Z
ifne 5
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useFirstPass:Z
ifne 5
2: new javax.security.auth.login.LoginException
dup
3: ldc "Configuration Error - either doNotPrompt should be false or at least one of useTicketCache, useKeyTab, tryFirstPass and useFirstPass should be true"
4: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.ticketCacheName:Ljava/lang/String;
ifnull 11
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useTicketCache:Z
ifne 11
6: new javax.security.auth.login.LoginException
dup
7: new java.lang.StringBuilder
dup
ldc "Configuration Error - useTicketCache should be set to true to use the ticket cache"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.ticketCacheName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
ifnull 12
iconst_1
goto 13
StackMap locals:
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useKeyTab:Z
ifeq 14
iconst_0
goto 15
StackMap locals:
StackMap stack: int
14: iconst_1
StackMap locals: com.sun.security.auth.module.Krb5LoginModule
StackMap stack: int int
15: iand
ifeq 21
16: new javax.security.auth.login.LoginException
dup
17: new java.lang.StringBuilder
dup
ldc "Configuration Error - useKeyTab should be set to true to use the keytab"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.keyTabName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.storeKey:Z
ifeq 26
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.doNotPrompt:Z
ifeq 26
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useKeyTab:Z
ifne 26
22: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.tryFirstPass:Z
ifne 26
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useFirstPass:Z
ifne 26
23: new javax.security.auth.login.LoginException
dup
24: ldc "Configuration Error - either doNotPrompt should be set to false or at least one of tryFirstPass, useFirstPass or useKeyTab must be set to true for storeKey option"
25: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.renewTGT:Z
ifeq 30
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.useTicketCache:Z
ifne 30
27: new javax.security.auth.login.LoginException
dup
28: ldc "Configuration Error - either useTicketCache should be true or renewTGT should be false"
29: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
ifnull 35
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
31: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.isInitiator:Z
ifeq 35
32: new javax.security.auth.login.LoginException
dup
33: ldc "Configuration Error - principal cannot be * when isInitiator is true"
34: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/sun/security/auth/module/Krb5LoginModule;
Exceptions:
throws javax.security.auth.login.LoginException
private static boolean isCurrent(sun.security.krb5.Credentials);
descriptor: (Lsun/security/krb5/Credentials;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.krb5.Credentials.getEndTime:()Ljava/util/Date;
astore 1
start local 1 1: aload 1
ifnull 4
2: invokestatic java.lang.System.currentTimeMillis:()J
aload 1
invokevirtual java.util.Date.getTime:()J
lcmp
ifgt 3
iconst_1
ireturn
StackMap locals: java.util.Date
StackMap stack:
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 creds Lsun/security/krb5/Credentials;
1 5 1 endTime Ljava/util/Date;
MethodParameters:
Name Flags
creds
private static boolean isOld(sun.security.krb5.Credentials);
descriptor: (Lsun/security/krb5/Credentials;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.krb5.Credentials.getEndTime:()Ljava/util/Date;
astore 1
start local 1 1: aload 1
ifnull 9
2: aload 0
invokevirtual sun.security.krb5.Credentials.getAuthTime:()Ljava/util/Date;
astore 2
start local 2 3: invokestatic java.lang.System.currentTimeMillis:()J
lstore 3
start local 3 4: aload 2
ifnull 7
5: lload 3
aload 2
invokevirtual java.util.Date.getTime:()J
lsub
aload 1
invokevirtual java.util.Date.getTime:()J
lload 3
lsub
lcmp
ifle 6
iconst_1
ireturn
StackMap locals: java.util.Date java.util.Date long
StackMap stack:
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
lload 3
aload 1
invokevirtual java.util.Date.getTime:()J
ldc 7200000
lsub
lcmp
ifgt 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
end local 3 end local 2 9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 creds Lsun/security/krb5/Credentials;
1 10 1 endTime Ljava/util/Date;
3 9 2 authTime Ljava/util/Date;
4 9 3 now J
MethodParameters:
Name Flags
creds
private sun.security.krb5.Credentials renewCredentials(sun.security.krb5.Credentials);
descriptor: (Lsun/security/krb5/Credentials;)Lsun/security/krb5/Credentials;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual sun.security.krb5.Credentials.isRenewable:()Z
ifne 2
1: new javax.security.auth.RefreshFailedException
dup
ldc "This ticket is not renewable"
invokespecial javax.security.auth.RefreshFailedException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.krb5.Credentials.getRenewTill:()Ljava/util/Date;
ifnonnull 5
3: aload 1
4: areturn
5: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
invokevirtual sun.security.krb5.Credentials.getRenewTill:()Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
lcmp
ifle 7
6: new javax.security.auth.RefreshFailedException
dup
ldc "This ticket is past its last renewal time."
invokespecial javax.security.auth.RefreshFailedException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.krb5.Credentials.renew:()Lsun/security/krb5/Credentials;
astore 2
start local 2 8: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 17
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Renewed Kerberos Ticket"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: goto 17
end local 2 StackMap locals:
StackMap stack: java.lang.Exception
11: astore 3
start local 3 12: aconst_null
astore 2
start local 2 13: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 17
14: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Ticket could not be renewed : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: aload 3
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 3 17: StackMap locals: sun.security.krb5.Credentials
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/security/auth/module/Krb5LoginModule;
0 18 1 creds Lsun/security/krb5/Credentials;
8 11 2 lcreds Lsun/security/krb5/Credentials;
13 18 2 lcreds Lsun/security/krb5/Credentials;
12 17 3 e Ljava/lang/Exception;
Exception table:
from to target type
0 4 11 Class java.lang.Exception
5 10 11 Class java.lang.Exception
MethodParameters:
Name Flags
creds
public boolean commit();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=1
start local 0 0: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.isInitiator:Z
ifeq 5
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
ifnonnull 5
3: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
4: new javax.security.auth.login.LoginException
dup
ldc "Null Client Credential"
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.isReadOnly:()Z
ifeq 8
6: aload 0
invokevirtual com.sun.security.auth.module.Krb5LoginModule.cleanKerberosCred:()V
7: new javax.security.auth.login.LoginException
dup
ldc "Subject is Readonly"
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.getPrivateCredentials:()Ljava/util/Set;
astore 1
start local 1 9: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.getPrincipals:()Ljava/util/Set;
astore 2
start local 2 10: aload 0
new javax.security.auth.kerberos.KerberosPrincipal
dup
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getName:()Ljava/lang/String;
invokespecial javax.security.auth.kerberos.KerberosPrincipal.<init>:(Ljava/lang/String;)V
putfield com.sun.security.auth.module.Krb5LoginModule.kerbClientPrinc:Ljavax/security/auth/kerberos/KerberosPrincipal;
11: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.isInitiator:Z
ifeq 13
12: aload 0
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.cred:Lsun/security/krb5/Credentials;
invokestatic sun.security.jgss.krb5.Krb5Util.credsToTicket:(Lsun/security/krb5/Credentials;)Ljavax/security/auth/kerberos/KerberosTicket;
putfield com.sun.security.auth.module.Krb5LoginModule.kerbTicket:Ljavax/security/auth/kerberos/KerberosTicket;
13: StackMap locals: java.util.Set java.util.Set
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.storeKey:Z
ifeq 32
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
ifnull 32
14: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
arraylength
ifne 17
15: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
16: new javax.security.auth.login.LoginException
dup
ldc "Null Server Key "
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
arraylength
anewarray javax.security.auth.kerberos.KerberosKey
putfield com.sun.security.auth.module.Krb5LoginModule.kerbKeys:[Ljavax/security/auth/kerberos/KerberosKey;
18: iconst_0
istore 3
start local 3 19: goto 31
20: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
iload 3
aaload
invokevirtual sun.security.krb5.EncryptionKey.getKeyVersionNumber:()Ljava/lang/Integer;
astore 4
start local 4 21: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbKeys:[Ljavax/security/auth/kerberos/KerberosKey;
iload 3
22: new javax.security.auth.kerberos.KerberosKey
dup
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbClientPrinc:Ljavax/security/auth/kerberos/KerberosPrincipal;
23: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
iload 3
aaload
invokevirtual sun.security.krb5.EncryptionKey.getBytes:()[B
24: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
iload 3
aaload
invokevirtual sun.security.krb5.EncryptionKey.getEType:()I
25: aload 4
ifnonnull 27
26: iconst_0
goto 28
StackMap locals: com.sun.security.auth.module.Krb5LoginModule java.util.Set java.util.Set int java.lang.Integer
StackMap stack: javax.security.auth.kerberos.KerberosKey[] int new 22 new 22 javax.security.auth.kerberos.KerberosPrincipal byte[] int
27: aload 4
invokevirtual java.lang.Integer.intValue:()I
StackMap locals: com.sun.security.auth.module.Krb5LoginModule java.util.Set java.util.Set int java.lang.Integer
StackMap stack: javax.security.auth.kerberos.KerberosKey[] int new 22 new 22 javax.security.auth.kerberos.KerberosPrincipal byte[] int int
28: invokespecial javax.security.auth.kerberos.KerberosKey.<init>:(Ljavax/security/auth/kerberos/KerberosPrincipal;[BII)V
29: aastore
end local 4 30: iinc 3 1
StackMap locals:
StackMap stack:
31: iload 3
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
arraylength
if_icmplt 20
end local 3 32: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.unboundServer:Z
ifne 35
33: aload 2
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbClientPrinc:Ljavax/security/auth/kerberos/KerberosPrincipal;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 35
34: aload 2
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbClientPrinc:Ljavax/security/auth/kerberos/KerberosPrincipal;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
35: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbTicket:Ljavax/security/auth/kerberos/KerberosTicket;
ifnull 38
36: aload 1
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbTicket:Ljavax/security/auth/kerberos/KerberosTicket;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 38
37: aload 1
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbTicket:Ljavax/security/auth/kerberos/KerberosTicket;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
38: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.storeKey:Z
ifeq 62
39: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
ifnonnull 46
40: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.ktab:Ljavax/security/auth/kerberos/KeyTab;
ifnull 44
41: aload 1
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.ktab:Ljavax/security/auth/kerberos/KeyTab;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 62
42: aload 1
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.ktab:Ljavax/security/auth/kerberos/KeyTab;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
43: goto 62
44: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
45: new javax.security.auth.login.LoginException
dup
ldc "No key to store"
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
46: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 47: goto 61
48: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbKeys:[Ljavax/security/auth/kerberos/KerberosKey;
iload 3
aaload
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 50
49: aload 1
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbKeys:[Ljavax/security/auth/kerberos/KerberosKey;
iload 3
aaload
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
50: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
iload 3
aaload
invokevirtual sun.security.krb5.EncryptionKey.destroy:()V
51: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
iload 3
aconst_null
aastore
52: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 60
53: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Added server's key"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
54: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbKeys:[Ljavax/security/auth/kerberos/KerberosKey;
iload 3
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
55: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
56: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[Krb5LoginModule] added Krb5Principal "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
57: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbClientPrinc:Ljavax/security/auth/kerberos/KerberosPrincipal;
invokevirtual javax.security.auth.kerberos.KerberosPrincipal.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
58: ldc " to Subject"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
59: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
60: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
61: iload 3
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbKeys:[Ljavax/security/auth/kerberos/KerberosKey;
arraylength
if_icmplt 48
end local 3 end local 2 end local 1 62: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.security.auth.module.Krb5LoginModule.commitSucceeded:Z
63: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 65
64: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Commit Succeeded \n"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
65: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 66 0 this Lcom/sun/security/auth/module/Krb5LoginModule;
9 62 1 privCredSet Ljava/util/Set<Ljava/lang/Object;>;
10 62 2 princSet Ljava/util/Set<Ljava/security/Principal;>;
19 32 3 i I
21 30 4 temp Ljava/lang/Integer;
47 62 3 i I
Exceptions:
throws javax.security.auth.login.LoginException
public boolean abort();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
ifeq 6
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.commitSucceeded:Z
ifne 6
3: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
4: aload 0
invokevirtual com.sun.security.auth.module.Krb5LoginModule.cleanKerberosCred:()V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.security.auth.module.Krb5LoginModule.logout:()Z
pop
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/security/auth/module/Krb5LoginModule;
Exceptions:
throws javax.security.auth.login.LoginException
public boolean logout();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t[Krb5LoginModule]: Entering logout"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.isReadOnly:()Z
ifeq 5
3: aload 0
invokevirtual com.sun.security.auth.module.Krb5LoginModule.cleanKerberosCred:()V
4: new javax.security.auth.login.LoginException
dup
ldc "Subject is Readonly"
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.getPrincipals:()Ljava/util/Set;
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbClientPrinc:Ljavax/security/auth/kerberos/KerberosPrincipal;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
6: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.getPrivateCredentials:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 1
start local 1 7: goto 13
8: StackMap locals: java.util.Iterator
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 2
start local 2 9: aload 2
instanceof javax.security.auth.kerberos.KerberosTicket
ifne 12
10: aload 2
instanceof javax.security.auth.kerberos.KerberosKey
ifne 12
11: aload 2
instanceof javax.security.auth.kerberos.KeyTab
ifeq 13
12: StackMap locals: java.lang.Object
StackMap stack:
aload 1
invokeinterface java.util.Iterator.remove:()V
end local 2 13: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
14: aload 0
invokevirtual com.sun.security.auth.module.Krb5LoginModule.cleanKerberosCred:()V
15: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
16: aload 0
iconst_0
putfield com.sun.security.auth.module.Krb5LoginModule.commitSucceeded:Z
17: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.debug:Z
ifeq 19
18: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t[Krb5LoginModule]: logged out Subject"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/security/auth/module/Krb5LoginModule;
7 20 1 it Ljava/util/Iterator<Ljava/lang/Object;>;
9 13 2 o Ljava/lang/Object;
Exceptions:
throws javax.security.auth.login.LoginException
private void cleanKerberosCred();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbTicket:Ljavax/security/auth/kerberos/KerberosTicket;
ifnull 2
1: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbTicket:Ljavax/security/auth/kerberos/KerberosTicket;
invokevirtual javax.security.auth.kerberos.KerberosTicket.destroy:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbKeys:[Ljavax/security/auth/kerberos/KerberosKey;
ifnull 13
3: iconst_0
istore 1
start local 1 4: goto 7
5: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbKeys:[Ljavax/security/auth/kerberos/KerberosKey;
iload 1
aaload
invokevirtual javax.security.auth.kerberos.KerberosKey.destroy:()V
6: iinc 1 1
StackMap locals:
StackMap stack:
7: iload 1
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.kerbKeys:[Ljavax/security/auth/kerberos/KerberosKey;
arraylength
if_icmplt 5
end local 1 8: goto 13
StackMap locals: com.sun.security.auth.module.Krb5LoginModule
StackMap stack: javax.security.auth.DestroyFailedException
9: pop
10: new javax.security.auth.login.LoginException
dup
11: ldc "Destroy Failed on Kerberos Private Credentials"
12: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.kerbTicket:Ljavax/security/auth/kerberos/KerberosTicket;
14: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.kerbKeys:[Ljavax/security/auth/kerberos/KerberosKey;
15: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.kerbClientPrinc:Ljavax/security/auth/kerberos/KerberosPrincipal;
16: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/security/auth/module/Krb5LoginModule;
4 8 1 i I
Exception table:
from to target type
0 8 9 Class javax.security.auth.DestroyFailedException
Exceptions:
throws javax.security.auth.login.LoginException
private void cleanState();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.succeeded:Z
ifeq 7
1: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.storePass:Z
ifeq 10
2: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.name"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 10
3: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.password"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 10
4: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.name"
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.password"
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.password:[C
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: goto 10
7: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.encKeys:[Lsun/security/krb5/EncryptionKey;
8: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.ktab:Ljavax/security/auth/kerberos/KeyTab;
9: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.principal:Lsun/security/krb5/PrincipalName;
10: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.username:Ljava/lang/String;
11: aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.password:[C
12: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
ifnull 14
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.length:()I
ifeq 14
13: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
iconst_0
aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.length:()I
invokevirtual java.lang.StringBuffer.delete:(II)Ljava/lang/StringBuffer;
pop
14: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.security.auth.module.Krb5LoginModule.krb5PrincName:Ljava/lang/StringBuffer;
15: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.clearPass:Z
ifeq 18
16: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.name"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 0
getfield com.sun.security.auth.module.Krb5LoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.password"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
18: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/security/auth/module/Krb5LoginModule;
}
SourceFile: "Krb5LoginModule.java"