class sun.security.krb5.KrbAsRep extends sun.security.krb5.KrbKdcRep
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.krb5.KrbAsRep
super_class: sun.security.krb5.KrbKdcRep
{
private sun.security.krb5.internal.ASRep rep;
descriptor: Lsun/security/krb5/internal/ASRep;
flags: (0x0002) ACC_PRIVATE
private sun.security.krb5.Credentials creds;
descriptor: Lsun/security/krb5/Credentials;
flags: (0x0002) ACC_PRIVATE
private boolean DEBUG;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
void <init>(byte[]);
descriptor: ([B)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.security.krb5.KrbKdcRep.<init>:()V
1: aload 0
getstatic sun.security.krb5.internal.Krb5.DEBUG:Z
putfield sun.security.krb5.KrbAsRep.DEBUG:Z
2: new sun.security.util.DerValue
dup
aload 1
invokespecial sun.security.util.DerValue.<init>:([B)V
astore 2
start local 2 3: aload 0
new sun.security.krb5.internal.ASRep
dup
aload 2
invokespecial sun.security.krb5.internal.ASRep.<init>:(Lsun/security/util/DerValue;)V
putfield sun.security.krb5.KrbAsRep.rep:Lsun/security/krb5/internal/ASRep;
4: goto 22
StackMap locals: sun.security.krb5.KrbAsRep byte[] sun.security.util.DerValue
StackMap stack: sun.security.krb5.Asn1Exception
5: astore 3
start local 3 6: aload 0
aconst_null
putfield sun.security.krb5.KrbAsRep.rep:Lsun/security/krb5/internal/ASRep;
7: new sun.security.krb5.internal.KRBError
dup
aload 2
invokespecial sun.security.krb5.internal.KRBError.<init>:(Lsun/security/util/DerValue;)V
astore 4
start local 4 8: aload 4
invokevirtual sun.security.krb5.internal.KRBError.getErrorString:()Ljava/lang/String;
astore 5
start local 5 9: aconst_null
astore 6
start local 6 10: aload 5
ifnull 14
aload 5
invokevirtual java.lang.String.length:()I
ifle 14
11: aload 5
aload 5
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
ifne 13
12: aload 5
iconst_0
aload 5
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 6
goto 14
13: StackMap locals: sun.security.krb5.KrbAsRep byte[] sun.security.util.DerValue sun.security.krb5.Asn1Exception sun.security.krb5.internal.KRBError java.lang.String java.lang.String
StackMap stack:
aload 5
astore 6
14: StackMap locals:
StackMap stack:
aload 6
ifnonnull 17
15: new sun.security.krb5.KrbException
dup
aload 4
invokespecial sun.security.krb5.KrbException.<init>:(Lsun/security/krb5/internal/KRBError;)V
astore 7
start local 7 16: goto 20
end local 7 17: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.KrbAsRep.DEBUG:Z
ifeq 19
18: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "KRBError received: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
new sun.security.krb5.KrbException
dup
aload 4
aload 6
invokespecial sun.security.krb5.KrbException.<init>:(Lsun/security/krb5/internal/KRBError;Ljava/lang/String;)V
astore 7
start local 7 20: StackMap locals: sun.security.krb5.KrbException
StackMap stack:
aload 7
aload 3
invokevirtual sun.security.krb5.KrbException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
21: aload 7
athrow
end local 7 end local 6 end local 5 end local 4 end local 3 22: StackMap locals: sun.security.krb5.KrbAsRep byte[] sun.security.util.DerValue
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/krb5/KrbAsRep;
0 23 1 ibuf [B
3 23 2 encoding Lsun/security/util/DerValue;
6 22 3 e Lsun/security/krb5/Asn1Exception;
8 22 4 err Lsun/security/krb5/internal/KRBError;
9 22 5 errStr Ljava/lang/String;
10 22 6 eText Ljava/lang/String;
16 17 7 ke Lsun/security/krb5/KrbException;
20 22 7 ke Lsun/security/krb5/KrbException;
Exception table:
from to target type
3 4 5 Class sun.security.krb5.Asn1Exception
Exceptions:
throws sun.security.krb5.KrbException, sun.security.krb5.Asn1Exception, java.io.IOException
MethodParameters:
Name Flags
ibuf
sun.security.krb5.internal.PAData[] getPA();
descriptor: ()[Lsun/security/krb5/internal/PAData;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.KrbAsRep.rep:Lsun/security/krb5/internal/ASRep;
getfield sun.security.krb5.internal.ASRep.pAData:[Lsun/security/krb5/internal/PAData;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/KrbAsRep;
void decryptUsingKeys(sun.security.krb5.EncryptionKey[], sun.security.krb5.KrbAsReq);
descriptor: ([Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/KrbAsReq;)V
flags: (0x0000)
Code:
stack=6, locals=7, 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.KrbAsRep.rep:Lsun/security/krb5/internal/ASRep;
getfield sun.security.krb5.internal.ASRep.encPart:Lsun/security/krb5/EncryptedData;
invokevirtual sun.security.krb5.EncryptedData.getEType:()I
istore 4
start local 4 2: aload 0
getfield sun.security.krb5.KrbAsRep.rep:Lsun/security/krb5/internal/ASRep;
getfield sun.security.krb5.internal.ASRep.encPart:Lsun/security/krb5/EncryptedData;
getfield sun.security.krb5.EncryptedData.kvno:Ljava/lang/Integer;
astore 5
start local 5 3: iload 4
aload 5
aload 1
invokestatic sun.security.krb5.EncryptionKey.findKey:(ILjava/lang/Integer;[Lsun/security/krb5/EncryptionKey;)Lsun/security/krb5/EncryptionKey;
astore 3
4: goto 8
StackMap locals: sun.security.krb5.KrbAsRep sun.security.krb5.EncryptionKey[] sun.security.krb5.KrbAsReq sun.security.krb5.EncryptionKey int java.lang.Integer
StackMap stack: sun.security.krb5.KrbException
5: astore 6
start local 6 6: aload 6
invokevirtual sun.security.krb5.KrbException.returnCode:()I
bipush 44
if_icmpne 8
7: iload 4
aload 1
invokestatic sun.security.krb5.EncryptionKey.findKey:(I[Lsun/security/krb5/EncryptionKey;)Lsun/security/krb5/EncryptionKey;
astore 3
end local 6 8: StackMap locals:
StackMap stack:
aload 3
ifnonnull 14
9: new sun.security.krb5.KrbException
dup
sipush 400
10: new java.lang.StringBuilder
dup
ldc "Cannot find key for type/kvno to decrypt AS REP - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: iload 4
invokestatic sun.security.krb5.internal.crypto.EType.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
12: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial sun.security.krb5.KrbException.<init>:(ILjava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual sun.security.krb5.KrbAsRep.decrypt:(Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/KrbAsReq;)V
15: return
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 16 0 this Lsun/security/krb5/KrbAsRep;
0 16 1 keys [Lsun/security/krb5/EncryptionKey;
0 16 2 asReq Lsun/security/krb5/KrbAsReq;
1 16 3 dkey Lsun/security/krb5/EncryptionKey;
2 16 4 encPartKeyType I
3 16 5 encPartKvno Ljava/lang/Integer;
6 8 6 ke Lsun/security/krb5/KrbException;
Exception table:
from to target type
3 4 5 Class sun.security.krb5.KrbException
Exceptions:
throws sun.security.krb5.KrbException, sun.security.krb5.Asn1Exception, java.io.IOException
MethodParameters:
Name Flags
keys
asReq
void decryptUsingPassword(char[], sun.security.krb5.KrbAsReq, sun.security.krb5.PrincipalName);
descriptor: ([CLsun/security/krb5/KrbAsReq;Lsun/security/krb5/PrincipalName;)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.krb5.KrbAsRep.rep:Lsun/security/krb5/internal/ASRep;
getfield sun.security.krb5.internal.ASRep.encPart:Lsun/security/krb5/EncryptedData;
invokevirtual sun.security.krb5.EncryptedData.getEType:()I
istore 4
start local 4 1: iload 4
aload 0
getfield sun.security.krb5.KrbAsRep.rep:Lsun/security/krb5/internal/ASRep;
getfield sun.security.krb5.internal.ASRep.pAData:[Lsun/security/krb5/internal/PAData;
invokestatic sun.security.krb5.internal.PAData.getSaltAndParams:(I[Lsun/security/krb5/internal/PAData;)Lsun/security/krb5/internal/PAData$SaltAndParams;
2: astore 5
start local 5 3: aconst_null
astore 6
start local 6 4: aload 1
5: aload 5
getfield sun.security.krb5.internal.PAData$SaltAndParams.salt:Ljava/lang/String;
ifnonnull 6
aload 3
invokevirtual sun.security.krb5.PrincipalName.getSalt:()Ljava/lang/String;
goto 7
StackMap locals: sun.security.krb5.KrbAsRep char[] sun.security.krb5.KrbAsReq sun.security.krb5.PrincipalName int sun.security.krb5.internal.PAData$SaltAndParams sun.security.krb5.EncryptionKey
StackMap stack: char[]
6: aload 5
getfield sun.security.krb5.internal.PAData$SaltAndParams.salt:Ljava/lang/String;
7: StackMap locals: sun.security.krb5.KrbAsRep char[] sun.security.krb5.KrbAsReq sun.security.krb5.PrincipalName int sun.security.krb5.internal.PAData$SaltAndParams sun.security.krb5.EncryptionKey
StackMap stack: char[] java.lang.String
iload 4
8: aload 5
getfield sun.security.krb5.internal.PAData$SaltAndParams.params:[B
9: invokestatic sun.security.krb5.EncryptionKey.acquireSecretKey:([CLjava/lang/String;I[B)Lsun/security/krb5/EncryptionKey;
astore 6
10: aload 0
aload 6
aload 2
invokevirtual sun.security.krb5.KrbAsRep.decrypt:(Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/KrbAsReq;)V
11: return
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 12 0 this Lsun/security/krb5/KrbAsRep;
0 12 1 password [C
0 12 2 asReq Lsun/security/krb5/KrbAsReq;
0 12 3 cname Lsun/security/krb5/PrincipalName;
1 12 4 encPartKeyType I
3 12 5 snp Lsun/security/krb5/internal/PAData$SaltAndParams;
4 12 6 dkey Lsun/security/krb5/EncryptionKey;
Exceptions:
throws sun.security.krb5.KrbException, sun.security.krb5.Asn1Exception, java.io.IOException
MethodParameters:
Name Flags
password
asReq
cname
private void decrypt(sun.security.krb5.EncryptionKey, sun.security.krb5.KrbAsReq);
descriptor: (Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/KrbAsReq;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.krb5.KrbAsRep.rep:Lsun/security/krb5/internal/ASRep;
getfield sun.security.krb5.internal.ASRep.encPart:Lsun/security/krb5/EncryptedData;
aload 1
1: iconst_3
2: invokevirtual sun.security.krb5.EncryptedData.decrypt:(Lsun/security/krb5/EncryptionKey;I)[B
astore 3
start local 3 3: aload 0
getfield sun.security.krb5.KrbAsRep.rep:Lsun/security/krb5/internal/ASRep;
getfield sun.security.krb5.internal.ASRep.encPart:Lsun/security/krb5/EncryptedData;
aload 3
invokevirtual sun.security.krb5.EncryptedData.reset:([B)[B
astore 4
start local 4 4: new sun.security.util.DerValue
dup
aload 4
invokespecial sun.security.util.DerValue.<init>:([B)V
astore 5
start local 5 5: new sun.security.krb5.internal.EncASRepPart
dup
aload 5
invokespecial sun.security.krb5.internal.EncASRepPart.<init>:(Lsun/security/util/DerValue;)V
astore 6
start local 6 6: aload 0
getfield sun.security.krb5.KrbAsRep.rep:Lsun/security/krb5/internal/ASRep;
aload 6
putfield sun.security.krb5.internal.ASRep.encKDCRepPart:Lsun/security/krb5/internal/EncKDCRepPart;
7: aload 2
invokevirtual sun.security.krb5.KrbAsReq.getMessage:()Lsun/security/krb5/internal/ASReq;
astore 7
start local 7 8: iconst_1
aload 7
aload 0
getfield sun.security.krb5.KrbAsRep.rep:Lsun/security/krb5/internal/ASRep;
invokestatic sun.security.krb5.KrbAsRep.check:(ZLsun/security/krb5/internal/KDCReq;Lsun/security/krb5/internal/KDCRep;)V
9: aload 0
new sun.security.krb5.Credentials
dup
10: aload 0
getfield sun.security.krb5.KrbAsRep.rep:Lsun/security/krb5/internal/ASRep;
getfield sun.security.krb5.internal.ASRep.ticket:Lsun/security/krb5/internal/Ticket;
11: aload 7
getfield sun.security.krb5.internal.ASReq.reqBody:Lsun/security/krb5/internal/KDCReqBody;
getfield sun.security.krb5.internal.KDCReqBody.cname:Lsun/security/krb5/PrincipalName;
12: aload 6
getfield sun.security.krb5.internal.EncASRepPart.sname:Lsun/security/krb5/PrincipalName;
13: aload 6
getfield sun.security.krb5.internal.EncASRepPart.key:Lsun/security/krb5/EncryptionKey;
14: aload 6
getfield sun.security.krb5.internal.EncASRepPart.flags:Lsun/security/krb5/internal/TicketFlags;
15: aload 6
getfield sun.security.krb5.internal.EncASRepPart.authtime:Lsun/security/krb5/internal/KerberosTime;
16: aload 6
getfield sun.security.krb5.internal.EncASRepPart.starttime:Lsun/security/krb5/internal/KerberosTime;
17: aload 6
getfield sun.security.krb5.internal.EncASRepPart.endtime:Lsun/security/krb5/internal/KerberosTime;
18: aload 6
getfield sun.security.krb5.internal.EncASRepPart.renewTill:Lsun/security/krb5/internal/KerberosTime;
19: aload 6
getfield sun.security.krb5.internal.EncASRepPart.caddr:Lsun/security/krb5/internal/HostAddresses;
invokespecial sun.security.krb5.Credentials.<init>:(Lsun/security/krb5/internal/Ticket;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/TicketFlags;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/HostAddresses;)V
20: putfield sun.security.krb5.KrbAsRep.creds:Lsun/security/krb5/Credentials;
21: aload 0
getfield sun.security.krb5.KrbAsRep.DEBUG:Z
ifeq 25
22: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ">>> KrbAsRep cons in KrbAsReq.getReply "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
23: aload 7
getfield sun.security.krb5.internal.ASReq.reqBody:Lsun/security/krb5/internal/KDCReqBody;
getfield sun.security.krb5.internal.KDCReqBody.cname:Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getNameString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
25: StackMap locals: sun.security.krb5.KrbAsRep sun.security.krb5.EncryptionKey sun.security.krb5.KrbAsReq byte[] byte[] sun.security.util.DerValue sun.security.krb5.internal.EncASRepPart sun.security.krb5.internal.ASReq
StackMap stack:
return
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 26 0 this Lsun/security/krb5/KrbAsRep;
0 26 1 dkey Lsun/security/krb5/EncryptionKey;
0 26 2 asReq Lsun/security/krb5/KrbAsReq;
3 26 3 enc_as_rep_bytes [B
4 26 4 enc_as_rep_part [B
5 26 5 encoding Lsun/security/util/DerValue;
6 26 6 enc_part Lsun/security/krb5/internal/EncASRepPart;
8 26 7 req Lsun/security/krb5/internal/ASReq;
Exceptions:
throws sun.security.krb5.KrbException, sun.security.krb5.Asn1Exception, java.io.IOException
MethodParameters:
Name Flags
dkey
asReq
sun.security.krb5.Credentials getCreds();
descriptor: ()Lsun/security/krb5/Credentials;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.KrbAsRep.creds:Lsun/security/krb5/Credentials;
ifnull 2
1: aload 0
getfield sun.security.krb5.KrbAsRep.creds:Lsun/security/krb5/Credentials;
areturn
2: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
ldc "Creds not available yet."
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/KrbAsRep;
sun.security.krb5.internal.ccache.Credentials getCCreds();
descriptor: ()Lsun/security/krb5/internal/ccache/Credentials;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.security.krb5.internal.ccache.Credentials
dup
aload 0
getfield sun.security.krb5.KrbAsRep.rep:Lsun/security/krb5/internal/ASRep;
invokespecial sun.security.krb5.internal.ccache.Credentials.<init>:(Lsun/security/krb5/internal/KDCRep;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/KrbAsRep;
}
SourceFile: "KrbAsRep.java"
InnerClasses:
public SaltAndParams = sun.security.krb5.internal.PAData$SaltAndParams of sun.security.krb5.internal.PAData