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_4
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=4, locals=3, 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: 31
}
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 42
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 42
17: StackMap locals:
StackMap stack:
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;
astore 2
start local 2 18: aload 2
invokevirtual sun.security.krb5.internal.ktab.KeyTab.isMissing:()Z
ifeq 22
19: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "KeyTab "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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
20: iconst_m1
invokestatic java.lang.System.exit:(I)V
21: goto 27
StackMap locals: sun.security.krb5.internal.ktab.KeyTab
StackMap stack:
22: aload 2
invokevirtual sun.security.krb5.internal.ktab.KeyTab.isValid:()Z
ifne 27
23: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "KeyTab "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: ldc " format not supported."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
26: iconst_m1
invokestatic java.lang.System.exit:(I)V
27: StackMap locals:
StackMap stack:
aload 1
aload 2
putfield sun.security.krb5.internal.tools.Klist.target:Ljava/lang/Object;
28: aload 1
aload 2
invokevirtual sun.security.krb5.internal.ktab.KeyTab.tabName:()Ljava/lang/String;
putfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
29: aload 1
invokevirtual sun.security.krb5.internal.tools.Klist.displayTab:()V
30: goto 42
end local 2 31: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
ifnull 35
32: aload 1
invokevirtual sun.security.krb5.internal.tools.Klist.printHelp:()V
33: iconst_m1
invokestatic java.lang.System.exit:(I)V
34: goto 42
35: 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;
36: aload 1
invokestatic sun.security.krb5.internal.ccache.CredentialsCache.cacheName:()Ljava/lang/String;
putfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
37: aload 1
getfield sun.security.krb5.internal.tools.Klist.target:Ljava/lang/Object;
ifnull 40
38: aload 1
invokevirtual sun.security.krb5.internal.tools.Klist.displayCache:()V
39: goto 42
40: StackMap locals:
StackMap stack:
aload 1
ldc "Credentials cache"
invokevirtual sun.security.krb5.internal.tools.Klist.displayMessage:(Ljava/lang/String;)V
41: iconst_m1
invokestatic java.lang.System.exit:(I)V
42: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 args [Ljava/lang/String;
1 43 1 klist Lsun/security/krb5/internal/tools/Klist;
18 31 2 ktab Lsun/security/krb5/internal/ktab/KeyTab;
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 31
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 24
aload 1
iload 3
aaload
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 24
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 { // 8
75: 17
97: 9
99: 5
101: 15
102: 13
107: 7
110: 11
116: 19
default: 21
}
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 30
7: StackMap locals:
StackMap stack:
aload 0
bipush 107
putfield sun.security.krb5.internal.tools.Klist.action:C
8: goto 30
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_2
bipush 97
castore
10: goto 30
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_3
bipush 110
castore
12: goto 30
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_1
bipush 102
castore
14: goto 30
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_0
bipush 101
castore
16: goto 30
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_1
bipush 75
castore
18: goto 30
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_2
bipush 116
castore
20: goto 30
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.krb5.internal.tools.Klist.printHelp:()V
22: iconst_m1
invokestatic java.lang.System.exit:(I)V
23: goto 30
end local 2 24: 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 28
iload 3
aload 1
arraylength
iconst_1
isub
if_icmpne 28
25: aload 0
aload 1
iload 3
aaload
putfield sun.security.krb5.internal.tools.Klist.name:Ljava/lang/String;
26: aconst_null
astore 2
start local 2 27: goto 30
end local 2 28: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.krb5.internal.tools.Klist.printHelp:()V
29: iconst_m1
invokestatic java.lang.System.exit:(I)V
30: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
31: iload 3
aload 1
arraylength
if_icmplt 2
end local 3 32: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/security/krb5/internal/tools/Klist;
0 33 1 args [Ljava/lang/String;
4 24 2 arg Ljava/lang/Character;
27 28 2 arg Ljava/lang/Character;
1 32 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.tools.Klist.format:(Lsun/security/krb5/internal/KerberosTime;)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=17, 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:
aload 2
ifnull 83
22: iconst_0
istore 5
start local 5 23: goto 81
24: StackMap locals: int
StackMap stack:
aload 2
iload 5
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getStartTime:()Lsun/security/krb5/internal/KerberosTime;
ifnull 27
25: aload 0
aload 2
iload 5
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getStartTime:()Lsun/security/krb5/internal/KerberosTime;
invokevirtual sun.security.krb5.internal.tools.Klist.format:(Lsun/security/krb5/internal/KerberosTime;)Ljava/lang/String;
astore 6
start local 6 26: goto 28
end local 6 27: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 5
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getAuthTime:()Lsun/security/krb5/internal/KerberosTime;
invokevirtual sun.security.krb5.internal.tools.Klist.format:(Lsun/security/krb5/internal/KerberosTime;)Ljava/lang/String;
astore 6
start local 6 28: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 2
iload 5
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getEndTime:()Lsun/security/krb5/internal/KerberosTime;
invokevirtual sun.security.krb5.internal.tools.Klist.format:(Lsun/security/krb5/internal/KerberosTime;)Ljava/lang/String;
astore 7
start local 7 29: aload 2
iload 5
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getServicePrincipal:()Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.toString:()Ljava/lang/String;
30: astore 9
start local 9 31: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: ldc " Service Principal: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
33: aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
35: 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 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
36: 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 7
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
37: aload 2
iload 5
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getRenewTill:()Lsun/security/krb5/internal/KerberosTime;
ifnull 42
38: aload 0
aload 2
iload 5
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getRenewTill:()Lsun/security/krb5/internal/KerberosTime;
invokevirtual sun.security.krb5.internal.tools.Klist.format:(Lsun/security/krb5/internal/KerberosTime;)Ljava/lang/String;
astore 8
start local 8 39: getstatic java.lang.System.out:Ljava/io/PrintStream;
40: new java.lang.StringBuilder
dup
ldc " Renew until: "
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;
41: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 8 42: StackMap locals: sun.security.krb5.internal.tools.Klist sun.security.krb5.internal.ccache.CredentialsCache sun.security.krb5.internal.ccache.Credentials[] java.lang.String int int java.lang.String java.lang.String top java.lang.String
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_0
caload
bipush 101
if_icmpne 48
43: aload 2
iload 5
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getEType:()I
invokestatic sun.security.krb5.internal.crypto.EType.toString:(I)Ljava/lang/String;
astore 10
start local 10 44: aload 2
iload 5
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.getTktEType:()I
invokestatic sun.security.krb5.internal.crypto.EType.toString:(I)Ljava/lang/String;
astore 11
start local 11 45: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " EType (skey, tkt): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
46: aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
47: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 11 end local 10 48: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_1
caload
bipush 102
if_icmpne 52
49: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Flags: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
50: aload 2
iload 5
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;
51: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
52: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_2
caload
bipush 97
if_icmpne 80
53: iconst_1
istore 10
start local 10 54: aload 2
iload 5
aaload
invokevirtual sun.security.krb5.internal.ccache.Credentials.setKrbCreds:()Lsun/security/krb5/Credentials;
invokevirtual sun.security.krb5.Credentials.getClientAddresses:()[Ljava/net/InetAddress;
55: astore 11
start local 11 56: aload 11
ifnull 73
57: aload 11
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 71
StackMap locals: sun.security.krb5.internal.tools.Klist sun.security.krb5.internal.ccache.CredentialsCache sun.security.krb5.internal.ccache.Credentials[] java.lang.String int int java.lang.String java.lang.String top java.lang.String int java.net.InetAddress[] top int int java.net.InetAddress[]
StackMap stack:
58: aload 15
iload 13
aaload
astore 12
start local 12 59: aload 0
getfield sun.security.krb5.internal.tools.Klist.options:[C
iconst_3
caload
bipush 110
if_icmpne 62
60: aload 12
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
astore 16
start local 16 61: goto 63
end local 16 62: StackMap locals: sun.security.krb5.internal.tools.Klist sun.security.krb5.internal.ccache.CredentialsCache sun.security.krb5.internal.ccache.Credentials[] java.lang.String int int java.lang.String java.lang.String top java.lang.String int java.net.InetAddress[] java.net.InetAddress int int java.net.InetAddress[]
StackMap stack:
aload 12
invokevirtual java.net.InetAddress.getCanonicalHostName:()Ljava/lang/String;
astore 16
start local 16 63: StackMap locals: java.lang.String
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
64: iload 10
ifeq 65
ldc "Addresses:"
goto 66
StackMap locals: sun.security.krb5.internal.tools.Klist sun.security.krb5.internal.ccache.CredentialsCache sun.security.krb5.internal.ccache.Credentials[] java.lang.String int int java.lang.String java.lang.String top java.lang.String int java.net.InetAddress[] java.net.InetAddress int int java.net.InetAddress[] java.lang.String
StackMap stack: java.io.PrintStream java.lang.StringBuilder
65: ldc " "
StackMap locals: sun.security.krb5.internal.tools.Klist sun.security.krb5.internal.ccache.CredentialsCache sun.security.krb5.internal.ccache.Credentials[] java.lang.String int int java.lang.String java.lang.String top java.lang.String int java.net.InetAddress[] java.net.InetAddress int int java.net.InetAddress[] java.lang.String
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
66: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
67: ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
68: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
69: iconst_0
istore 10
end local 16 end local 12 70: iinc 13 1
StackMap locals: sun.security.krb5.internal.tools.Klist sun.security.krb5.internal.ccache.CredentialsCache sun.security.krb5.internal.ccache.Credentials[] java.lang.String int int java.lang.String java.lang.String top java.lang.String int java.net.InetAddress[] top int int java.net.InetAddress[]
StackMap stack:
71: iload 13
iload 14
if_icmplt 58
72: goto 80
73: StackMap locals: sun.security.krb5.internal.tools.Klist sun.security.krb5.internal.ccache.CredentialsCache sun.security.krb5.internal.ccache.Credentials[] java.lang.String int int java.lang.String java.lang.String top java.lang.String int java.net.InetAddress[]
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " [No host addresses info]"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 11 end local 10 end local 9 end local 7 end local 6 74: goto 80
StackMap locals: sun.security.krb5.internal.tools.Klist sun.security.krb5.internal.ccache.CredentialsCache sun.security.krb5.internal.ccache.Credentials[] java.lang.String int int
StackMap stack: sun.security.krb5.RealmException
75: astore 6
start local 6 76: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Error reading principal from the entry."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
77: getstatic sun.security.krb5.internal.tools.Klist.DEBUG:Z
ifeq 79
78: aload 6
invokevirtual sun.security.krb5.RealmException.printStackTrace:()V
79: StackMap locals: sun.security.krb5.RealmException
StackMap stack:
iconst_m1
invokestatic java.lang.System.exit:(I)V
end local 6 80: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
81: iload 5
aload 2
arraylength
if_icmplt 24
end local 5 82: goto 84
83: 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
84: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 85 0 this Lsun/security/krb5/internal/tools/Klist;
1 85 1 cache Lsun/security/krb5/internal/ccache/CredentialsCache;
3 85 2 creds [Lsun/security/krb5/internal/ccache/Credentials;
10 85 3 defaultPrincipal Ljava/lang/String;
11 85 4 num I
23 82 5 i I
26 27 6 starttime Ljava/lang/String;
28 74 6 starttime Ljava/lang/String;
29 74 7 endtime Ljava/lang/String;
39 42 8 renewTill Ljava/lang/String;
31 74 9 servicePrincipal Ljava/lang/String;
44 48 10 eskey Ljava/lang/String;
45 48 11 etkt Ljava/lang/String;
54 74 10 first Z
56 74 11 caddr [Ljava/net/InetAddress;
59 70 12 ia Ljava/net/InetAddress;
61 62 16 out Ljava/lang/String;
63 70 16 out Ljava/lang/String;
76 80 6 e Lsun/security/krb5/RealmException;
Exception table:
from to target type
24 74 75 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 3
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Default "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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
2: goto 4
3: 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
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/krb5/internal/tools/Klist;
0 5 1 target Ljava/lang/String;
MethodParameters:
Name Flags
target
private java.lang.String format(sun.security.krb5.internal.KerberosTime);
descriptor: (Lsun/security/krb5/internal/KerberosTime;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual sun.security.krb5.internal.KerberosTime.toDate:()Ljava/util/Date;
invokevirtual java.util.Date.toString:()Ljava/lang/String;
astore 2
start local 2 1: new java.lang.StringBuilder
dup
aload 2
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 2
bipush 8
bipush 10
invokevirtual java.lang.String.substring:(II)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 2
bipush 24
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
bipush 11
bipush 19
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/krb5/internal/tools/Klist;
0 5 1 kt Lsun/security/krb5/internal/KerberosTime;
1 5 2 date Ljava/lang/String;
MethodParameters:
Name Flags
kt
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] [-a [-n]]] [-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 "\t-a \t shows addresses"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t -n \t do not reverse-resolve addresses"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " options for keytabs:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: 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
11: 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
12: 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
13: 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
14: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/krb5/internal/tools/Klist;
}
SourceFile: "Klist.java"