class sun.security.jgss.krb5.SubjectComber
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.jgss.krb5.SubjectComber
super_class: java.lang.Object
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.security.jgss.krb5.Krb5Util.DEBUG:Z
putstatic sun.security.jgss.krb5.SubjectComber.DEBUG:Z
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/jgss/krb5/SubjectComber;
static <T> T find(javax.security.auth.Subject, java.lang.String, java.lang.String, java.lang.Class<T>);
descriptor: (Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 0
aload 1
1: aload 2
aload 3
iconst_1
2: invokestatic sun.security.jgss.krb5.SubjectComber.findAux:(Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/Object;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 subject Ljavax/security/auth/Subject;
0 3 1 serverPrincipal Ljava/lang/String;
0 3 2 clientPrincipal Ljava/lang/String;
0 3 3 credClass Ljava/lang/Class<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
subject
serverPrincipal
clientPrincipal
credClass
static <T> java.util.List<T> findMany(javax.security.auth.Subject, java.lang.String, java.lang.String, java.lang.Class<T>);
descriptor: (Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
1: aload 3
iconst_0
2: invokestatic sun.security.jgss.krb5.SubjectComber.findAux:(Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/Object;
checkcast java.util.List
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 subject Ljavax/security/auth/Subject;
0 3 1 serverPrincipal Ljava/lang/String;
0 3 2 clientPrincipal Ljava/lang/String;
0 3 3 credClass Ljava/lang/Class<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class<TT;>;)Ljava/util/List<TT;>;
MethodParameters:
Name Flags
subject
serverPrincipal
clientPrincipal
credClass
private static <T> findAux(javax.security.auth.Subject, java.lang.String, java.lang.String, java.lang.Class<T>, boolean);
descriptor: (Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
iload 4
ifeq 3
aconst_null
goto 4
StackMap locals:
StackMap stack:
3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
StackMap locals:
StackMap stack: java.util.ArrayList
4: astore 5
start local 5 5: aload 3
ldc Ljavax/security/auth/kerberos/KeyTab;
if_acmpne 17
6: aload 0
aload 3
invokevirtual javax.security.auth.Subject.getPrivateCredentials:(Ljava/lang/Class;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
7: astore 6
start local 6 8: goto 15
9: StackMap locals: java.util.List java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 7
start local 7 10: getstatic sun.security.jgss.krb5.SubjectComber.DEBUG:Z
ifeq 12
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.Class.getSimpleName:()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
12: StackMap locals: java.lang.Object
StackMap stack:
iload 4
ifeq 14
13: aload 7
areturn
14: StackMap locals:
StackMap stack:
aload 5
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 15: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 6 16: goto 88
StackMap locals:
StackMap stack:
17: aload 3
ldc Ljavax/security/auth/kerberos/KerberosKey;
if_acmpne 35
18: aload 0
ldc Ljavax/security/auth/kerberos/KerberosKey;
invokevirtual javax.security.auth.Subject.getPrivateCredentials:(Ljava/lang/Class;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
19: astore 6
start local 6 20: goto 33
21: StackMap locals: java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.security.auth.kerberos.KerberosKey
astore 7
start local 7 22: aload 7
invokevirtual javax.security.auth.kerberos.KerberosKey.getPrincipal:()Ljavax/security/auth/kerberos/KerberosPrincipal;
invokevirtual javax.security.auth.kerberos.KerberosPrincipal.getName:()Ljava/lang/String;
astore 8
start local 8 23: aload 1
ifnull 24
aload 1
aload 8
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 33
24: StackMap locals: javax.security.auth.kerberos.KerberosKey java.lang.String
StackMap stack:
getstatic sun.security.jgss.krb5.SubjectComber.DEBUG:Z
ifeq 28
25: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
26: aload 3
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
28: StackMap locals:
StackMap stack:
iload 4
ifeq 30
29: aload 7
areturn
30: StackMap locals:
StackMap stack:
aload 1
ifnonnull 32
31: aload 8
astore 1
32: StackMap locals:
StackMap stack:
aload 5
aload 3
aload 7
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 33: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
end local 6 34: goto 88
StackMap locals:
StackMap stack:
35: aload 3
ldc Ljavax/security/auth/kerberos/KerberosTicket;
if_acmpne 88
36: aload 0
invokevirtual javax.security.auth.Subject.getPrivateCredentials:()Ljava/util/Set;
astore 6
start local 6 37: aload 6
dup
astore 7
monitorenter
38: aload 6
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
start local 8 39: goto 83
40: StackMap locals: java.util.Set java.util.Set java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 9
start local 9 41: aload 9
instanceof javax.security.auth.kerberos.KerberosTicket
ifeq 83
42: aload 9
checkcast javax.security.auth.kerberos.KerberosTicket
astore 10
start local 10 43: getstatic sun.security.jgss.krb5.SubjectComber.DEBUG:Z
ifeq 51
44: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Found ticket for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
45: aload 10
invokevirtual javax.security.auth.kerberos.KerberosTicket.getClient:()Ljavax/security/auth/kerberos/KerberosPrincipal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
46: ldc " to go to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
47: aload 10
invokevirtual javax.security.auth.kerberos.KerberosTicket.getServer:()Ljavax/security/auth/kerberos/KerberosPrincipal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
48: ldc " expiring on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
49: aload 10
invokevirtual javax.security.auth.kerberos.KerberosTicket.getEndTime:()Ljava/util/Date;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
50: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
51: StackMap locals: java.lang.Object javax.security.auth.kerberos.KerberosTicket
StackMap stack:
aload 10
invokevirtual javax.security.auth.kerberos.KerberosTicket.isCurrent:()Z
ifne 66
52: aload 0
invokevirtual javax.security.auth.Subject.isReadOnly:()Z
ifne 83
53: aload 8
invokeinterface java.util.Iterator.remove:()V
54: aload 10
invokevirtual javax.security.auth.kerberos.KerberosTicket.destroy:()V
55: getstatic sun.security.jgss.krb5.SubjectComber.DEBUG:Z
ifeq 83
56: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Removed and destroyed the expired Ticket \n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
57: aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
58: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
59: goto 83
StackMap locals:
StackMap stack: javax.security.auth.DestroyFailedException
60: astore 11
start local 11 61: getstatic sun.security.jgss.krb5.SubjectComber.DEBUG:Z
ifeq 83
62: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Expired ticket not detroyed successfully. "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
63: aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
64: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 11 65: goto 83
66: StackMap locals:
StackMap stack:
aload 1
ifnull 68
67: aload 10
invokevirtual javax.security.auth.kerberos.KerberosTicket.getServer:()Ljavax/security/auth/kerberos/KerberosPrincipal;
invokevirtual javax.security.auth.kerberos.KerberosPrincipal.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 83
68: StackMap locals:
StackMap stack:
aload 2
ifnull 73
69: aload 2
70: aload 10
invokevirtual javax.security.auth.kerberos.KerberosTicket.getClient:()Ljavax/security/auth/kerberos/KerberosPrincipal;
invokevirtual javax.security.auth.kerberos.KerberosPrincipal.getName:()Ljava/lang/String;
71: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
72: ifeq 83
73: StackMap locals:
StackMap stack:
iload 4
ifeq 76
74: aload 10
aload 7
monitorexit
75: areturn
76: StackMap locals:
StackMap stack:
aload 2
ifnonnull 79
77: aload 10
invokevirtual javax.security.auth.kerberos.KerberosTicket.getClient:()Ljavax/security/auth/kerberos/KerberosPrincipal;
invokevirtual javax.security.auth.kerberos.KerberosPrincipal.getName:()Ljava/lang/String;
78: astore 2
79: StackMap locals:
StackMap stack:
aload 1
ifnonnull 82
80: aload 10
invokevirtual javax.security.auth.kerberos.KerberosTicket.getServer:()Ljavax/security/auth/kerberos/KerberosPrincipal;
invokevirtual javax.security.auth.kerberos.KerberosPrincipal.getName:()Ljava/lang/String;
81: astore 1
82: StackMap locals:
StackMap stack:
aload 5
aload 3
aload 10
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 83: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
end local 8 84: aload 7
monitorexit
85: goto 88
StackMap locals: javax.security.auth.Subject java.lang.String java.lang.String java.lang.Class int java.util.List java.util.Set java.util.Set
StackMap stack: java.lang.Throwable
86: aload 7
monitorexit
87: athrow
end local 6 88: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 89 0 subject Ljavax/security/auth/Subject;
0 89 1 serverPrincipal Ljava/lang/String;
0 89 2 clientPrincipal Ljava/lang/String;
0 89 3 credClass Ljava/lang/Class<TT;>;
0 89 4 oneOnly Z
5 89 5 answer Ljava/util/List<TT;>;
8 16 6 iterator Ljava/util/Iterator<TT;>;
10 15 7 t TT;
20 34 6 iterator Ljava/util/Iterator<Ljavax/security/auth/kerberos/KerberosKey;>;
22 33 7 t Ljavax/security/auth/kerberos/KerberosKey;
23 33 8 name Ljava/lang/String;
37 88 6 pcs Ljava/util/Set<Ljava/lang/Object;>;
39 84 8 iterator Ljava/util/Iterator<Ljava/lang/Object;>;
41 83 9 obj Ljava/lang/Object;
43 83 10 ticket Ljavax/security/auth/kerberos/KerberosTicket;
61 65 11 dfe Ljavax/security/auth/DestroyFailedException;
Exception table:
from to target type
54 59 60 Class javax.security.auth.DestroyFailedException
38 75 86 any
76 85 86 any
86 87 86 any
Signature: <T:Ljava/lang/Object;>(Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class<TT;>;Z)Ljava/lang/Object;
MethodParameters:
Name Flags
subject
serverPrincipal
clientPrincipal
credClass
oneOnly
}
SourceFile: "SubjectComber.java"