public final class sun.security.krb5.KrbAsReqBuilder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.krb5.KrbAsReqBuilder
super_class: java.lang.Object
{
private sun.security.krb5.internal.KDCOptions options;
descriptor: Lsun/security/krb5/internal/KDCOptions;
flags: (0x0002) ACC_PRIVATE
private sun.security.krb5.PrincipalName cname;
descriptor: Lsun/security/krb5/PrincipalName;
flags: (0x0002) ACC_PRIVATE
private sun.security.krb5.PrincipalName refCname;
descriptor: Lsun/security/krb5/PrincipalName;
flags: (0x0002) ACC_PRIVATE
private sun.security.krb5.PrincipalName sname;
descriptor: Lsun/security/krb5/PrincipalName;
flags: (0x0002) ACC_PRIVATE
private sun.security.krb5.internal.KerberosTime from;
descriptor: Lsun/security/krb5/internal/KerberosTime;
flags: (0x0002) ACC_PRIVATE
private sun.security.krb5.internal.KerberosTime till;
descriptor: Lsun/security/krb5/internal/KerberosTime;
flags: (0x0002) ACC_PRIVATE
private sun.security.krb5.internal.KerberosTime rtime;
descriptor: Lsun/security/krb5/internal/KerberosTime;
flags: (0x0002) ACC_PRIVATE
private sun.security.krb5.internal.HostAddresses addresses;
descriptor: Lsun/security/krb5/internal/HostAddresses;
flags: (0x0002) ACC_PRIVATE
private final char[] password;
descriptor: [C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.security.auth.kerberos.KeyTab ktab;
descriptor: Ljavax/security/auth/kerberos/KeyTab;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private sun.security.krb5.internal.PAData[] paList;
descriptor: [Lsun/security/krb5/internal/PAData;
flags: (0x0002) ACC_PRIVATE
private sun.security.krb5.KrbAsReq req;
descriptor: Lsun/security/krb5/KrbAsReq;
flags: (0x0002) ACC_PRIVATE
private sun.security.krb5.KrbAsRep rep;
descriptor: Lsun/security/krb5/KrbAsRep;
flags: (0x0002) ACC_PRIVATE
private sun.security.krb5.KrbAsReqBuilder$State state;
descriptor: Lsun/security/krb5/KrbAsReqBuilder$State;
flags: (0x0002) ACC_PRIVATE
private void init(sun.security.krb5.PrincipalName);
descriptor: (Lsun/security/krb5/PrincipalName;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.krb5.KrbAsReqBuilder.cname:Lsun/security/krb5/PrincipalName;
1: aload 0
aload 1
putfield sun.security.krb5.KrbAsReqBuilder.refCname:Lsun/security/krb5/PrincipalName;
2: aload 0
getstatic sun.security.krb5.KrbAsReqBuilder$State.INIT:Lsun/security/krb5/KrbAsReqBuilder$State;
putfield sun.security.krb5.KrbAsReqBuilder.state:Lsun/security/krb5/KrbAsReqBuilder$State;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/krb5/KrbAsReqBuilder;
0 4 1 cname Lsun/security/krb5/PrincipalName;
Exceptions:
throws sun.security.krb5.KrbException
MethodParameters:
Name Flags
cname
public void <init>(sun.security.krb5.PrincipalName, javax.security.auth.kerberos.KeyTab);
descriptor: (Lsun/security/krb5/PrincipalName;Ljavax/security/auth/kerberos/KeyTab;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual sun.security.krb5.KrbAsReqBuilder.init:(Lsun/security/krb5/PrincipalName;)V
2: aload 0
aload 2
putfield sun.security.krb5.KrbAsReqBuilder.ktab:Ljavax/security/auth/kerberos/KeyTab;
3: aload 0
aconst_null
putfield sun.security.krb5.KrbAsReqBuilder.password:[C
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/krb5/KrbAsReqBuilder;
0 5 1 cname Lsun/security/krb5/PrincipalName;
0 5 2 ktab Ljavax/security/auth/kerberos/KeyTab;
Exceptions:
throws sun.security.krb5.KrbException
MethodParameters:
Name Flags
cname
ktab
public void <init>(sun.security.krb5.PrincipalName, char[]);
descriptor: (Lsun/security/krb5/PrincipalName;[C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual sun.security.krb5.KrbAsReqBuilder.init:(Lsun/security/krb5/PrincipalName;)V
2: aload 0
aload 2
invokevirtual char[].clone:()Ljava/lang/Object;
checkcast char[]
putfield sun.security.krb5.KrbAsReqBuilder.password:[C
3: aload 0
aconst_null
putfield sun.security.krb5.KrbAsReqBuilder.ktab:Ljavax/security/auth/kerberos/KeyTab;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/krb5/KrbAsReqBuilder;
0 5 1 cname Lsun/security/krb5/PrincipalName;
0 5 2 pass [C
Exceptions:
throws sun.security.krb5.KrbException
MethodParameters:
Name Flags
cname
pass
public sun.security.krb5.EncryptionKey[] getKeys(boolean);
descriptor: (Z)[Lsun/security/krb5/EncryptionKey;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ifeq 1
getstatic sun.security.krb5.KrbAsReqBuilder$State.REQ_OK:Lsun/security/krb5/KrbAsReqBuilder$State;
goto 2
StackMap locals:
StackMap stack: sun.security.krb5.KrbAsReqBuilder
1: getstatic sun.security.krb5.KrbAsReqBuilder$State.INIT:Lsun/security/krb5/KrbAsReqBuilder$State;
StackMap locals: sun.security.krb5.KrbAsReqBuilder int
StackMap stack: sun.security.krb5.KrbAsReqBuilder sun.security.krb5.KrbAsReqBuilder$State
2: ldc "Cannot get keys"
invokevirtual sun.security.krb5.KrbAsReqBuilder.checkState:(Lsun/security/krb5/KrbAsReqBuilder$State;Ljava/lang/String;)V
3: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.password:[C
ifnull 39
4: ldc "default_tkt_enctypes"
invokestatic sun.security.krb5.internal.crypto.EType.getDefaults:(Ljava/lang/String;)[I
astore 2
start local 2 5: aload 2
arraylength
anewarray sun.security.krb5.EncryptionKey
astore 3
start local 3 6: aconst_null
astore 4
start local 4 7: iconst_0
istore 5
start local 5 8: goto 21
9: StackMap locals: sun.security.krb5.KrbAsReqBuilder int int[] sun.security.krb5.EncryptionKey[] java.lang.String int
StackMap stack:
aload 2
iload 5
iaload
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.paList:[Lsun/security/krb5/internal/PAData;
invokestatic sun.security.krb5.internal.PAData.getSaltAndParams:(I[Lsun/security/krb5/internal/PAData;)Lsun/security/krb5/internal/PAData$SaltAndParams;
10: astore 6
start local 6 11: aload 6
ifnull 20
12: aload 2
iload 5
iaload
bipush 23
if_icmpeq 15
13: aload 6
getfield sun.security.krb5.internal.PAData$SaltAndParams.salt:Ljava/lang/String;
ifnull 15
14: aload 6
getfield sun.security.krb5.internal.PAData$SaltAndParams.salt:Ljava/lang/String;
astore 4
15: StackMap locals: sun.security.krb5.internal.PAData$SaltAndParams
StackMap stack:
aload 3
iload 5
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.cname:Lsun/security/krb5/PrincipalName;
16: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.password:[C
17: aload 2
iload 5
iaload
18: aload 6
19: invokestatic sun.security.krb5.EncryptionKey.acquireSecretKey:(Lsun/security/krb5/PrincipalName;[CILsun/security/krb5/internal/PAData$SaltAndParams;)Lsun/security/krb5/EncryptionKey;
aastore
end local 6 20: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
21: iload 5
aload 2
arraylength
if_icmplt 9
end local 5 22: aload 4
ifnonnull 23
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.cname:Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getSalt:()Ljava/lang/String;
astore 4
23: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 24: goto 32
25: StackMap locals: int
StackMap stack:
aload 3
iload 5
aaload
ifnonnull 31
26: aload 3
iload 5
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.password:[C
27: aload 4
28: aload 2
iload 5
iaload
29: aconst_null
30: invokestatic sun.security.krb5.EncryptionKey.acquireSecretKey:([CLjava/lang/String;I[B)Lsun/security/krb5/EncryptionKey;
aastore
31: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
32: iload 5
aload 2
arraylength
if_icmplt 25
end local 5 33: goto 38
StackMap locals: sun.security.krb5.KrbAsReqBuilder int int[] sun.security.krb5.EncryptionKey[] java.lang.String
StackMap stack: java.io.IOException
34: astore 5
start local 5 35: new sun.security.krb5.KrbException
dup
sipush 909
invokespecial sun.security.krb5.KrbException.<init>:(I)V
astore 6
start local 6 36: aload 6
aload 5
invokevirtual sun.security.krb5.KrbException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
37: aload 6
athrow
end local 6 end local 5 38: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 39: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Required password not provided"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lsun/security/krb5/KrbAsReqBuilder;
0 40 1 isInitiator Z
5 39 2 eTypes [I
6 39 3 result [Lsun/security/krb5/EncryptionKey;
7 39 4 salt Ljava/lang/String;
8 22 5 i I
11 20 6 snp Lsun/security/krb5/internal/PAData$SaltAndParams;
24 33 5 i I
35 38 5 ioe Ljava/io/IOException;
36 38 6 ke Lsun/security/krb5/KrbException;
Exception table:
from to target type
7 33 34 Class java.io.IOException
Exceptions:
throws sun.security.krb5.KrbException
MethodParameters:
Name Flags
isInitiator
public void setOptions(sun.security.krb5.internal.KDCOptions);
descriptor: (Lsun/security/krb5/internal/KDCOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic sun.security.krb5.KrbAsReqBuilder$State.INIT:Lsun/security/krb5/KrbAsReqBuilder$State;
ldc "Cannot specify options"
invokevirtual sun.security.krb5.KrbAsReqBuilder.checkState:(Lsun/security/krb5/KrbAsReqBuilder$State;Ljava/lang/String;)V
1: aload 0
aload 1
putfield sun.security.krb5.KrbAsReqBuilder.options:Lsun/security/krb5/internal/KDCOptions;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/KrbAsReqBuilder;
0 3 1 options Lsun/security/krb5/internal/KDCOptions;
MethodParameters:
Name Flags
options
public void setTill(sun.security.krb5.internal.KerberosTime);
descriptor: (Lsun/security/krb5/internal/KerberosTime;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic sun.security.krb5.KrbAsReqBuilder$State.INIT:Lsun/security/krb5/KrbAsReqBuilder$State;
ldc "Cannot specify till"
invokevirtual sun.security.krb5.KrbAsReqBuilder.checkState:(Lsun/security/krb5/KrbAsReqBuilder$State;Ljava/lang/String;)V
1: aload 0
aload 1
putfield sun.security.krb5.KrbAsReqBuilder.till:Lsun/security/krb5/internal/KerberosTime;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/KrbAsReqBuilder;
0 3 1 till Lsun/security/krb5/internal/KerberosTime;
MethodParameters:
Name Flags
till
public void setRTime(sun.security.krb5.internal.KerberosTime);
descriptor: (Lsun/security/krb5/internal/KerberosTime;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic sun.security.krb5.KrbAsReqBuilder$State.INIT:Lsun/security/krb5/KrbAsReqBuilder$State;
ldc "Cannot specify rtime"
invokevirtual sun.security.krb5.KrbAsReqBuilder.checkState:(Lsun/security/krb5/KrbAsReqBuilder$State;Ljava/lang/String;)V
1: aload 0
aload 1
putfield sun.security.krb5.KrbAsReqBuilder.rtime:Lsun/security/krb5/internal/KerberosTime;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/KrbAsReqBuilder;
0 3 1 rtime Lsun/security/krb5/internal/KerberosTime;
MethodParameters:
Name Flags
rtime
public void setTarget(sun.security.krb5.PrincipalName);
descriptor: (Lsun/security/krb5/PrincipalName;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic sun.security.krb5.KrbAsReqBuilder$State.INIT:Lsun/security/krb5/KrbAsReqBuilder$State;
ldc "Cannot specify target"
invokevirtual sun.security.krb5.KrbAsReqBuilder.checkState:(Lsun/security/krb5/KrbAsReqBuilder$State;Ljava/lang/String;)V
1: aload 0
aload 1
putfield sun.security.krb5.KrbAsReqBuilder.sname:Lsun/security/krb5/PrincipalName;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/KrbAsReqBuilder;
0 3 1 sname Lsun/security/krb5/PrincipalName;
MethodParameters:
Name Flags
sname
public void setAddresses(sun.security.krb5.internal.HostAddresses);
descriptor: (Lsun/security/krb5/internal/HostAddresses;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic sun.security.krb5.KrbAsReqBuilder$State.INIT:Lsun/security/krb5/KrbAsReqBuilder$State;
ldc "Cannot specify addresses"
invokevirtual sun.security.krb5.KrbAsReqBuilder.checkState:(Lsun/security/krb5/KrbAsReqBuilder$State;Ljava/lang/String;)V
1: aload 0
aload 1
putfield sun.security.krb5.KrbAsReqBuilder.addresses:Lsun/security/krb5/internal/HostAddresses;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/KrbAsReqBuilder;
0 3 1 addresses Lsun/security/krb5/internal/HostAddresses;
MethodParameters:
Name Flags
addresses
private sun.security.krb5.KrbAsReq build(sun.security.krb5.EncryptionKey, sun.security.krb5.KrbAsReqBuilder$ReferralsState);
descriptor: (Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/KrbAsReqBuilder$ReferralsState;)Lsun/security/krb5/KrbAsReq;
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.password:[C
ifnull 4
2: ldc "default_tkt_enctypes"
invokestatic sun.security.krb5.internal.crypto.EType.getDefaults:(Ljava/lang/String;)[I
astore 4
start local 4 3: goto 13
end local 4 4: StackMap locals: sun.security.krb5.internal.PAData[]
StackMap stack:
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.ktab:Ljavax/security/auth/kerberos/KeyTab;
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.cname:Lsun/security/krb5/PrincipalName;
invokestatic sun.security.jgss.krb5.Krb5Util.keysFromJavaxKeyTab:(Ljavax/security/auth/kerberos/KeyTab;Lsun/security/krb5/PrincipalName;)[Lsun/security/krb5/EncryptionKey;
astore 5
start local 5 5: ldc "default_tkt_enctypes"
6: aload 5
7: invokestatic sun.security.krb5.internal.crypto.EType.getDefaults:(Ljava/lang/String;[Lsun/security/krb5/EncryptionKey;)[I
astore 4
start local 4 8: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 12
StackMap locals: sun.security.krb5.KrbAsReqBuilder sun.security.krb5.EncryptionKey sun.security.krb5.KrbAsReqBuilder$ReferralsState sun.security.krb5.internal.PAData[] int[] sun.security.krb5.EncryptionKey[] top int int sun.security.krb5.EncryptionKey[]
StackMap stack:
9: aload 9
iload 7
aaload
astore 6
start local 6 10: aload 6
invokevirtual sun.security.krb5.EncryptionKey.destroy:()V
end local 6 11: iinc 7 1
StackMap locals:
StackMap stack:
12: iload 7
iload 8
if_icmplt 9
end local 5 13: StackMap locals: sun.security.krb5.KrbAsReqBuilder sun.security.krb5.EncryptionKey sun.security.krb5.KrbAsReqBuilder$ReferralsState sun.security.krb5.internal.PAData[] int[]
StackMap stack:
aload 0
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.options:Lsun/security/krb5/internal/KDCOptions;
ifnonnull 14
new sun.security.krb5.internal.KDCOptions
dup
invokespecial sun.security.krb5.internal.KDCOptions.<init>:()V
goto 15
StackMap locals:
StackMap stack: sun.security.krb5.KrbAsReqBuilder
14: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.options:Lsun/security/krb5/internal/KDCOptions;
StackMap locals: sun.security.krb5.KrbAsReqBuilder sun.security.krb5.EncryptionKey sun.security.krb5.KrbAsReqBuilder$ReferralsState sun.security.krb5.internal.PAData[] int[]
StackMap stack: sun.security.krb5.KrbAsReqBuilder sun.security.krb5.internal.KDCOptions
15: putfield sun.security.krb5.KrbAsReqBuilder.options:Lsun/security/krb5/internal/KDCOptions;
16: aload 2
invokevirtual sun.security.krb5.KrbAsReqBuilder$ReferralsState.isEnabled:()Z
ifeq 23
17: aload 2
invokevirtual sun.security.krb5.KrbAsReqBuilder$ReferralsState.sendCanonicalize:()Z
ifeq 19
18: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.options:Lsun/security/krb5/internal/KDCOptions;
bipush 15
iconst_1
invokevirtual sun.security.krb5.internal.KDCOptions.set:(IZ)V
19: StackMap locals:
StackMap stack:
iconst_1
anewarray sun.security.krb5.internal.PAData
dup
iconst_0
new sun.security.krb5.internal.PAData
dup
sipush 149
20: iconst_0
newarray 8
21: invokespecial sun.security.krb5.internal.PAData.<init>:(I[B)V
aastore
astore 3
22: goto 24
23: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.options:Lsun/security/krb5/internal/KDCOptions;
bipush 15
iconst_0
invokevirtual sun.security.krb5.internal.KDCOptions.set:(IZ)V
24: StackMap locals:
StackMap stack:
new sun.security.krb5.KrbAsReq
dup
aload 1
25: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.options:Lsun/security/krb5/internal/KDCOptions;
26: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.refCname:Lsun/security/krb5/PrincipalName;
27: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.sname:Lsun/security/krb5/PrincipalName;
28: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.from:Lsun/security/krb5/internal/KerberosTime;
29: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.till:Lsun/security/krb5/internal/KerberosTime;
30: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.rtime:Lsun/security/krb5/internal/KerberosTime;
31: aload 4
32: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.addresses:Lsun/security/krb5/internal/HostAddresses;
33: aload 3
34: invokespecial sun.security.krb5.KrbAsReq.<init>:(Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/KDCOptions;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/KerberosTime;[ILsun/security/krb5/internal/HostAddresses;[Lsun/security/krb5/internal/PAData;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lsun/security/krb5/KrbAsReqBuilder;
0 35 1 key Lsun/security/krb5/EncryptionKey;
0 35 2 referralsState Lsun/security/krb5/KrbAsReqBuilder$ReferralsState;
1 35 3 extraPAs [Lsun/security/krb5/internal/PAData;
3 4 4 eTypes [I
8 35 4 eTypes [I
5 13 5 ks [Lsun/security/krb5/EncryptionKey;
10 11 6 k Lsun/security/krb5/EncryptionKey;
Exceptions:
throws sun.security.krb5.KrbException, java.io.IOException
MethodParameters:
Name Flags
key
referralsState
private sun.security.krb5.KrbAsReqBuilder resolve();
descriptor: ()Lsun/security/krb5/KrbAsReqBuilder;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.ktab:Ljavax/security/auth/kerberos/KeyTab;
ifnull 3
1: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.rep:Lsun/security/krb5/KrbAsRep;
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.ktab:Ljavax/security/auth/kerberos/KeyTab;
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.req:Lsun/security/krb5/KrbAsReq;
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.cname:Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.KrbAsRep.decryptUsingKeyTab:(Ljavax/security/auth/kerberos/KeyTab;Lsun/security/krb5/KrbAsReq;Lsun/security/krb5/PrincipalName;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.rep:Lsun/security/krb5/KrbAsRep;
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.password:[C
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.req:Lsun/security/krb5/KrbAsReq;
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.cname:Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.KrbAsRep.decryptUsingPassword:([CLsun/security/krb5/KrbAsReq;Lsun/security/krb5/PrincipalName;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.rep:Lsun/security/krb5/KrbAsRep;
invokevirtual sun.security.krb5.KrbAsRep.getPA:()[Lsun/security/krb5/internal/PAData;
ifnull 13
5: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.paList:[Lsun/security/krb5/internal/PAData;
ifnull 6
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.paList:[Lsun/security/krb5/internal/PAData;
arraylength
ifne 8
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.rep:Lsun/security/krb5/KrbAsRep;
invokevirtual sun.security.krb5.KrbAsRep.getPA:()[Lsun/security/krb5/internal/PAData;
putfield sun.security.krb5.KrbAsReqBuilder.paList:[Lsun/security/krb5/internal/PAData;
7: goto 13
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.rep:Lsun/security/krb5/KrbAsRep;
invokevirtual sun.security.krb5.KrbAsRep.getPA:()[Lsun/security/krb5/internal/PAData;
arraylength
istore 1
start local 1 9: iload 1
ifle 13
10: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.paList:[Lsun/security/krb5/internal/PAData;
arraylength
istore 2
start local 2 11: aload 0
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.paList:[Lsun/security/krb5/internal/PAData;
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.paList:[Lsun/security/krb5/internal/PAData;
arraylength
iload 1
iadd
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast sun.security.krb5.internal.PAData[]
putfield sun.security.krb5.KrbAsReqBuilder.paList:[Lsun/security/krb5/internal/PAData;
12: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.rep:Lsun/security/krb5/KrbAsRep;
invokevirtual sun.security.krb5.KrbAsRep.getPA:()[Lsun/security/krb5/internal/PAData;
iconst_0
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.paList:[Lsun/security/krb5/internal/PAData;
iload 2
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 2 end local 1 13: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/krb5/KrbAsReqBuilder;
9 13 1 extraLen I
11 13 2 oldLen I
Exceptions:
throws sun.security.krb5.KrbException, sun.security.krb5.Asn1Exception, java.io.IOException
private sun.security.krb5.KrbAsReqBuilder send();
descriptor: ()Lsun/security/krb5/KrbAsReqBuilder;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: new sun.security.krb5.KrbAsReqBuilder$ReferralsState
dup
aload 0
invokespecial sun.security.krb5.KrbAsReqBuilder$ReferralsState.<init>:(Lsun/security/krb5/KrbAsReqBuilder;)V
astore 4
start local 4 4: StackMap locals: sun.security.krb5.KrbAsReqBuilder int sun.security.krb5.KdcComm sun.security.krb5.EncryptionKey sun.security.krb5.KrbAsReqBuilder$ReferralsState
StackMap stack:
aload 4
invokevirtual sun.security.krb5.KrbAsReqBuilder$ReferralsState.refreshComm:()Z
ifeq 6
5: new sun.security.krb5.KdcComm
dup
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.refCname:Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getRealmAsString:()Ljava/lang/String;
invokespecial sun.security.krb5.KdcComm.<init>:(Ljava/lang/String;)V
astore 2
6: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 3
aload 4
invokevirtual sun.security.krb5.KrbAsReqBuilder.build:(Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/KrbAsReqBuilder$ReferralsState;)Lsun/security/krb5/KrbAsReq;
putfield sun.security.krb5.KrbAsReqBuilder.req:Lsun/security/krb5/KrbAsReq;
7: aload 0
new sun.security.krb5.KrbAsRep
dup
aload 2
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.req:Lsun/security/krb5/KrbAsReq;
invokevirtual sun.security.krb5.KrbAsReq.encoding:()[B
invokevirtual sun.security.krb5.KdcComm.send:([B)[B
invokespecial sun.security.krb5.KrbAsRep.<init>:([B)V
putfield sun.security.krb5.KrbAsReqBuilder.rep:Lsun/security/krb5/KrbAsRep;
8: aload 0
9: areturn
10: StackMap locals:
StackMap stack: sun.security.krb5.KrbException
astore 5
start local 5 11: iload 1
ifne 39
12: aload 5
invokevirtual sun.security.krb5.KrbException.returnCode:()I
bipush 24
if_icmpeq 14
13: aload 5
invokevirtual sun.security.krb5.KrbException.returnCode:()I
bipush 25
if_icmpne 39
14: StackMap locals: sun.security.krb5.KrbException
StackMap stack:
getstatic sun.security.krb5.internal.Krb5.DEBUG:Z
ifeq 16
15: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "KrbAsReqBuilder: PREAUTH FAILED/REQ, re-send AS-REQ"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
iconst_1
istore 1
17: aload 5
invokevirtual sun.security.krb5.KrbException.getError:()Lsun/security/krb5/internal/KRBError;
astore 6
start local 6 18: aload 6
invokevirtual sun.security.krb5.internal.KRBError.getPA:()[Lsun/security/krb5/internal/PAData;
19: ldc "default_tkt_enctypes"
invokestatic sun.security.krb5.internal.crypto.EType.getDefaults:(Ljava/lang/String;)[I
iconst_0
iaload
20: invokestatic sun.security.krb5.internal.PAData.getPreferredEType:([Lsun/security/krb5/internal/PAData;I)I
istore 7
start local 7 21: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.password:[C
ifnonnull 31
22: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.ktab:Ljavax/security/auth/kerberos/KeyTab;
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.cname:Lsun/security/krb5/PrincipalName;
invokestatic sun.security.jgss.krb5.Krb5Util.keysFromJavaxKeyTab:(Ljavax/security/auth/kerberos/KeyTab;Lsun/security/krb5/PrincipalName;)[Lsun/security/krb5/EncryptionKey;
astore 8
start local 8 23: iload 7
aload 8
invokestatic sun.security.krb5.EncryptionKey.findKey:(I[Lsun/security/krb5/EncryptionKey;)Lsun/security/krb5/EncryptionKey;
astore 3
24: aload 3
ifnull 25
aload 3
invokevirtual sun.security.krb5.EncryptionKey.clone:()Ljava/lang/Object;
checkcast sun.security.krb5.EncryptionKey
astore 3
25: StackMap locals: sun.security.krb5.internal.KRBError int sun.security.krb5.EncryptionKey[]
StackMap stack:
aload 8
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 29
StackMap locals: sun.security.krb5.KrbAsReqBuilder int sun.security.krb5.KdcComm sun.security.krb5.EncryptionKey sun.security.krb5.KrbAsReqBuilder$ReferralsState sun.security.krb5.KrbException sun.security.krb5.internal.KRBError int sun.security.krb5.EncryptionKey[] top int int sun.security.krb5.EncryptionKey[]
StackMap stack:
26: aload 12
iload 10
aaload
astore 9
start local 9 27: aload 9
invokevirtual sun.security.krb5.EncryptionKey.destroy:()V
end local 9 28: iinc 10 1
StackMap locals:
StackMap stack:
29: iload 10
iload 11
if_icmplt 26
end local 8 30: goto 37
31: StackMap locals: sun.security.krb5.KrbAsReqBuilder int sun.security.krb5.KdcComm sun.security.krb5.EncryptionKey sun.security.krb5.KrbAsReqBuilder$ReferralsState sun.security.krb5.KrbException sun.security.krb5.internal.KRBError int
StackMap stack:
aload 0
getfield sun.security.krb5.KrbAsReqBuilder.cname:Lsun/security/krb5/PrincipalName;
32: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.password:[C
33: iload 7
34: iload 7
aload 6
invokevirtual sun.security.krb5.internal.KRBError.getPA:()[Lsun/security/krb5/internal/PAData;
35: invokestatic sun.security.krb5.internal.PAData.getSaltAndParams:(I[Lsun/security/krb5/internal/PAData;)Lsun/security/krb5/internal/PAData$SaltAndParams;
36: invokestatic sun.security.krb5.EncryptionKey.acquireSecretKey:(Lsun/security/krb5/PrincipalName;[CILsun/security/krb5/internal/PAData$SaltAndParams;)Lsun/security/krb5/EncryptionKey;
astore 3
37: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual sun.security.krb5.internal.KRBError.getPA:()[Lsun/security/krb5/internal/PAData;
putfield sun.security.krb5.KrbAsReqBuilder.paList:[Lsun/security/krb5/internal/PAData;
end local 7 end local 6 38: goto 4
39: StackMap locals:
StackMap stack:
aload 4
aload 5
invokevirtual sun.security.krb5.KrbAsReqBuilder$ReferralsState.handleError:(Lsun/security/krb5/KrbException;)Z
ifeq 43
40: aconst_null
astore 3
41: iconst_0
istore 1
42: goto 4
43: StackMap locals:
StackMap stack:
aload 5
athrow
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 44 0 this Lsun/security/krb5/KrbAsReqBuilder;
1 44 1 preAuthFailedOnce Z
2 44 2 comm Lsun/security/krb5/KdcComm;
3 44 3 pakey Lsun/security/krb5/EncryptionKey;
4 44 4 referralsState Lsun/security/krb5/KrbAsReqBuilder$ReferralsState;
11 44 5 ke Lsun/security/krb5/KrbException;
18 38 6 kerr Lsun/security/krb5/internal/KRBError;
21 38 7 paEType I
23 30 8 ks [Lsun/security/krb5/EncryptionKey;
27 28 9 k Lsun/security/krb5/EncryptionKey;
Exception table:
from to target type
6 9 10 Class sun.security.krb5.KrbException
Exceptions:
throws sun.security.krb5.KrbException, java.io.IOException
public sun.security.krb5.KrbAsReqBuilder action();
descriptor: ()Lsun/security/krb5/KrbAsReqBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getstatic sun.security.krb5.KrbAsReqBuilder$State.INIT:Lsun/security/krb5/KrbAsReqBuilder$State;
ldc "Cannot call action"
invokevirtual sun.security.krb5.KrbAsReqBuilder.checkState:(Lsun/security/krb5/KrbAsReqBuilder$State;Ljava/lang/String;)V
1: aload 0
getstatic sun.security.krb5.KrbAsReqBuilder$State.REQ_OK:Lsun/security/krb5/KrbAsReqBuilder$State;
putfield sun.security.krb5.KrbAsReqBuilder.state:Lsun/security/krb5/KrbAsReqBuilder$State;
2: aload 0
invokevirtual sun.security.krb5.KrbAsReqBuilder.send:()Lsun/security/krb5/KrbAsReqBuilder;
invokevirtual sun.security.krb5.KrbAsReqBuilder.resolve:()Lsun/security/krb5/KrbAsReqBuilder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/KrbAsReqBuilder;
Exceptions:
throws sun.security.krb5.KrbException, sun.security.krb5.Asn1Exception, java.io.IOException
public sun.security.krb5.Credentials getCreds();
descriptor: ()Lsun/security/krb5/Credentials;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getstatic sun.security.krb5.KrbAsReqBuilder$State.REQ_OK:Lsun/security/krb5/KrbAsReqBuilder$State;
ldc "Cannot retrieve creds"
invokevirtual sun.security.krb5.KrbAsReqBuilder.checkState:(Lsun/security/krb5/KrbAsReqBuilder$State;Ljava/lang/String;)V
1: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.rep:Lsun/security/krb5/KrbAsRep;
invokevirtual sun.security.krb5.KrbAsRep.getCreds:()Lsun/security/krb5/Credentials;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/krb5/KrbAsReqBuilder;
public sun.security.krb5.internal.ccache.Credentials getCCreds();
descriptor: ()Lsun/security/krb5/internal/ccache/Credentials;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getstatic sun.security.krb5.KrbAsReqBuilder$State.REQ_OK:Lsun/security/krb5/KrbAsReqBuilder$State;
ldc "Cannot retrieve CCreds"
invokevirtual sun.security.krb5.KrbAsReqBuilder.checkState:(Lsun/security/krb5/KrbAsReqBuilder$State;Ljava/lang/String;)V
1: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.rep:Lsun/security/krb5/KrbAsRep;
invokevirtual sun.security.krb5.KrbAsRep.getCCreds:()Lsun/security/krb5/internal/ccache/Credentials;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/krb5/KrbAsReqBuilder;
public void destroy();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic sun.security.krb5.KrbAsReqBuilder$State.DESTROYED:Lsun/security/krb5/KrbAsReqBuilder$State;
putfield sun.security.krb5.KrbAsReqBuilder.state:Lsun/security/krb5/KrbAsReqBuilder$State;
1: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.password:[C
ifnull 3
2: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.password:[C
iconst_0
invokestatic java.util.Arrays.fill:([CC)V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/krb5/KrbAsReqBuilder;
private void checkState(sun.security.krb5.KrbAsReqBuilder$State, java.lang.String);
descriptor: (Lsun/security/krb5/KrbAsReqBuilder$State;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.krb5.KrbAsReqBuilder.state:Lsun/security/krb5/KrbAsReqBuilder$State;
aload 1
if_acmpeq 2
1: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " at "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " state"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/KrbAsReqBuilder;
0 3 1 st Lsun/security/krb5/KrbAsReqBuilder$State;
0 3 2 msg Ljava/lang/String;
MethodParameters:
Name Flags
st
msg
}
SourceFile: "KrbAsReqBuilder.java"
NestMembers:
sun.security.krb5.KrbAsReqBuilder$ReferralsState sun.security.krb5.KrbAsReqBuilder$State
InnerClasses:
final ReferralsState = sun.security.krb5.KrbAsReqBuilder$ReferralsState of sun.security.krb5.KrbAsReqBuilder
private final State = sun.security.krb5.KrbAsReqBuilder$State of sun.security.krb5.KrbAsReqBuilder
public SaltAndParams = sun.security.krb5.internal.PAData$SaltAndParams of sun.security.krb5.internal.PAData