public class sun.security.jgss.krb5.Krb5Util
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.jgss.krb5.Krb5Util
super_class: java.lang.Object
{
static final boolean DEBUG;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new sun.security.action.GetBooleanAction
dup
1: ldc "sun.security.krb5.debug"
2: invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
3: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
4: invokevirtual java.lang.Boolean.booleanValue:()Z
5: putstatic sun.security.jgss.krb5.Krb5Util.DEBUG:Z
6: 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/Krb5Util;
public static javax.security.auth.kerberos.KerberosTicket getTicketFromSubjectAndTgs(sun.security.jgss.GSSCaller, java.lang.String, java.lang.String, java.lang.String, java.security.AccessControlContext);
descriptor: (Lsun/security/jgss/GSSCaller;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/security/AccessControlContext;)Ljavax/security/auth/kerberos/KerberosTicket;
flags: (0x0009) ACC_PUBLIC, 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 4
invokestatic javax.security.auth.Subject.getSubject:(Ljava/security/AccessControlContext;)Ljavax/security/auth/Subject;
astore 5
start local 5 1: aload 5
2: aload 2
aload 1
ldc Ljavax/security/auth/kerberos/KerberosTicket;
3: invokestatic sun.security.jgss.krb5.SubjectComber.find:(Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.security.auth.kerberos.KerberosTicket
astore 6
start local 6 4: aload 6
ifnull 6
5: aload 6
areturn
6: StackMap locals: javax.security.auth.Subject javax.security.auth.kerberos.KerberosTicket
StackMap stack:
aconst_null
astore 7
start local 7 7: aload 0
invokestatic sun.security.jgss.GSSUtil.useSubjectCredsOnly:(Lsun/security/jgss/GSSCaller;)Z
ifne 16
8: aload 0
getstatic sun.security.jgss.GSSUtil.GSS_KRB5_MECH_OID:Lorg/ietf/jgss/Oid;
invokestatic sun.security.jgss.GSSUtil.login:(Lsun/security/jgss/GSSCaller;Lorg/ietf/jgss/Oid;)Ljavax/security/auth/Subject;
astore 7
9: aload 7
10: aload 2
aload 1
ldc Ljavax/security/auth/kerberos/KerberosTicket;
11: invokestatic sun.security.jgss.krb5.SubjectComber.find:(Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.security.auth.kerberos.KerberosTicket
astore 6
12: aload 6
ifnull 16
13: aload 6
14: areturn
15: StackMap locals: sun.security.jgss.GSSCaller java.lang.String java.lang.String java.lang.String java.security.AccessControlContext javax.security.auth.Subject javax.security.auth.kerberos.KerberosTicket javax.security.auth.Subject
StackMap stack: javax.security.auth.login.LoginException
pop
16: StackMap locals:
StackMap stack:
aload 5
17: aload 3
aload 1
ldc Ljavax/security/auth/kerberos/KerberosTicket;
18: invokestatic sun.security.jgss.krb5.SubjectComber.find:(Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.security.auth.kerberos.KerberosTicket
astore 8
start local 8 19: aload 8
ifnonnull 25
aload 7
ifnull 25
20: aload 7
21: aload 3
aload 1
ldc Ljavax/security/auth/kerberos/KerberosTicket;
22: invokestatic sun.security.jgss.krb5.SubjectComber.find:(Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.security.auth.kerberos.KerberosTicket
astore 8
23: iconst_0
istore 9
start local 9 24: goto 26
end local 9 25: StackMap locals: javax.security.auth.kerberos.KerberosTicket
StackMap stack:
iconst_1
istore 9
start local 9 26: StackMap locals: int
StackMap stack:
aload 8
ifnull 34
27: aload 8
invokestatic sun.security.jgss.krb5.Krb5Util.ticketToCreds:(Ljavax/security/auth/kerberos/KerberosTicket;)Lsun/security/krb5/Credentials;
astore 10
start local 10 28: aload 2
aload 10
29: invokestatic sun.security.krb5.Credentials.acquireServiceCreds:(Ljava/lang/String;Lsun/security/krb5/Credentials;)Lsun/security/krb5/Credentials;
astore 11
start local 11 30: aload 11
ifnull 34
31: aload 11
invokestatic sun.security.jgss.krb5.Krb5Util.credsToTicket:(Lsun/security/krb5/Credentials;)Ljavax/security/auth/kerberos/KerberosTicket;
astore 6
32: iload 9
ifeq 34
aload 5
ifnull 34
aload 5
invokevirtual javax.security.auth.Subject.isReadOnly:()Z
ifne 34
33: aload 5
invokevirtual javax.security.auth.Subject.getPrivateCredentials:()Ljava/util/Set;
aload 6
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 10 34: StackMap locals:
StackMap stack:
aload 6
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 caller Lsun/security/jgss/GSSCaller;
0 35 1 clientPrincipal Ljava/lang/String;
0 35 2 serverPrincipal Ljava/lang/String;
0 35 3 tgsPrincipal Ljava/lang/String;
0 35 4 acc Ljava/security/AccessControlContext;
1 35 5 accSubj Ljavax/security/auth/Subject;
4 35 6 ticket Ljavax/security/auth/kerberos/KerberosTicket;
7 35 7 loginSubj Ljavax/security/auth/Subject;
19 35 8 tgt Ljavax/security/auth/kerberos/KerberosTicket;
24 25 9 fromAcc Z
26 35 9 fromAcc Z
28 34 10 tgtCreds Lsun/security/krb5/Credentials;
30 34 11 serviceCreds Lsun/security/krb5/Credentials;
Exception table:
from to target type
8 14 15 Class javax.security.auth.login.LoginException
Exceptions:
throws javax.security.auth.login.LoginException, sun.security.krb5.KrbException, java.io.IOException
MethodParameters:
Name Flags
caller
clientPrincipal
serverPrincipal
tgsPrincipal
acc
static javax.security.auth.kerberos.KerberosTicket getTicket(sun.security.jgss.GSSCaller, java.lang.String, java.lang.String, java.security.AccessControlContext);
descriptor: (Lsun/security/jgss/GSSCaller;Ljava/lang/String;Ljava/lang/String;Ljava/security/AccessControlContext;)Ljavax/security/auth/kerberos/KerberosTicket;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic javax.security.auth.Subject.getSubject:(Ljava/security/AccessControlContext;)Ljavax/security/auth/Subject;
astore 4
start local 4 1: aload 4
aload 2
aload 1
2: ldc Ljavax/security/auth/kerberos/KerberosTicket;
3: invokestatic sun.security.jgss.krb5.SubjectComber.find:(Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.security.auth.kerberos.KerberosTicket
4: astore 5
start local 5 5: aload 5
ifnonnull 10
aload 0
invokestatic sun.security.jgss.GSSUtil.useSubjectCredsOnly:(Lsun/security/jgss/GSSCaller;)Z
ifne 10
6: aload 0
getstatic sun.security.jgss.GSSUtil.GSS_KRB5_MECH_OID:Lorg/ietf/jgss/Oid;
invokestatic sun.security.jgss.GSSUtil.login:(Lsun/security/jgss/GSSCaller;Lorg/ietf/jgss/Oid;)Ljavax/security/auth/Subject;
astore 6
start local 6 7: aload 6
8: aload 2
aload 1
ldc Ljavax/security/auth/kerberos/KerberosTicket;
9: invokestatic sun.security.jgss.krb5.SubjectComber.find:(Ljavax/security/auth/Subject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.security.auth.kerberos.KerberosTicket
astore 5
end local 6 10: StackMap locals: javax.security.auth.Subject javax.security.auth.kerberos.KerberosTicket
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 11 0 caller Lsun/security/jgss/GSSCaller;
0 11 1 clientPrincipal Ljava/lang/String;
0 11 2 serverPrincipal Ljava/lang/String;
0 11 3 acc Ljava/security/AccessControlContext;
1 11 4 accSubj Ljavax/security/auth/Subject;
5 11 5 ticket Ljavax/security/auth/kerberos/KerberosTicket;
7 10 6 subject Ljavax/security/auth/Subject;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
caller
clientPrincipal
serverPrincipal
acc
public static javax.security.auth.Subject getSubject(sun.security.jgss.GSSCaller, java.security.AccessControlContext);
descriptor: (Lsun/security/jgss/GSSCaller;Ljava/security/AccessControlContext;)Ljavax/security/auth/Subject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic javax.security.auth.Subject.getSubject:(Ljava/security/AccessControlContext;)Ljavax/security/auth/Subject;
astore 2
start local 2 1: aload 2
ifnonnull 3
aload 0
invokestatic sun.security.jgss.GSSUtil.useSubjectCredsOnly:(Lsun/security/jgss/GSSCaller;)Z
ifne 3
2: aload 0
getstatic sun.security.jgss.GSSUtil.GSS_KRB5_MECH_OID:Lorg/ietf/jgss/Oid;
invokestatic sun.security.jgss.GSSUtil.login:(Lsun/security/jgss/GSSCaller;Lorg/ietf/jgss/Oid;)Ljavax/security/auth/Subject;
astore 2
3: StackMap locals: javax.security.auth.Subject
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 caller Lsun/security/jgss/GSSCaller;
0 4 1 acc Ljava/security/AccessControlContext;
1 4 2 subject Ljavax/security/auth/Subject;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
caller
acc
public static sun.security.jgss.krb5.ServiceCreds getServiceCreds(sun.security.jgss.GSSCaller, java.lang.String, java.security.AccessControlContext);
descriptor: (Lsun/security/jgss/GSSCaller;Ljava/lang/String;Ljava/security/AccessControlContext;)Lsun/security/jgss/krb5/ServiceCreds;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic javax.security.auth.Subject.getSubject:(Ljava/security/AccessControlContext;)Ljavax/security/auth/Subject;
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 3
ifnull 4
3: aload 3
aload 1
invokestatic sun.security.jgss.krb5.ServiceCreds.getInstance:(Ljavax/security/auth/Subject;Ljava/lang/String;)Lsun/security/jgss/krb5/ServiceCreds;
astore 4
4: StackMap locals: javax.security.auth.Subject sun.security.jgss.krb5.ServiceCreds
StackMap stack:
aload 4
ifnonnull 7
aload 0
invokestatic sun.security.jgss.GSSUtil.useSubjectCredsOnly:(Lsun/security/jgss/GSSCaller;)Z
ifne 7
5: aload 0
getstatic sun.security.jgss.GSSUtil.GSS_KRB5_MECH_OID:Lorg/ietf/jgss/Oid;
invokestatic sun.security.jgss.GSSUtil.login:(Lsun/security/jgss/GSSCaller;Lorg/ietf/jgss/Oid;)Ljavax/security/auth/Subject;
astore 5
start local 5 6: aload 5
aload 1
invokestatic sun.security.jgss.krb5.ServiceCreds.getInstance:(Ljavax/security/auth/Subject;Ljava/lang/String;)Lsun/security/jgss/krb5/ServiceCreds;
astore 4
end local 5 7: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 caller Lsun/security/jgss/GSSCaller;
0 8 1 serverPrincipal Ljava/lang/String;
0 8 2 acc Ljava/security/AccessControlContext;
1 8 3 accSubj Ljavax/security/auth/Subject;
2 8 4 sc Lsun/security/jgss/krb5/ServiceCreds;
6 7 5 subject Ljavax/security/auth/Subject;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
caller
serverPrincipal
acc
public static javax.security.auth.kerberos.KerberosTicket credsToTicket(sun.security.krb5.Credentials);
descriptor: (Lsun/security/krb5/Credentials;)Ljavax/security/auth/kerberos/KerberosTicket;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=13, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.krb5.Credentials.getSessionKey:()Lsun/security/krb5/EncryptionKey;
astore 1
start local 1 1: new javax.security.auth.kerberos.KerberosTicket
dup
2: aload 0
invokevirtual sun.security.krb5.Credentials.getEncoded:()[B
3: new javax.security.auth.kerberos.KerberosPrincipal
dup
aload 0
invokevirtual sun.security.krb5.Credentials.getClient:()Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getName:()Ljava/lang/String;
invokespecial javax.security.auth.kerberos.KerberosPrincipal.<init>:(Ljava/lang/String;)V
4: new javax.security.auth.kerberos.KerberosPrincipal
dup
aload 0
invokevirtual sun.security.krb5.Credentials.getServer:()Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getName:()Ljava/lang/String;
5: iconst_2
6: invokespecial javax.security.auth.kerberos.KerberosPrincipal.<init>:(Ljava/lang/String;I)V
7: aload 1
invokevirtual sun.security.krb5.EncryptionKey.getBytes:()[B
8: aload 1
invokevirtual sun.security.krb5.EncryptionKey.getEType:()I
9: aload 0
invokevirtual sun.security.krb5.Credentials.getFlags:()[Z
10: aload 0
invokevirtual sun.security.krb5.Credentials.getAuthTime:()Ljava/util/Date;
11: aload 0
invokevirtual sun.security.krb5.Credentials.getStartTime:()Ljava/util/Date;
12: aload 0
invokevirtual sun.security.krb5.Credentials.getEndTime:()Ljava/util/Date;
13: aload 0
invokevirtual sun.security.krb5.Credentials.getRenewTill:()Ljava/util/Date;
14: aload 0
invokevirtual sun.security.krb5.Credentials.getClientAddresses:()[Ljava/net/InetAddress;
15: invokespecial javax.security.auth.kerberos.KerberosTicket.<init>:([BLjavax/security/auth/kerberos/KerberosPrincipal;Ljavax/security/auth/kerberos/KerberosPrincipal;[BI[ZLjava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;[Ljava/net/InetAddress;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 serviceCreds Lsun/security/krb5/Credentials;
1 16 1 sessionKey Lsun/security/krb5/EncryptionKey;
MethodParameters:
Name Flags
serviceCreds
public static sun.security.krb5.Credentials ticketToCreds(javax.security.auth.kerberos.KerberosTicket);
descriptor: (Ljavax/security/auth/kerberos/KerberosTicket;)Lsun/security/krb5/Credentials;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=13, locals=1, args_size=1
start local 0 0: new sun.security.krb5.Credentials
dup
1: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getEncoded:()[B
2: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getClient:()Ljavax/security/auth/kerberos/KerberosPrincipal;
invokevirtual javax.security.auth.kerberos.KerberosPrincipal.getName:()Ljava/lang/String;
3: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getServer:()Ljavax/security/auth/kerberos/KerberosPrincipal;
invokevirtual javax.security.auth.kerberos.KerberosPrincipal.getName:()Ljava/lang/String;
4: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getSessionKey:()Ljavax/crypto/SecretKey;
invokeinterface javax.crypto.SecretKey.getEncoded:()[B
5: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getSessionKeyType:()I
6: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getFlags:()[Z
7: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getAuthTime:()Ljava/util/Date;
8: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getStartTime:()Ljava/util/Date;
9: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getEndTime:()Ljava/util/Date;
10: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getRenewTill:()Ljava/util/Date;
11: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getClientAddresses:()[Ljava/net/InetAddress;
12: invokespecial sun.security.krb5.Credentials.<init>:([BLjava/lang/String;Ljava/lang/String;[BI[ZLjava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;[Ljava/net/InetAddress;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 kerbTicket Ljavax/security/auth/kerberos/KerberosTicket;
Exceptions:
throws sun.security.krb5.KrbException, java.io.IOException
MethodParameters:
Name Flags
kerbTicket
public static sun.security.krb5.internal.ktab.KeyTab snapshotFromJavaxKeyTab(javax.security.auth.kerberos.KeyTab);
descriptor: (Ljavax/security/auth/kerberos/KeyTab;)Lsun/security/krb5/internal/ktab/KeyTab;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic sun.security.krb5.KerberosSecrets.getJavaxSecurityAuthKerberosAccess:()Lsun/security/krb5/JavaxSecurityAuthKerberosAccess;
1: aload 0
invokeinterface sun.security.krb5.JavaxSecurityAuthKerberosAccess.keyTabTakeSnapshot:(Ljavax/security/auth/kerberos/KeyTab;)Lsun/security/krb5/internal/ktab/KeyTab;
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ktab Ljavax/security/auth/kerberos/KeyTab;
MethodParameters:
Name Flags
ktab
public static sun.security.krb5.EncryptionKey[] keysFromJavaxKeyTab(javax.security.auth.kerberos.KeyTab, sun.security.krb5.PrincipalName);
descriptor: (Ljavax/security/auth/kerberos/KeyTab;Lsun/security/krb5/PrincipalName;)[Lsun/security/krb5/EncryptionKey;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic sun.security.jgss.krb5.Krb5Util.snapshotFromJavaxKeyTab:(Ljavax/security/auth/kerberos/KeyTab;)Lsun/security/krb5/internal/ktab/KeyTab;
aload 1
invokevirtual sun.security.krb5.internal.ktab.KeyTab.readServiceKeys:(Lsun/security/krb5/PrincipalName;)[Lsun/security/krb5/EncryptionKey;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ktab Ljavax/security/auth/kerberos/KeyTab;
0 1 1 cname Lsun/security/krb5/PrincipalName;
MethodParameters:
Name Flags
ktab
cname
}
SourceFile: "Krb5Util.java"