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=1, locals=0, args_size=0
0: ldc "sun.security.krb5.debug"
invokestatic sun.security.action.GetBooleanAction.privilegedGetProperty:(Ljava/lang/String;)Z
1: putstatic sun.security.jgss.krb5.Krb5Util.DEBUG:Z
2: 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;
static javax.security.auth.kerberos.KerberosTicket getServiceTicket(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=6, 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
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 6 0 caller Lsun/security/jgss/GSSCaller;
0 6 1 clientPrincipal Ljava/lang/String;
0 6 2 serverPrincipal Ljava/lang/String;
0 6 3 acc Ljava/security/AccessControlContext;
1 6 4 accSubj Ljavax/security/auth/Subject;
5 6 5 ticket Ljavax/security/auth/kerberos/KerberosTicket;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
caller
clientPrincipal
serverPrincipal
acc
static javax.security.auth.kerberos.KerberosTicket getInitialTicket(sun.security.jgss.GSSCaller, java.lang.String, java.security.AccessControlContext);
descriptor: (Lsun/security/jgss/GSSCaller;Ljava/lang/String;Ljava/security/AccessControlContext;)Ljavax/security/auth/kerberos/KerberosTicket;
flags: (0x0008) ACC_STATIC
Code:
stack=4, 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: aload 3
aconst_null
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 4
start local 4 5: aload 4
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 5
start local 5 7: aload 5
8: aconst_null
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 4
end local 5 10: StackMap locals: javax.security.auth.Subject javax.security.auth.kerberos.KerberosTicket
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 11 0 caller Lsun/security/jgss/GSSCaller;
0 11 1 clientPrincipal Ljava/lang/String;
0 11 2 acc Ljava/security/AccessControlContext;
1 11 3 accSubj Ljavax/security/auth/Subject;
5 11 4 ticket Ljavax/security/auth/kerberos/KerberosTicket;
7 10 5 subject Ljavax/security/auth/Subject;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
caller
clientPrincipal
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=5, 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
astore 2
start local 2 16: aload 0
invokevirtual sun.security.krb5.Credentials.getClientAlias:()Lsun/security/krb5/PrincipalName;
astore 3
start local 3 17: aload 0
invokevirtual sun.security.krb5.Credentials.getServerAlias:()Lsun/security/krb5/PrincipalName;
astore 4
start local 4 18: aload 3
ifnull 23
19: invokestatic sun.security.krb5.KerberosSecrets.getJavaxSecurityAuthKerberosAccess:()Lsun/security/krb5/JavaxSecurityAuthKerberosAccess;
20: aload 2
new javax.security.auth.kerberos.KerberosPrincipal
dup
21: aload 3
invokevirtual sun.security.krb5.PrincipalName.getName:()Ljava/lang/String;
aload 3
invokevirtual sun.security.krb5.PrincipalName.getNameType:()I
invokespecial javax.security.auth.kerberos.KerberosPrincipal.<init>:(Ljava/lang/String;I)V
22: invokeinterface sun.security.krb5.JavaxSecurityAuthKerberosAccess.kerberosTicketSetClientAlias:(Ljavax/security/auth/kerberos/KerberosTicket;Ljavax/security/auth/kerberos/KerberosPrincipal;)V
23: StackMap locals: sun.security.krb5.Credentials sun.security.krb5.EncryptionKey javax.security.auth.kerberos.KerberosTicket sun.security.krb5.PrincipalName sun.security.krb5.PrincipalName
StackMap stack:
aload 4
ifnull 28
24: invokestatic sun.security.krb5.KerberosSecrets.getJavaxSecurityAuthKerberosAccess:()Lsun/security/krb5/JavaxSecurityAuthKerberosAccess;
25: aload 2
new javax.security.auth.kerberos.KerberosPrincipal
dup
26: aload 4
invokevirtual sun.security.krb5.PrincipalName.getName:()Ljava/lang/String;
aload 4
invokevirtual sun.security.krb5.PrincipalName.getNameType:()I
invokespecial javax.security.auth.kerberos.KerberosPrincipal.<init>:(Ljava/lang/String;I)V
27: invokeinterface sun.security.krb5.JavaxSecurityAuthKerberosAccess.kerberosTicketSetServerAlias:(Ljavax/security/auth/kerberos/KerberosTicket;Ljavax/security/auth/kerberos/KerberosPrincipal;)V
28: StackMap locals:
StackMap stack:
aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 serviceCreds Lsun/security/krb5/Credentials;
1 29 1 sessionKey Lsun/security/krb5/EncryptionKey;
16 29 2 kt Ljavax/security/auth/kerberos/KerberosTicket;
17 29 3 clientAlias Lsun/security/krb5/PrincipalName;
18 29 4 serverAlias Lsun/security/krb5/PrincipalName;
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=15, locals=3, 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.kerberosTicketGetClientAlias:(Ljavax/security/auth/kerberos/KerberosTicket;)Ljavax/security/auth/kerberos/KerberosPrincipal;
2: astore 1
start local 1 3: invokestatic sun.security.krb5.KerberosSecrets.getJavaxSecurityAuthKerberosAccess:()Lsun/security/krb5/JavaxSecurityAuthKerberosAccess;
4: aload 0
invokeinterface sun.security.krb5.JavaxSecurityAuthKerberosAccess.kerberosTicketGetServerAlias:(Ljavax/security/auth/kerberos/KerberosTicket;)Ljavax/security/auth/kerberos/KerberosPrincipal;
5: astore 2
start local 2 6: new sun.security.krb5.Credentials
dup
7: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getEncoded:()[B
8: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getClient:()Ljavax/security/auth/kerberos/KerberosPrincipal;
invokevirtual javax.security.auth.kerberos.KerberosPrincipal.getName:()Ljava/lang/String;
9: aload 1
ifnull 10
aload 1
invokevirtual javax.security.auth.kerberos.KerberosPrincipal.getName:()Ljava/lang/String;
goto 11
StackMap locals: javax.security.auth.kerberos.KerberosTicket javax.security.auth.kerberos.KerberosPrincipal javax.security.auth.kerberos.KerberosPrincipal
StackMap stack: new 6 new 6 byte[] java.lang.String
10: aconst_null
11: StackMap locals: javax.security.auth.kerberos.KerberosTicket javax.security.auth.kerberos.KerberosPrincipal javax.security.auth.kerberos.KerberosPrincipal
StackMap stack: new 6 new 6 byte[] java.lang.String java.lang.String
aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getServer:()Ljavax/security/auth/kerberos/KerberosPrincipal;
invokevirtual javax.security.auth.kerberos.KerberosPrincipal.getName:()Ljava/lang/String;
12: aload 2
ifnull 13
aload 2
invokevirtual javax.security.auth.kerberos.KerberosPrincipal.getName:()Ljava/lang/String;
goto 14
StackMap locals: javax.security.auth.kerberos.KerberosTicket javax.security.auth.kerberos.KerberosPrincipal javax.security.auth.kerberos.KerberosPrincipal
StackMap stack: new 6 new 6 byte[] java.lang.String java.lang.String java.lang.String
13: aconst_null
14: StackMap locals: javax.security.auth.kerberos.KerberosTicket javax.security.auth.kerberos.KerberosPrincipal javax.security.auth.kerberos.KerberosPrincipal
StackMap stack: new 6 new 6 byte[] java.lang.String java.lang.String java.lang.String java.lang.String
aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getSessionKey:()Ljavax/crypto/SecretKey;
invokeinterface javax.crypto.SecretKey.getEncoded:()[B
15: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getSessionKeyType:()I
16: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getFlags:()[Z
17: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getAuthTime:()Ljava/util/Date;
18: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getStartTime:()Ljava/util/Date;
19: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getEndTime:()Ljava/util/Date;
20: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getRenewTill:()Ljava/util/Date;
21: aload 0
invokevirtual javax.security.auth.kerberos.KerberosTicket.getClientAddresses:()[Ljava/net/InetAddress;
22: invokespecial sun.security.krb5.Credentials.<init>:([BLjava/lang/String;Ljava/lang/String;Ljava/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 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 kerbTicket Ljavax/security/auth/kerberos/KerberosTicket;
3 23 1 clientAlias Ljavax/security/auth/kerberos/KerberosPrincipal;
6 23 2 serverAlias Ljavax/security/auth/kerberos/KerberosPrincipal;
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"