public class sun.security.krb5.internal.CredentialsUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.krb5.internal.CredentialsUtil
super_class: java.lang.Object
{
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.CredentialsUtil.DEBUG:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/internal/CredentialsUtil;
public static sun.security.krb5.Credentials acquireS4U2selfCreds(sun.security.krb5.PrincipalName, sun.security.krb5.Credentials);
descriptor: (Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Credentials;)Lsun/security/krb5/Credentials;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=15, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual sun.security.krb5.Credentials.isForwardable:()Z
ifne 2
1: new sun.security.krb5.KrbException
dup
ldc "S4U2self needs a FORWARDABLE ticket"
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.krb5.Credentials.getClient:()Lsun/security/krb5/PrincipalName;
astore 2
start local 2 3: aload 0
invokevirtual sun.security.krb5.PrincipalName.getRealmString:()Ljava/lang/String;
astore 3
start local 3 4: aload 1
invokevirtual sun.security.krb5.Credentials.getClient:()Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getRealmString:()Ljava/lang/String;
astore 4
start local 4 5: aload 3
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
6: getstatic sun.security.krb5.Config.DISABLE_REFERRALS:Z
ifeq 8
7: new sun.security.krb5.KrbException
dup
ldc "Cross-realm S4U2Self request not possible when referrals are disabled."
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: sun.security.krb5.PrincipalName java.lang.String java.lang.String
StackMap stack:
aload 1
invokevirtual sun.security.krb5.Credentials.getClientAlias:()Lsun/security/krb5/PrincipalName;
ifnull 10
9: aload 1
invokevirtual sun.security.krb5.Credentials.getClientAlias:()Lsun/security/krb5/PrincipalName;
astore 2
10: StackMap locals:
StackMap stack:
new sun.security.krb5.PrincipalName
dup
aload 2
invokevirtual sun.security.krb5.PrincipalName.getNameType:()I
11: aload 2
invokevirtual sun.security.krb5.PrincipalName.getNameStrings:()[Ljava/lang/String;
new sun.security.krb5.Realm
dup
aload 3
invokespecial sun.security.krb5.Realm.<init>:(Ljava/lang/String;)V
12: invokespecial sun.security.krb5.PrincipalName.<init>:(I[Ljava/lang/String;Lsun/security/krb5/Realm;)V
astore 2
13: StackMap locals:
StackMap stack:
iconst_1
newarray 10
dup
iconst_0
14: iconst_1
iastore
invokestatic sun.security.krb5.internal.KDCOptions.with:([I)Lsun/security/krb5/internal/KDCOptions;
15: aload 1
aload 1
invokevirtual sun.security.krb5.Credentials.getClient:()Lsun/security/krb5/PrincipalName;
aload 2
aconst_null
16: iconst_2
anewarray sun.security.krb5.internal.PAData
dup
iconst_0
17: new sun.security.krb5.internal.PAData
dup
sipush 129
18: new sun.security.krb5.internal.PAForUserEnc
dup
aload 0
19: aload 1
invokevirtual sun.security.krb5.Credentials.getSessionKey:()Lsun/security/krb5/EncryptionKey;
20: invokespecial sun.security.krb5.internal.PAForUserEnc.<init>:(Lsun/security/krb5/PrincipalName;Lsun/security/krb5/EncryptionKey;)V
21: invokevirtual sun.security.krb5.internal.PAForUserEnc.asn1Encode:()[B
22: invokespecial sun.security.krb5.internal.PAData.<init>:(I[B)V
aastore
dup
iconst_1
23: new sun.security.krb5.internal.PAData
dup
sipush 167
24: new sun.security.krb5.internal.PaPacOptions
dup
invokespecial sun.security.krb5.internal.PaPacOptions.<init>:()V
25: iconst_1
invokevirtual sun.security.krb5.internal.PaPacOptions.setResourceBasedConstrainedDelegation:(Z)Lsun/security/krb5/internal/PaPacOptions;
26: iconst_1
invokevirtual sun.security.krb5.internal.PaPacOptions.setClaims:(Z)Lsun/security/krb5/internal/PaPacOptions;
27: invokevirtual sun.security.krb5.internal.PaPacOptions.asn1Encode:()[B
28: invokespecial sun.security.krb5.internal.PAData.<init>:(I[B)V
aastore
29: getstatic sun.security.krb5.internal.CredentialsUtil$S4U2Type.SELF:Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;
30: invokestatic sun.security.krb5.internal.CredentialsUtil.serviceCreds:(Lsun/security/krb5/internal/KDCOptions;Lsun/security/krb5/Credentials;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;[Lsun/security/krb5/internal/Ticket;[Lsun/security/krb5/internal/PAData;Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;)Lsun/security/krb5/Credentials;
astore 5
start local 5 31: aload 5
invokevirtual sun.security.krb5.Credentials.getClient:()Lsun/security/krb5/PrincipalName;
aload 0
invokevirtual sun.security.krb5.PrincipalName.equals:(Ljava/lang/Object;)Z
ifne 33
32: new sun.security.krb5.KrbException
dup
ldc "S4U2self request not honored by KDC"
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals: sun.security.krb5.Credentials
StackMap stack:
aload 5
invokevirtual sun.security.krb5.Credentials.isForwardable:()Z
ifne 35
34: new sun.security.krb5.KrbException
dup
ldc "S4U2self ticket must be FORWARDABLE"
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
35: 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 36 0 client Lsun/security/krb5/PrincipalName;
0 36 1 ccreds Lsun/security/krb5/Credentials;
3 36 2 sname Lsun/security/krb5/PrincipalName;
4 36 3 uRealm Ljava/lang/String;
5 36 4 localRealm Ljava/lang/String;
31 36 5 creds Lsun/security/krb5/Credentials;
Exceptions:
throws sun.security.krb5.KrbException, java.io.IOException
MethodParameters:
Name Flags
client
ccreds
public static sun.security.krb5.Credentials acquireS4U2proxyCreds(java.lang.String, sun.security.krb5.internal.Ticket, sun.security.krb5.PrincipalName, sun.security.krb5.Credentials);
descriptor: (Ljava/lang/String;Lsun/security/krb5/internal/Ticket;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Credentials;)Lsun/security/krb5/Credentials;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=13, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new sun.security.krb5.PrincipalName
dup
aload 0
invokespecial sun.security.krb5.PrincipalName.<init>:(Ljava/lang/String;)V
astore 4
start local 4 1: aload 4
invokevirtual sun.security.krb5.PrincipalName.getRealmString:()Ljava/lang/String;
astore 5
start local 5 2: aload 3
invokevirtual sun.security.krb5.Credentials.getClient:()Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getRealmString:()Ljava/lang/String;
astore 6
start local 6 3: aload 5
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
4: getstatic sun.security.krb5.Config.DISABLE_REFERRALS:Z
ifeq 6
5: new sun.security.krb5.KrbException
dup
ldc "Cross-realm S4U2Proxy request not possible when referrals are disabled."
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: sun.security.krb5.PrincipalName java.lang.String java.lang.String
StackMap stack:
new sun.security.krb5.PrincipalName
dup
7: aload 4
invokevirtual sun.security.krb5.PrincipalName.getNameType:()I
8: aload 4
invokevirtual sun.security.krb5.PrincipalName.getNameStrings:()[Ljava/lang/String;
9: new sun.security.krb5.Realm
dup
aload 6
invokespecial sun.security.krb5.Realm.<init>:(Ljava/lang/String;)V
10: invokespecial sun.security.krb5.PrincipalName.<init>:(I[Ljava/lang/String;Lsun/security/krb5/Realm;)V
astore 4
11: StackMap locals:
StackMap stack:
iconst_2
newarray 10
dup
iconst_0
12: bipush 14
iastore
dup
iconst_1
iconst_1
iastore
13: invokestatic sun.security.krb5.internal.KDCOptions.with:([I)Lsun/security/krb5/internal/KDCOptions;
14: aload 3
aload 3
invokevirtual sun.security.krb5.Credentials.getClient:()Lsun/security/krb5/PrincipalName;
aload 4
15: iconst_1
anewarray sun.security.krb5.internal.Ticket
dup
iconst_0
aload 1
aastore
iconst_1
anewarray sun.security.krb5.internal.PAData
dup
iconst_0
16: new sun.security.krb5.internal.PAData
dup
sipush 167
17: new sun.security.krb5.internal.PaPacOptions
dup
invokespecial sun.security.krb5.internal.PaPacOptions.<init>:()V
18: iconst_1
invokevirtual sun.security.krb5.internal.PaPacOptions.setResourceBasedConstrainedDelegation:(Z)Lsun/security/krb5/internal/PaPacOptions;
19: iconst_1
invokevirtual sun.security.krb5.internal.PaPacOptions.setClaims:(Z)Lsun/security/krb5/internal/PaPacOptions;
20: invokevirtual sun.security.krb5.internal.PaPacOptions.asn1Encode:()[B
21: invokespecial sun.security.krb5.internal.PAData.<init>:(I[B)V
aastore
22: getstatic sun.security.krb5.internal.CredentialsUtil$S4U2Type.PROXY:Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;
23: invokestatic sun.security.krb5.internal.CredentialsUtil.serviceCreds:(Lsun/security/krb5/internal/KDCOptions;Lsun/security/krb5/Credentials;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;[Lsun/security/krb5/internal/Ticket;[Lsun/security/krb5/internal/PAData;Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;)Lsun/security/krb5/Credentials;
astore 7
start local 7 24: aload 7
invokevirtual sun.security.krb5.Credentials.getClient:()Lsun/security/krb5/PrincipalName;
aload 2
invokevirtual sun.security.krb5.PrincipalName.equals:(Ljava/lang/Object;)Z
ifne 26
25: new sun.security.krb5.KrbException
dup
ldc "S4U2proxy request not honored by KDC"
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals: sun.security.krb5.Credentials
StackMap stack:
aload 7
areturn
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 27 0 backend Ljava/lang/String;
0 27 1 second Lsun/security/krb5/internal/Ticket;
0 27 2 client Lsun/security/krb5/PrincipalName;
0 27 3 ccreds Lsun/security/krb5/Credentials;
1 27 4 backendPrincipal Lsun/security/krb5/PrincipalName;
2 27 5 backendRealm Ljava/lang/String;
3 27 6 localRealm Ljava/lang/String;
24 27 7 creds Lsun/security/krb5/Credentials;
Exceptions:
throws sun.security.krb5.KrbException, java.io.IOException
MethodParameters:
Name Flags
backend
second
client
ccreds
public static sun.security.krb5.Credentials acquireServiceCreds(java.lang.String, sun.security.krb5.Credentials);
descriptor: (Ljava/lang/String;Lsun/security/krb5/Credentials;)Lsun/security/krb5/Credentials;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new sun.security.krb5.PrincipalName
dup
aload 0
1: iconst_0
2: invokespecial sun.security.krb5.PrincipalName.<init>:(Ljava/lang/String;I)V
astore 2
start local 2 3: aload 2
aload 1
invokestatic sun.security.krb5.internal.CredentialsUtil.serviceCreds:(Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Credentials;)Lsun/security/krb5/Credentials;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 service Ljava/lang/String;
0 4 1 ccreds Lsun/security/krb5/Credentials;
3 4 2 sname Lsun/security/krb5/PrincipalName;
Exceptions:
throws sun.security.krb5.KrbException, java.io.IOException
MethodParameters:
Name Flags
service
ccreds
private static sun.security.krb5.Credentials getTGTforRealm(java.lang.String, java.lang.String, sun.security.krb5.Credentials, boolean[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lsun/security/krb5/Credentials;[Z)Lsun/security/krb5/Credentials;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokestatic sun.security.krb5.Realm.getRealmsList:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: aconst_null
astore 7
start local 7 4: aconst_null
astore 8
start local 8 5: aconst_null
astore 9
start local 9 6: aconst_null
astore 10
start local 10 7: aconst_null
astore 11
start local 11 8: aload 3
iconst_0
iconst_1
bastore
9: aload 2
astore 7
iconst_0
istore 5
goto 69
10: StackMap locals: java.lang.String java.lang.String sun.security.krb5.Credentials boolean[] java.lang.String[] int int sun.security.krb5.Credentials sun.security.krb5.Credentials sun.security.krb5.Credentials sun.security.krb5.PrincipalName java.lang.String
StackMap stack:
aload 1
aload 4
iload 5
aaload
invokestatic sun.security.krb5.PrincipalName.tgsService:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/krb5/PrincipalName;
astore 10
11: getstatic sun.security.krb5.internal.CredentialsUtil.DEBUG:Z
ifeq 17
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
13: new java.lang.StringBuilder
dup
ldc ">>> Credentials acquireServiceCreds: main loop: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] tempService="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
15: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aload 10
aload 7
invokestatic sun.security.krb5.internal.CredentialsUtil.serviceCreds:(Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Credentials;)Lsun/security/krb5/Credentials;
astore 8
18: goto 21
StackMap locals:
StackMap stack: java.lang.Exception
19: pop
20: aconst_null
astore 8
21: StackMap locals:
StackMap stack:
aload 8
ifnonnull 41
22: getstatic sun.security.krb5.internal.CredentialsUtil.DEBUG:Z
ifeq 24
23: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ">>> Credentials acquireServiceCreds: no tgt; searching thru capath"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
24: StackMap locals:
StackMap stack:
aconst_null
astore 8
iload 5
iconst_1
iadd
istore 6
25: goto 39
26: StackMap locals:
StackMap stack:
aload 4
iload 6
aaload
aload 4
iload 5
aaload
invokestatic sun.security.krb5.PrincipalName.tgsService:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/krb5/PrincipalName;
astore 10
27: getstatic sun.security.krb5.internal.CredentialsUtil.DEBUG:Z
ifeq 34
28: getstatic java.lang.System.out:Ljava/io/PrintStream;
29: new java.lang.StringBuilder
dup
ldc ">>> Credentials acquireServiceCreds: inner loop: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
30: iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
31: ldc "] tempService="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
32: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
34: StackMap locals:
StackMap stack:
aload 10
aload 7
invokestatic sun.security.krb5.internal.CredentialsUtil.serviceCreds:(Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Credentials;)Lsun/security/krb5/Credentials;
astore 8
35: goto 38
StackMap locals:
StackMap stack: java.lang.Exception
36: pop
37: aconst_null
astore 8
38: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
39: aload 8
ifnonnull 41
iload 6
aload 4
arraylength
40: if_icmplt 26
41: StackMap locals:
StackMap stack:
aload 8
ifnonnull 45
42: getstatic sun.security.krb5.internal.CredentialsUtil.DEBUG:Z
ifeq 70
43: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ">>> Credentials acquireServiceCreds: no tgt; cannot get creds"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
44: goto 70
45: StackMap locals:
StackMap stack:
aload 8
invokevirtual sun.security.krb5.Credentials.getServer:()Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getInstanceComponent:()Ljava/lang/String;
astore 11
46: aload 3
iconst_0
baload
ifeq 52
aload 8
invokevirtual sun.security.krb5.Credentials.checkDelegate:()Z
ifne 52
47: getstatic sun.security.krb5.internal.CredentialsUtil.DEBUG:Z
ifeq 51
48: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ">>> Credentials acquireServiceCreds: global OK-AS-DELEGATE turned off at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
49: aload 8
invokevirtual sun.security.krb5.Credentials.getServer:()Lsun/security/krb5/PrincipalName;
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:
StackMap stack:
aload 3
iconst_0
iconst_0
bastore
52: StackMap locals:
StackMap stack:
getstatic sun.security.krb5.internal.CredentialsUtil.DEBUG:Z
ifeq 54
53: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ">>> Credentials acquireServiceCreds: got tgt"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
54: StackMap locals:
StackMap stack:
aload 11
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 57
55: aload 8
astore 9
56: goto 70
57: StackMap locals:
StackMap stack:
iload 5
iconst_1
iadd
istore 6
goto 61
58: StackMap locals:
StackMap stack:
aload 11
aload 4
iload 6
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 60
59: goto 62
60: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
61: iload 6
aload 4
arraylength
if_icmplt 58
62: StackMap locals:
StackMap stack:
iload 6
aload 4
arraylength
if_icmpge 70
63: iload 6
istore 5
64: aload 8
astore 7
65: getstatic sun.security.krb5.internal.CredentialsUtil.DEBUG:Z
ifeq 69
66: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ">>> Credentials acquireServiceCreds: continuing with main loop counter reset to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
67: iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
68: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
69: StackMap locals:
StackMap stack:
iload 5
aload 4
arraylength
if_icmplt 10
70: StackMap locals:
StackMap stack:
aload 9
areturn
end local 11 end local 10 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 71 0 localRealm Ljava/lang/String;
0 71 1 serviceRealm Ljava/lang/String;
0 71 2 ccreds Lsun/security/krb5/Credentials;
0 71 3 okAsDelegate [Z
1 71 4 realms [Ljava/lang/String;
2 71 5 i I
3 71 6 k I
4 71 7 cTgt Lsun/security/krb5/Credentials;
5 71 8 newTgt Lsun/security/krb5/Credentials;
6 71 9 theTgt Lsun/security/krb5/Credentials;
7 71 10 tempService Lsun/security/krb5/PrincipalName;
8 71 11 newTgtRealm Ljava/lang/String;
Exception table:
from to target type
17 18 19 Class java.lang.Exception
34 35 36 Class java.lang.Exception
Exceptions:
throws sun.security.krb5.KrbException
MethodParameters:
Name Flags
localRealm
serviceRealm
ccreds
okAsDelegate
private static sun.security.krb5.Credentials serviceCreds(sun.security.krb5.PrincipalName, sun.security.krb5.Credentials);
descriptor: (Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Credentials;)Lsun/security/krb5/Credentials;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: new sun.security.krb5.internal.KDCOptions
dup
invokespecial sun.security.krb5.internal.KDCOptions.<init>:()V
aload 1
1: aload 1
invokevirtual sun.security.krb5.Credentials.getClient:()Lsun/security/krb5/PrincipalName;
aload 0
aconst_null
aconst_null
2: getstatic sun.security.krb5.internal.CredentialsUtil$S4U2Type.NONE:Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;
3: invokestatic sun.security.krb5.internal.CredentialsUtil.serviceCreds:(Lsun/security/krb5/internal/KDCOptions;Lsun/security/krb5/Credentials;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;[Lsun/security/krb5/internal/Ticket;[Lsun/security/krb5/internal/PAData;Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;)Lsun/security/krb5/Credentials;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 service Lsun/security/krb5/PrincipalName;
0 4 1 ccreds Lsun/security/krb5/Credentials;
Exceptions:
throws sun.security.krb5.KrbException, java.io.IOException
MethodParameters:
Name Flags
service
ccreds
private static sun.security.krb5.Credentials serviceCreds(sun.security.krb5.internal.KDCOptions, sun.security.krb5.Credentials, sun.security.krb5.PrincipalName, sun.security.krb5.PrincipalName, sun.security.krb5.internal.Ticket[], sun.security.krb5.internal.PAData[], sun.security.krb5.internal.CredentialsUtil$S4U2Type);
descriptor: (Lsun/security/krb5/internal/KDCOptions;Lsun/security/krb5/Credentials;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;[Lsun/security/krb5/internal/Ticket;[Lsun/security/krb5/internal/PAData;Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;)Lsun/security/krb5/Credentials;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: getstatic sun.security.krb5.Config.DISABLE_REFERRALS:Z
ifne 6
1: aload 0
aload 1
aload 2
aload 3
2: aload 6
aload 4
aload 5
3: invokestatic sun.security.krb5.internal.CredentialsUtil.serviceCredsReferrals:(Lsun/security/krb5/internal/KDCOptions;Lsun/security/krb5/Credentials;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;[Lsun/security/krb5/internal/Ticket;[Lsun/security/krb5/internal/PAData;)Lsun/security/krb5/Credentials;
4: areturn
5: StackMap locals:
StackMap stack: sun.security.krb5.KrbException
pop
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
7: aload 1
invokevirtual sun.security.krb5.Credentials.getClientAlias:()Lsun/security/krb5/PrincipalName;
aload 3
aload 3
aload 6
8: aload 4
aload 5
9: invokestatic sun.security.krb5.internal.CredentialsUtil.serviceCredsSingle:(Lsun/security/krb5/internal/KDCOptions;Lsun/security/krb5/Credentials;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;[Lsun/security/krb5/internal/Ticket;[Lsun/security/krb5/internal/PAData;)Lsun/security/krb5/Credentials;
areturn
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 10 0 options Lsun/security/krb5/internal/KDCOptions;
0 10 1 asCreds Lsun/security/krb5/Credentials;
0 10 2 cname Lsun/security/krb5/PrincipalName;
0 10 3 sname Lsun/security/krb5/PrincipalName;
0 10 4 additionalTickets [Lsun/security/krb5/internal/Ticket;
0 10 5 extraPAs [Lsun/security/krb5/internal/PAData;
0 10 6 s4u2Type Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;
Exception table:
from to target type
1 4 5 Class sun.security.krb5.KrbException
Exceptions:
throws sun.security.krb5.KrbException, java.io.IOException
MethodParameters:
Name Flags
options
asCreds
cname
sname
additionalTickets
extraPAs
s4u2Type
private static sun.security.krb5.Credentials serviceCredsReferrals(sun.security.krb5.internal.KDCOptions, sun.security.krb5.Credentials, sun.security.krb5.PrincipalName, sun.security.krb5.PrincipalName, sun.security.krb5.internal.CredentialsUtil$S4U2Type, sun.security.krb5.internal.Ticket[], sun.security.krb5.internal.PAData[]);
descriptor: (Lsun/security/krb5/internal/KDCOptions;Lsun/security/krb5/Credentials;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;[Lsun/security/krb5/internal/Ticket;[Lsun/security/krb5/internal/PAData;)Lsun/security/krb5/Credentials;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=17, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new sun.security.krb5.internal.KDCOptions
dup
aload 0
invokevirtual sun.security.krb5.internal.KDCOptions.toBooleanArray:()[Z
invokespecial sun.security.krb5.internal.KDCOptions.<init>:([Z)V
astore 0
1: aload 0
bipush 15
iconst_1
invokevirtual sun.security.krb5.internal.KDCOptions.set:(IZ)V
2: aload 3
astore 7
start local 7 3: aload 3
astore 8
start local 8 4: aconst_null
astore 9
start local 9 5: iconst_0
istore 10
start local 10 6: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 11
start local 11 7: aload 1
invokevirtual sun.security.krb5.Credentials.getClientAlias:()Lsun/security/krb5/PrincipalName;
astore 12
start local 12 8: goto 64
9: StackMap locals: sun.security.krb5.internal.KDCOptions sun.security.krb5.Credentials sun.security.krb5.PrincipalName sun.security.krb5.PrincipalName sun.security.krb5.internal.CredentialsUtil$S4U2Type sun.security.krb5.internal.Ticket[] sun.security.krb5.internal.PAData[] sun.security.krb5.PrincipalName sun.security.krb5.PrincipalName sun.security.krb5.Credentials int java.util.List sun.security.krb5.PrincipalName
StackMap stack:
aload 2
aload 3
aload 8
invokevirtual sun.security.krb5.PrincipalName.getRealmString:()Ljava/lang/String;
invokestatic sun.security.krb5.internal.ReferralsCache.get:(Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Ljava/lang/String;)Lsun/security/krb5/internal/ReferralsCache$ReferralCacheEntry;
10: astore 13
start local 13 11: aconst_null
astore 14
start local 14 12: aload 13
ifnonnull 37
13: aload 0
aload 1
aload 2
14: aload 12
aload 8
aload 7
aload 4
15: aload 5
aload 6
16: invokestatic sun.security.krb5.internal.CredentialsUtil.serviceCredsSingle:(Lsun/security/krb5/internal/KDCOptions;Lsun/security/krb5/Credentials;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;[Lsun/security/krb5/internal/Ticket;[Lsun/security/krb5/internal/PAData;)Lsun/security/krb5/Credentials;
astore 9
17: aload 9
invokevirtual sun.security.krb5.Credentials.getServer:()Lsun/security/krb5/PrincipalName;
astore 15
start local 15 18: aload 8
aload 15
invokevirtual sun.security.krb5.PrincipalName.equals:(Ljava/lang/Object;)Z
ifne 40
19: aload 15
invokevirtual sun.security.krb5.PrincipalName.getNameStrings:()[Ljava/lang/String;
astore 16
start local 16 20: aload 16
arraylength
iconst_2
if_icmpne 40
21: aload 16
iconst_0
aaload
22: ldc "krbtgt"
23: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
24: ifeq 40
25: aload 8
invokevirtual sun.security.krb5.PrincipalName.getRealmAsString:()Ljava/lang/String;
26: aload 16
iconst_1
aaload
27: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
28: ifne 40
29: aload 4
getstatic sun.security.krb5.internal.CredentialsUtil$S4U2Type.NONE:Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;
if_acmpne 34
30: aload 2
aload 3
31: aload 15
invokevirtual sun.security.krb5.PrincipalName.getRealmString:()Ljava/lang/String;
32: aload 16
iconst_1
aaload
aload 9
33: invokestatic sun.security.krb5.internal.ReferralsCache.put:(Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Ljava/lang/String;Ljava/lang/String;Lsun/security/krb5/Credentials;)V
34: StackMap locals: sun.security.krb5.internal.KDCOptions sun.security.krb5.Credentials sun.security.krb5.PrincipalName sun.security.krb5.PrincipalName sun.security.krb5.internal.CredentialsUtil$S4U2Type sun.security.krb5.internal.Ticket[] sun.security.krb5.internal.PAData[] sun.security.krb5.PrincipalName sun.security.krb5.PrincipalName sun.security.krb5.Credentials int java.util.List sun.security.krb5.PrincipalName sun.security.krb5.internal.ReferralsCache$ReferralCacheEntry java.lang.String sun.security.krb5.PrincipalName java.lang.String[]
StackMap stack:
aload 16
iconst_1
aaload
astore 14
35: iconst_1
istore 10
end local 16 end local 15 36: goto 40
37: StackMap locals:
StackMap stack:
aload 13
invokevirtual sun.security.krb5.internal.ReferralsCache$ReferralCacheEntry.getCreds:()Lsun/security/krb5/Credentials;
astore 9
38: aload 13
invokevirtual sun.security.krb5.internal.ReferralsCache$ReferralCacheEntry.getToRealm:()Ljava/lang/String;
astore 14
39: iconst_1
istore 10
40: StackMap locals:
StackMap stack:
iload 10
ifeq 65
41: aload 4
getstatic sun.security.krb5.internal.CredentialsUtil$S4U2Type.PROXY:Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;
if_acmpne 54
42: iconst_2
anewarray sun.security.krb5.Credentials
dup
iconst_0
aload 9
aastore
43: astore 15
start local 15 44: aload 1
45: aload 15
aload 3
46: invokestatic sun.security.krb5.internal.CredentialsUtil.handleS4U2ProxyReferral:(Lsun/security/krb5/Credentials;[Lsun/security/krb5/Credentials;Lsun/security/krb5/PrincipalName;)Ljava/lang/String;
astore 14
47: aload 15
iconst_0
aaload
astore 9
48: aload 5
ifnull 51
49: aload 5
arraylength
ifeq 51
50: aload 15
iconst_1
aaload
ifnonnull 52
51: StackMap locals: sun.security.krb5.Credentials[]
StackMap stack:
new sun.security.krb5.KrbException
dup
ldc "Additional tickets expected for S4U2Proxy."
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
52: StackMap locals:
StackMap stack:
aload 5
iconst_0
aload 15
iconst_1
aaload
invokevirtual sun.security.krb5.Credentials.getTicket:()Lsun/security/krb5/internal/Ticket;
aastore
end local 15 53: goto 56
StackMap locals:
StackMap stack:
54: aload 4
getstatic sun.security.krb5.internal.CredentialsUtil$S4U2Type.SELF:Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;
if_acmpne 56
55: aload 6
aload 1
aload 9
invokestatic sun.security.krb5.internal.CredentialsUtil.handleS4U2SelfReferral:([Lsun/security/krb5/internal/PAData;Lsun/security/krb5/Credentials;Lsun/security/krb5/Credentials;)V
56: StackMap locals:
StackMap stack:
aload 11
aload 14
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 58
57: aconst_null
areturn
58: StackMap locals:
StackMap stack:
aload 9
astore 1
59: new sun.security.krb5.PrincipalName
dup
aload 8
invokevirtual sun.security.krb5.PrincipalName.getNameString:()Ljava/lang/String;
60: aload 8
invokevirtual sun.security.krb5.PrincipalName.getNameType:()I
aload 14
61: invokespecial sun.security.krb5.PrincipalName.<init>:(Ljava/lang/String;ILjava/lang/String;)V
astore 8
62: aload 11
aload 14
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
63: iconst_0
istore 10
end local 14 end local 13 64: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.List.size:()I
getstatic sun.security.krb5.Config.MAX_REFERRALS:I
if_icmple 9
65: StackMap locals:
StackMap stack:
aload 9
areturn
end local 12 end local 11 end local 10 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 66 0 options Lsun/security/krb5/internal/KDCOptions;
0 66 1 asCreds Lsun/security/krb5/Credentials;
0 66 2 cname Lsun/security/krb5/PrincipalName;
0 66 3 sname Lsun/security/krb5/PrincipalName;
0 66 4 s4u2Type Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;
0 66 5 additionalTickets [Lsun/security/krb5/internal/Ticket;
0 66 6 extraPAs [Lsun/security/krb5/internal/PAData;
3 66 7 cSname Lsun/security/krb5/PrincipalName;
4 66 8 refSname Lsun/security/krb5/PrincipalName;
5 66 9 creds Lsun/security/krb5/Credentials;
6 66 10 isReferral Z
7 66 11 referrals Ljava/util/List<Ljava/lang/String;>;
8 66 12 clientAlias Lsun/security/krb5/PrincipalName;
11 64 13 ref Lsun/security/krb5/internal/ReferralsCache$ReferralCacheEntry;
12 64 14 toRealm Ljava/lang/String;
18 36 15 server Lsun/security/krb5/PrincipalName;
20 36 16 serverNameStrings [Ljava/lang/String;
44 53 15 credsInOut [Lsun/security/krb5/Credentials;
Exceptions:
throws sun.security.krb5.KrbException, java.io.IOException
MethodParameters:
Name Flags
options
asCreds
cname
sname
s4u2Type
additionalTickets
extraPAs
private static sun.security.krb5.Credentials serviceCredsSingle(sun.security.krb5.internal.KDCOptions, sun.security.krb5.Credentials, sun.security.krb5.PrincipalName, sun.security.krb5.PrincipalName, sun.security.krb5.PrincipalName, sun.security.krb5.PrincipalName, sun.security.krb5.internal.CredentialsUtil$S4U2Type, sun.security.krb5.internal.Ticket[], sun.security.krb5.internal.PAData[]);
descriptor: (Lsun/security/krb5/internal/KDCOptions;Lsun/security/krb5/Credentials;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;[Lsun/security/krb5/internal/Ticket;[Lsun/security/krb5/internal/PAData;)Lsun/security/krb5/Credentials;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=15, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aconst_null
astore 9
start local 9 1: iconst_1
newarray 4
dup
iconst_0
iconst_1
bastore
astore 10
start local 10 2: aload 1
invokevirtual sun.security.krb5.Credentials.getServer:()Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getNameStrings:()[Ljava/lang/String;
astore 11
start local 11 3: aload 11
iconst_1
aaload
astore 12
start local 12 4: aload 4
invokevirtual sun.security.krb5.PrincipalName.getRealmString:()Ljava/lang/String;
astore 13
start local 13 5: aload 13
aload 12
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 27
6: getstatic sun.security.krb5.internal.CredentialsUtil.DEBUG:Z
ifeq 12
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ">>> serviceCredsSingle: cross-realm authentication"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ">>> serviceCredsSingle: obtaining credentials from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
12: StackMap locals: sun.security.krb5.internal.KDCOptions sun.security.krb5.Credentials sun.security.krb5.PrincipalName sun.security.krb5.PrincipalName sun.security.krb5.PrincipalName sun.security.krb5.PrincipalName sun.security.krb5.internal.CredentialsUtil$S4U2Type sun.security.krb5.internal.Ticket[] sun.security.krb5.internal.PAData[] sun.security.krb5.Credentials boolean[] java.lang.String[] java.lang.String java.lang.String
StackMap stack:
aload 12
aload 13
13: aload 1
aload 10
14: invokestatic sun.security.krb5.internal.CredentialsUtil.getTGTforRealm:(Ljava/lang/String;Ljava/lang/String;Lsun/security/krb5/Credentials;[Z)Lsun/security/krb5/Credentials;
astore 14
start local 14 15: aload 14
ifnonnull 19
16: new sun.security.krb5.internal.KrbApErrException
dup
bipush 63
17: ldc "No service creds"
18: invokespecial sun.security.krb5.internal.KrbApErrException.<init>:(ILjava/lang/String;)V
athrow
19: StackMap locals: sun.security.krb5.Credentials
StackMap stack:
getstatic sun.security.krb5.internal.CredentialsUtil.DEBUG:Z
ifeq 22
20: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ">>> Cross-realm TGT Credentials serviceCredsSingle: "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
21: aload 14
invokestatic sun.security.krb5.Credentials.printDebug:(Lsun/security/krb5/Credentials;)V
22: StackMap locals:
StackMap stack:
aload 6
getstatic sun.security.krb5.internal.CredentialsUtil$S4U2Type.SELF:Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;
if_acmpne 24
23: aload 8
aload 1
aload 14
invokestatic sun.security.krb5.internal.CredentialsUtil.handleS4U2SelfReferral:([Lsun/security/krb5/internal/PAData;Lsun/security/krb5/Credentials;Lsun/security/krb5/Credentials;)V
24: StackMap locals:
StackMap stack:
aload 14
astore 1
25: aload 1
invokevirtual sun.security.krb5.Credentials.getClient:()Lsun/security/krb5/PrincipalName;
astore 2
end local 14 26: goto 29
StackMap locals:
StackMap stack:
27: getstatic sun.security.krb5.internal.CredentialsUtil.DEBUG:Z
ifeq 29
28: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ">>> Credentials serviceCredsSingle: same realm"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
29: StackMap locals:
StackMap stack:
new sun.security.krb5.KrbTgsReq
dup
aload 0
aload 1
aload 2
aload 3
30: aload 4
aload 5
aload 7
aload 8
31: invokespecial sun.security.krb5.KrbTgsReq.<init>:(Lsun/security/krb5/internal/KDCOptions;Lsun/security/krb5/Credentials;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;[Lsun/security/krb5/internal/Ticket;[Lsun/security/krb5/internal/PAData;)V
astore 14
start local 14 32: aload 14
invokevirtual sun.security.krb5.KrbTgsReq.sendAndGetCreds:()Lsun/security/krb5/Credentials;
astore 9
33: aload 9
ifnull 39
34: getstatic sun.security.krb5.internal.CredentialsUtil.DEBUG:Z
ifeq 37
35: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ">>> TGS credentials serviceCredsSingle:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
36: aload 9
invokestatic sun.security.krb5.Credentials.printDebug:(Lsun/security/krb5/Credentials;)V
37: StackMap locals: sun.security.krb5.KrbTgsReq
StackMap stack:
aload 10
iconst_0
baload
ifne 39
38: aload 9
invokevirtual sun.security.krb5.Credentials.resetDelegate:()V
39: StackMap locals:
StackMap stack:
aload 9
areturn
end local 14 end local 13 end local 12 end local 11 end local 10 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 40 0 options Lsun/security/krb5/internal/KDCOptions;
0 40 1 asCreds Lsun/security/krb5/Credentials;
0 40 2 cname Lsun/security/krb5/PrincipalName;
0 40 3 clientAlias Lsun/security/krb5/PrincipalName;
0 40 4 refSname Lsun/security/krb5/PrincipalName;
0 40 5 sname Lsun/security/krb5/PrincipalName;
0 40 6 s4u2Type Lsun/security/krb5/internal/CredentialsUtil$S4U2Type;
0 40 7 additionalTickets [Lsun/security/krb5/internal/Ticket;
0 40 8 extraPAs [Lsun/security/krb5/internal/PAData;
1 40 9 theCreds Lsun/security/krb5/Credentials;
2 40 10 okAsDelegate [Z
3 40 11 serverAsCredsNames [Ljava/lang/String;
4 40 12 tgtRealm Ljava/lang/String;
5 40 13 serviceRealm Ljava/lang/String;
15 26 14 newTgt Lsun/security/krb5/Credentials;
32 40 14 req Lsun/security/krb5/KrbTgsReq;
Exceptions:
throws sun.security.krb5.KrbException, java.io.IOException
MethodParameters:
Name Flags
options
asCreds
cname
clientAlias
refSname
sname
s4u2Type
additionalTickets
extraPAs
private static void handleS4U2SelfReferral(sun.security.krb5.internal.PAData[], sun.security.krb5.Credentials, sun.security.krb5.Credentials);
descriptor: ([Lsun/security/krb5/internal/PAData;Lsun/security/krb5/Credentials;Lsun/security/krb5/Credentials;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.security.krb5.internal.CredentialsUtil.DEBUG:Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ">>> Handling S4U2Self referral"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 3: goto 18
4: StackMap locals: int
StackMap stack:
aload 0
iload 3
aaload
astore 4
start local 4 5: aload 4
invokevirtual sun.security.krb5.internal.PAData.getType:()I
sipush 129
if_icmpne 17
6: new sun.security.krb5.internal.PAForUserEnc
dup
7: new sun.security.util.DerValue
dup
aload 4
invokevirtual sun.security.krb5.internal.PAData.getValue:()[B
invokespecial sun.security.util.DerValue.<init>:([B)V
8: aload 1
invokevirtual sun.security.krb5.Credentials.getSessionKey:()Lsun/security/krb5/EncryptionKey;
9: invokespecial sun.security.krb5.internal.PAForUserEnc.<init>:(Lsun/security/util/DerValue;Lsun/security/krb5/EncryptionKey;)V
astore 5
start local 5 10: aload 0
iload 3
new sun.security.krb5.internal.PAData
dup
sipush 129
11: new sun.security.krb5.internal.PAForUserEnc
dup
aload 5
invokevirtual sun.security.krb5.internal.PAForUserEnc.getName:()Lsun/security/krb5/PrincipalName;
12: aload 2
invokevirtual sun.security.krb5.Credentials.getSessionKey:()Lsun/security/krb5/EncryptionKey;
13: invokespecial sun.security.krb5.internal.PAForUserEnc.<init>:(Lsun/security/krb5/PrincipalName;Lsun/security/krb5/EncryptionKey;)V
14: invokevirtual sun.security.krb5.internal.PAForUserEnc.asn1Encode:()[B
invokespecial sun.security.krb5.internal.PAData.<init>:(I[B)V
15: aastore
16: goto 19
end local 5 end local 4 17: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
18: iload 3
aload 0
arraylength
if_icmplt 4
end local 3 19: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 pas [Lsun/security/krb5/internal/PAData;
0 20 1 oldCeds Lsun/security/krb5/Credentials;
0 20 2 newCreds Lsun/security/krb5/Credentials;
3 19 3 i I
5 17 4 pa Lsun/security/krb5/internal/PAData;
10 17 5 paForUser Lsun/security/krb5/internal/PAForUserEnc;
Exceptions:
throws sun.security.krb5.Asn1Exception, sun.security.krb5.KrbException, java.io.IOException
MethodParameters:
Name Flags
pas
oldCeds
newCreds
private static java.lang.String handleS4U2ProxyReferral(sun.security.krb5.Credentials, sun.security.krb5.Credentials[], sun.security.krb5.PrincipalName);
descriptor: (Lsun/security/krb5/Credentials;[Lsun/security/krb5/Credentials;Lsun/security/krb5/PrincipalName;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.security.krb5.internal.CredentialsUtil.DEBUG:Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ">>> Handling S4U2Proxy referral"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 3: aload 2
aload 0
invokestatic sun.security.krb5.internal.CredentialsUtil.serviceCreds:(Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Credentials;)Lsun/security/krb5/Credentials;
4: astore 4
start local 4 5: aload 4
invokevirtual sun.security.krb5.Credentials.getServer:()Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getRealmString:()Ljava/lang/String;
6: astore 5
start local 5 7: aload 1
iconst_0
aaload
invokevirtual sun.security.krb5.Credentials.getServer:()Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getNameStrings:()[Ljava/lang/String;
iconst_1
aaload
astore 6
start local 6 8: aload 6
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
9: aload 6
aload 5
aload 1
iconst_0
aaload
10: iconst_1
newarray 4
11: invokestatic sun.security.krb5.internal.CredentialsUtil.getTGTforRealm:(Ljava/lang/String;Ljava/lang/String;Lsun/security/krb5/Credentials;[Z)Lsun/security/krb5/Credentials;
astore 3
12: goto 14
13: StackMap locals: sun.security.krb5.Credentials sun.security.krb5.Credentials[] sun.security.krb5.PrincipalName sun.security.krb5.Credentials sun.security.krb5.Credentials java.lang.String java.lang.String
StackMap stack:
aload 1
iconst_0
aaload
astore 3
14: StackMap locals:
StackMap stack:
aload 1
iconst_0
aload 0
invokevirtual sun.security.krb5.Credentials.getClient:()Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getRealmString:()Ljava/lang/String;
15: aload 5
aload 0
iconst_1
newarray 4
16: invokestatic sun.security.krb5.internal.CredentialsUtil.getTGTforRealm:(Ljava/lang/String;Ljava/lang/String;Lsun/security/krb5/Credentials;[Z)Lsun/security/krb5/Credentials;
aastore
17: aload 1
iconst_1
aload 3
aastore
18: aload 5
areturn
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 19 0 asCreds Lsun/security/krb5/Credentials;
0 19 1 credsInOut [Lsun/security/krb5/Credentials;
0 19 2 sname Lsun/security/krb5/PrincipalName;
3 19 3 refTGT Lsun/security/krb5/Credentials;
5 19 4 middleSvcCredsInBackendRealm Lsun/security/krb5/Credentials;
7 19 5 backendRealm Ljava/lang/String;
8 19 6 toRealm Ljava/lang/String;
Exceptions:
throws sun.security.krb5.KrbException, java.io.IOException
MethodParameters:
Name Flags
asCreds
credsInOut
sname
}
SourceFile: "CredentialsUtil.java"
NestMembers:
sun.security.krb5.internal.CredentialsUtil$S4U2Type
InnerClasses:
private final S4U2Type = sun.security.krb5.internal.CredentialsUtil$S4U2Type of sun.security.krb5.internal.CredentialsUtil
final ReferralCacheEntry = sun.security.krb5.internal.ReferralsCache$ReferralCacheEntry of sun.security.krb5.internal.ReferralsCache