public class sun.security.krb5.internal.tools.Klist
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.krb5.internal.tools.Klist
super_class: java.lang.Object
{
java.lang.Object target;
descriptor: Ljava/lang/Object;
flags: (0x0000)
char[] options;
descriptor: [C
flags: (0x0000)
java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0000)
char action;
descriptor: C
flags: (0x0000)
private static boolean DEBUG;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.security.krb5.internal.Krb5.DEBUG:Z
putstatic sun.security.krb5.internal.tools.Klist.DEBUG:Z
return
LocalVariableTable:
Start End Slot Name Signature
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_3
newarray 5
putfield sun.security.krb5.internal.tools.Klist.options:[C
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/internal/tools/Klist;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new sun.security.krb5.internal.tools.Klist
dup
invokespecial sun.security.krb5.internal.tools.Klist.<init>:()V
astore 1
start local 1 1: aload 0
ifnull 2
aload 0
arraylength
ifne 4
2: StackMap locals: sun.security.krb5.internal.tools.Klist
StackMap stack:
aload 1
bipush 99
putfield sun.security.krb5.internal.tools.Klist.action:C
3: goto 5
4: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual sun.security.krb5.internal.tools.Klist.processArgs:([Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.krb5.internal.tools.Klist.action:C
lookupswitch { // 2
99: 6
107: 17
default: 28
}
6: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
ifnonnull 10
7: aload 1
invokestatic sun.security.krb5.internal.ccache.CredentialsCache.getInstance:()Lsun/security/krb5/internal/ccache/CredentialsCache;
putfield sun.security.krb5.internal.tools.Klist.target:Ljava/lang/Object;
8: aload 1
invokestatic sun.security.krb5.internal.ccache.CredentialsCache.cacheName:()Ljava/lang/String;
putfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
9: goto 11
10: StackMap locals:
StackMap stack:
aload 1
aload 1
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
invokestatic sun.security.krb5.internal.ccache.CredentialsCache.getInstance:(Ljava/lang/String;)Lsun/security/krb5/internal/ccache/CredentialsCache;
putfield sun.security.krb5.internal.tools.Klist.target:Ljava/lang/Object;
11: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.krb5.internal.tools.Klist.target:Ljava/lang/Object;
ifnull 14
12: aload 1
invokevirtual sun.security.krb5.internal.tools.Klist.displayCache:()V
13: goto 39
14: StackMap locals:
StackMap stack:
aload 1
ldc "Credentials cache"
invokevirtual sun.security.krb5.internal.tools.Klist.displayMessage:(Ljava/lang/String;)V
15: iconst_m1
invokestatic java.lang.System.exit:(I)V
16: goto 39
17: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
ifnonnull 21
18: aload 1
invokestatic sun.security.krb5.internal.ktab.KeyTab.getInstance:()Lsun/security/krb5/internal/ktab/KeyTab;
putfield sun.security.krb5.internal.tools.Klist.target:Ljava/lang/Object;
19: aload 1
invokestatic sun.security.krb5.internal.ktab.KeyTab.tabName:()Ljava/lang/String;
putfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
20: goto 22
StackMap locals:
StackMap stack:
21: aload 1
aload 1
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
invokestatic sun.security.krb5.internal.ktab.KeyTab.getInstance:(Ljava/lang/String;)Lsun/security/krb5/internal/ktab/KeyTab;
putfield sun.security.krb5.internal.tools.Klist.target:Ljava/lang/Object;
22: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.krb5.internal.tools.Klist.target:Ljava/lang/Object;
ifnull 25
23: aload 1
invokevirtual sun.security.krb5.internal.tools.Klist.displayTab:()V
24: goto 39
25: StackMap locals:
StackMap stack:
aload 1
ldc "KeyTab"
invokevirtual sun.security.krb5.internal.tools.Klist.displayMessage:(Ljava/lang/String;)V
26: iconst_m1
invokestatic java.lang.System.exit:(I)V
27: goto 39
28: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
ifnull 32
29: aload 1
invokevirtual sun.security.krb5.internal.tools.Klist.printHelp:()V
30: iconst_m1
invokestatic java.lang.System.exit:(I)V
31: goto 39
32: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.krb5.internal.ccache.CredentialsCache.getInstance:()Lsun/security/krb5/internal/ccache/CredentialsCache;
putfield sun.security.krb5.internal.tools.Klist.target:Ljava/lang/Object;
33: aload 1
invokestatic sun.security.krb5.internal.ccache.CredentialsCache.cacheName:()Ljava/lang/String;
putfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
34: aload 1
getfield sun.security.krb5.internal.tools.Klist.target:Ljava/lang/Object;
ifnull 37
35: aload 1
invokevirtual sun.security.krb5.internal.tools.Klist.displayCache:()V
36: goto 39
37: StackMap locals:
StackMap stack:
aload 1
ldc "Credentials cache"
invokevirtual sun.security.krb5.internal.tools.Klist.displayMessage:(Ljava/lang/String;)V
38: iconst_m1
invokestatic java.lang.System.exit:(I)V
39: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 args [Ljava/lang/String;
1 40 1 klist Lsun/security/krb5/internal/tools/Klist;
MethodParameters:
Name Flags
args
void processArgs(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 3
start local 3 1: goto 27
2: StackMap locals: sun.security.krb5.internal.tools.Klist java.lang.String[] top int
StackMap stack:
aload 1
iload 3
aaload
invokevirtual java.lang.String.length:()I
iconst_2
if_icmplt 20
aload 1
iload 3
aaload
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 20
3: new java.lang.Character
dup
aload 1
iload 3
aaload
iconst_1
invokevirtual java.lang.String.charAt:(I)C
invokespecial java.lang.Character.<init>:(C)V
astore 2
start local 2 4: aload 2
invokevirtual java.lang.Character.charValue:()C
lookupswitch { // 6
75: 13
99: 5
101: 11
102: 9
107: 7
116: 15
default: 17
}
5: StackMap locals: sun.security.krb5.internal.tools.Klist java.lang.String[] java.lang.Character int
StackMap stack:
aload 0
bipush 99
putfield sun.security.krb5.internal.tools.Klist.action:C
6: goto 26
7: StackMap locals:
StackMap stack:
aload 0
bipush 107
putfield sun.security.krb5.internal.tools.Klist.action:C
8: goto 26
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_1
bipush 102
castore
10: goto 26
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_0
bipush 101
castore
12: goto 26
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_1
bipush 75
castore
14: goto 26
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_2
bipush 116
castore
16: goto 26
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.krb5.internal.tools.Klist.printHelp:()V
18: iconst_m1
invokestatic java.lang.System.exit:(I)V
19: goto 26
end local 2 20: StackMap locals: sun.security.krb5.internal.tools.Klist java.lang.String[] top int
StackMap stack:
aload 1
iload 3
aaload
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 24
iload 3
aload 1
arraylength
iconst_1
isub
if_icmpne 24
21: aload 0
aload 1
iload 3
aaload
putfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
22: aconst_null
astore 2
start local 2 23: goto 26
end local 2 24: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.krb5.internal.tools.Klist.printHelp:()V
25: iconst_m1
invokestatic java.lang.System.exit:(I)V
26: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
27: iload 3
aload 1
arraylength
if_icmplt 2
end local 3 28: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/security/krb5/internal/tools/Klist;
0 29 1 args [Ljava/lang/String;
4 20 2 arg Ljava/lang/Character;
23 24 2 arg Ljava/lang/Character;
1 28 3 i I
MethodParameters:
Name Flags
args
void displayTab();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.internal.tools.Klist.target:Ljava/lang/Object;
checkcast sun.security.krb5.internal.ktab.KeyTab
astore 1
start local 1 1: aload 1
invokevirtual sun.security.krb5.internal.ktab.KeyTab.getEntries:()[Lsun/security/krb5/internal/ktab/KeyTabEntry;
astore 2
start local 2 2: aload 2
arraylength
ifne 7
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\nKey tab: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " 0 entries found.\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: goto 40
7: StackMap locals: sun.security.krb5.internal.ktab.KeyTab sun.security.krb5.internal.ktab.KeyTabEntry[]
StackMap stack:
aload 2
arraylength
iconst_1
if_icmpne 12
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\nKey tab: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " entry found.\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: goto 15
12: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\nKey tab: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: aload 2
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " entries found.\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 16: goto 39
17: StackMap locals: int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: ldc "Service principal: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: aload 2
iload 3
aaload
invokevirtual sun.security.krb5.internal.ktab.KeyTabEntry.getService:()Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
21: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t KVNO: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: aload 2
iload 3
aaload
invokevirtual sun.security.krb5.internal.ktab.KeyTabEntry.getKey:()Lsun/security/krb5/EncryptionKey;
invokevirtual sun.security.krb5.EncryptionKey.getKeyVersionNumber:()Ljava/lang/Integer;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
24: aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_0
caload
bipush 101
if_icmpne 29
25: aload 2
iload 3
aaload
invokevirtual sun.security.krb5.internal.ktab.KeyTabEntry.getKey:()Lsun/security/krb5/EncryptionKey;
astore 4
start local 4 26: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t Key type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
27: aload 4
invokevirtual sun.security.krb5.EncryptionKey.getEType:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 29: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_1
caload
bipush 75
if_icmpne 34
30: aload 2
iload 3
aaload
invokevirtual sun.security.krb5.internal.ktab.KeyTabEntry.getKey:()Lsun/security/krb5/EncryptionKey;
pop
31: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t Key: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
32: aload 2
iload 3
aaload
invokevirtual sun.security.krb5.internal.ktab.KeyTabEntry.getKeyString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
34: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_2
caload
bipush 116
if_icmpne 38
35: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t Time stamp: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
36: aload 0
aload 2
iload 3
aaload
invokevirtual sun.security.krb5.internal.ktab.KeyTabEntry.getTimeStamp:()Lsun/security/krb5/internal/KerberosTime;
invokevirtual sun.security.krb5.internal.KerberosTime.toDate:()Ljava/util/Date;
invokevirtual java.util.Date.toString:()Ljava/lang/String;
invokevirtual sun.security.krb5.internal.tools.Klist.reformat:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
37: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
38: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
39: iload 3
aload 2
arraylength
if_icmplt 17
end local 3 40: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lsun/security/krb5/internal/tools/Klist;
1 41 1 table Lsun/security/krb5/internal/ktab/KeyTab;
2 41 2 entries [Lsun/security/krb5/internal/ktab/KeyTabEntry;
16 40 3 i I
26 29 4 key Lsun/security/krb5/EncryptionKey;
void displayCache();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=11, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.internal.tools.Klist.target:Ljava/lang/Object;
checkcast sun.security.krb5.internal.ccache.CredentialsCache
astore 1
start local 1 1: aload 1
invokevirtual sun.security.krb5.internal.ccache.CredentialsCache.getCredsList:()[Lsun/security/krb5/internal/ccache/Credentials;
2: astore 2
start local 2 3: aload 2
ifnonnull 8
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "No credentials available in the cache "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 0
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
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: iconst_m1
invokestatic java.lang.System.exit:(I)V
8: StackMap locals: sun.security.krb5.internal.ccache.CredentialsCache sun.security.krb5.internal.ccache.Credentials[]
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\nCredentials cache: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: aload 1
invokevirtual sun.security.krb5.internal.ccache.CredentialsCache.getPrimaryPrincipal:()Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.toString:()Ljava/lang/String;
astore 3
start local 3 10: aload 2
arraylength
istore 4
start local 4 11: iload 4
iconst_1
if_icmpne 17
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\nDefault principal: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: aload 2
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " entry found.\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: goto 21
17: StackMap locals: java.lang.String int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\nDefault principal: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: aload 2
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " entries found.\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
21: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 22: aconst_null
astore 6
start local 6 23: aconst_null
astore 7
start local 7 24: aconst_null
astore 8
start local 8 25: aload 2
ifnull 56
26: iconst_0
istore 9
start local 9 27: goto 54
28: StackMap locals: sun.security.krb5.internal.tools.Klist sun.security.krb5.internal.ccache.CredentialsCache sun.security.krb5.internal.ccache.Credentials[] java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String int
StackMap stack:
aload 0
aload 2
iload 9
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getAuthTime:()Lsun/security/krb5/internal/KerberosTime;
invokevirtual sun.security.krb5.internal.KerberosTime.toDate:()Ljava/util/Date;
invokevirtual java.util.Date.toString:()Ljava/lang/String;
invokevirtual sun.security.krb5.internal.tools.Klist.reformat:(Ljava/lang/String;)Ljava/lang/String;
29: astore 5
30: aload 0
aload 2
iload 9
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getEndTime:()Lsun/security/krb5/internal/KerberosTime;
invokevirtual sun.security.krb5.internal.KerberosTime.toDate:()Ljava/util/Date;
invokevirtual java.util.Date.toString:()Ljava/lang/String;
invokevirtual sun.security.krb5.internal.tools.Klist.reformat:(Ljava/lang/String;)Ljava/lang/String;
31: astore 6
32: aload 2
iload 9
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getServicePrincipal:()Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.toString:()Ljava/lang/String;
33: astore 7
34: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: ldc " Service Principal: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
36: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
37: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
38: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Valid starting: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Expires: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
40: aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_0
caload
bipush 101
if_icmpne 43
41: aload 2
iload 9
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getEType:()I
invokestatic sun.security.krb5.internal.crypto.EType.toString:(I)Ljava/lang/String;
astore 8
42: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t Encryption type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
43: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_1
caload
bipush 102
if_icmpne 53
44: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t Flags: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
45: aload 2
iload 9
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getTicketFlags:()Lsun/security/krb5/internal/TicketFlags;
invokevirtual sun.security.krb5.internal.TicketFlags.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
46: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
47: goto 53
StackMap locals:
StackMap stack: sun.security.krb5.RealmException
48: astore 10
start local 10 49: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Error reading principal from the entry."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
50: getstatic sun.security.krb5.internal.tools.Klist.DEBUG:Z
ifeq 52
51: aload 10
invokevirtual sun.security.krb5.RealmException.printStackTrace:()V
52: StackMap locals: sun.security.krb5.RealmException
StackMap stack:
iconst_m1
invokestatic java.lang.System.exit:(I)V
end local 10 53: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
54: iload 9
aload 2
arraylength
if_icmplt 28
end local 9 55: goto 57
56: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\nNo entries found."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
57: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lsun/security/krb5/internal/tools/Klist;
1 58 1 cache Lsun/security/krb5/internal/ccache/CredentialsCache;
3 58 2 creds [Lsun/security/krb5/internal/ccache/Credentials;
10 58 3 defaultPrincipal Ljava/lang/String;
11 58 4 num I
22 58 5 starttime Ljava/lang/String;
23 58 6 endtime Ljava/lang/String;
24 58 7 servicePrincipal Ljava/lang/String;
25 58 8 etype Ljava/lang/String;
27 55 9 i I
49 53 10 e Lsun/security/krb5/RealmException;
Exception table:
from to target type
28 47 48 Class sun.security.krb5.RealmException
void displayMessage(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
ifnonnull 2
1: aload 0
ldc ""
putfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
2: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not found."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/krb5/internal/tools/Klist;
0 4 1 target Ljava/lang/String;
MethodParameters:
Name Flags
target
java.lang.String reformat(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 1
iconst_4
bipush 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
bipush 8
bipush 10
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
bipush 24
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
bipush 11
bipush 16
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/krb5/internal/tools/Klist;
0 4 1 date Ljava/lang/String;
MethodParameters:
Name Flags
date
void printHelp();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\nUsage: klist [[-c] [-f] [-e]] [-k [-t] [-K]] [name]"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " name\t name of credentials cache or keytab with the prefix. File-based cache or keytab's prefix is FILE:."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " -c specifes that credential cache is to be listed"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " -k specifies that key tab is to be listed"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " options for credentials caches:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t-f \t shows credentials flags"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t-e \t shows the encryption type"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " options for keytabs:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t-t \t shows keytab entry timestamps"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t-K \t shows keytab entry key value"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t-e \t shows keytab entry key type"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\nUsage: java sun.security.krb5.tools.Klist -help for help."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
12: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/krb5/internal/tools/Klist;
}
SourceFile: "Klist.java"