public class sun.security.krb5.EncryptedData implements java.lang.Cloneable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.krb5.EncryptedData
super_class: java.lang.Object
{
int eType;
descriptor: I
flags: (0x0000)
java.lang.Integer kvno;
descriptor: Ljava/lang/Integer;
flags: (0x0000)
byte[] cipher;
descriptor: [B
flags: (0x0000)
byte[] plain;
descriptor: [B
flags: (0x0000)
public static final int ETYPE_NULL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int ETYPE_DES_CBC_CRC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int ETYPE_DES_CBC_MD4;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int ETYPE_DES_CBC_MD5;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int ETYPE_ARCFOUR_HMAC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 23
public static final int ETYPE_ARCFOUR_HMAC_EXP;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 24
public static final int ETYPE_DES3_CBC_HMAC_SHA1_KD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16
public static final int ETYPE_AES128_CTS_HMAC_SHA1_96;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 17
public static final int ETYPE_AES256_CTS_HMAC_SHA1_96;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 18
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/krb5/EncryptedData;
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: new sun.security.krb5.EncryptedData
dup
invokespecial sun.security.krb5.EncryptedData.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
getfield sun.security.krb5.EncryptedData.eType:I
putfield sun.security.krb5.EncryptedData.eType:I
2: aload 0
getfield sun.security.krb5.EncryptedData.kvno:Ljava/lang/Integer;
ifnull 4
3: aload 1
new java.lang.Integer
dup
aload 0
getfield sun.security.krb5.EncryptedData.kvno:Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
invokespecial java.lang.Integer.<init>:(I)V
putfield sun.security.krb5.EncryptedData.kvno:Ljava/lang/Integer;
4: StackMap locals: sun.security.krb5.EncryptedData
StackMap stack:
aload 0
getfield sun.security.krb5.EncryptedData.cipher:[B
ifnull 9
5: aload 1
aload 0
getfield sun.security.krb5.EncryptedData.cipher:[B
arraylength
newarray 8
putfield sun.security.krb5.EncryptedData.cipher:[B
6: aload 0
getfield sun.security.krb5.EncryptedData.cipher:[B
iconst_0
aload 1
getfield sun.security.krb5.EncryptedData.cipher:[B
7: iconst_0
aload 0
getfield sun.security.krb5.EncryptedData.cipher:[B
arraylength
8: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/krb5/EncryptedData;
1 10 1 new_encryptedData Lsun/security/krb5/EncryptedData;
public void <init>(int, java.lang.Integer, byte[]);
descriptor: (ILjava/lang/Integer;[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield sun.security.krb5.EncryptedData.eType:I
2: aload 0
aload 2
putfield sun.security.krb5.EncryptedData.kvno:Ljava/lang/Integer;
3: aload 0
aload 3
putfield sun.security.krb5.EncryptedData.cipher:[B
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/krb5/EncryptedData;
0 5 1 new_eType I
0 5 2 new_kvno Ljava/lang/Integer;
0 5 3 new_cipher [B
MethodParameters:
Name Flags
new_eType
new_kvno
new_cipher
public void <init>(sun.security.krb5.EncryptionKey, byte[], int);
descriptor: (Lsun/security/krb5/EncryptionKey;[BI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokevirtual sun.security.krb5.EncryptionKey.getEType:()I
invokestatic sun.security.krb5.internal.crypto.EType.getInstance:(I)Lsun/security/krb5/internal/crypto/EType;
astore 4
start local 4 2: aload 0
aload 4
aload 2
aload 1
invokevirtual sun.security.krb5.EncryptionKey.getBytes:()[B
iload 3
invokevirtual sun.security.krb5.internal.crypto.EType.encrypt:([B[BI)[B
putfield sun.security.krb5.EncryptedData.cipher:[B
3: aload 0
aload 1
invokevirtual sun.security.krb5.EncryptionKey.getEType:()I
putfield sun.security.krb5.EncryptedData.eType:I
4: aload 0
aload 1
invokevirtual sun.security.krb5.EncryptionKey.getKeyVersionNumber:()Ljava/lang/Integer;
putfield sun.security.krb5.EncryptedData.kvno:Ljava/lang/Integer;
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/krb5/EncryptedData;
0 6 1 key Lsun/security/krb5/EncryptionKey;
0 6 2 plaintext [B
0 6 3 usage I
2 6 4 etypeEngine Lsun/security/krb5/internal/crypto/EType;
Exceptions:
throws sun.security.krb5.internal.KdcErrException, sun.security.krb5.KrbCryptoException
MethodParameters:
Name Flags
key
plaintext
usage
public byte[] decrypt(sun.security.krb5.EncryptionKey, int);
descriptor: (Lsun/security/krb5/EncryptionKey;I)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.krb5.EncryptedData.eType:I
aload 1
invokevirtual sun.security.krb5.EncryptionKey.getEType:()I
if_icmpeq 8
1: new sun.security.krb5.KrbCryptoException
dup
2: new java.lang.StringBuilder
dup
ldc "EncryptedData is encrypted using keytype "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 0
getfield sun.security.krb5.EncryptedData.eType:I
invokestatic sun.security.krb5.internal.crypto.EType.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " but decryption key is of type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 1
invokevirtual sun.security.krb5.EncryptionKey.getEType:()I
invokestatic sun.security.krb5.internal.crypto.EType.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial sun.security.krb5.KrbCryptoException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.EncryptedData.eType:I
invokestatic sun.security.krb5.internal.crypto.EType.getInstance:(I)Lsun/security/krb5/internal/crypto/EType;
astore 3
start local 3 9: aload 0
aload 3
aload 0
getfield sun.security.krb5.EncryptedData.cipher:[B
aload 1
invokevirtual sun.security.krb5.EncryptionKey.getBytes:()[B
iload 2
invokevirtual sun.security.krb5.internal.crypto.EType.decrypt:([B[BI)[B
putfield sun.security.krb5.EncryptedData.plain:[B
10: aload 3
aload 0
getfield sun.security.krb5.EncryptedData.plain:[B
invokevirtual sun.security.krb5.internal.crypto.EType.decryptedData:([B)[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/krb5/EncryptedData;
0 11 1 key Lsun/security/krb5/EncryptionKey;
0 11 2 usage I
9 11 3 etypeEngine Lsun/security/krb5/internal/crypto/EType;
Exceptions:
throws sun.security.krb5.internal.KdcErrException, sun.security.krb5.internal.KrbApErrException, sun.security.krb5.KrbCryptoException
MethodParameters:
Name Flags
key
usage
private byte[] decryptedData();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.EncryptedData.plain:[B
ifnull 3
1: aload 0
getfield sun.security.krb5.EncryptedData.eType:I
invokestatic sun.security.krb5.internal.crypto.EType.getInstance:(I)Lsun/security/krb5/internal/crypto/EType;
astore 1
start local 1 2: aload 1
aload 0
getfield sun.security.krb5.EncryptedData.plain:[B
invokevirtual sun.security.krb5.internal.crypto.EType.decryptedData:([B)[B
areturn
end local 1 3: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/krb5/EncryptedData;
2 3 1 etypeEngine Lsun/security/krb5/internal/crypto/EType;
Exceptions:
throws sun.security.krb5.internal.KdcErrException
private void <init>(sun.security.util.DerValue);
descriptor: (Lsun/security/util/DerValue;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aconst_null
astore 2
start local 2 2: aload 1
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 48
if_icmpeq 4
3: new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
4: StackMap locals: sun.security.krb5.EncryptedData sun.security.util.DerValue sun.security.util.DerValue
StackMap stack:
aload 1
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 2
5: aload 2
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 31
iand
ifne 8
6: aload 0
aload 2
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getBigInteger:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
putfield sun.security.krb5.EncryptedData.eType:I
7: goto 9
8: StackMap locals:
StackMap stack:
new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.peekByte:()I
bipush 31
iand
iconst_1
if_icmpne 14
10: aload 1
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 2
11: aload 2
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getBigInteger:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
istore 3
start local 3 12: aload 0
new java.lang.Integer
dup
iload 3
invokespecial java.lang.Integer.<init>:(I)V
putfield sun.security.krb5.EncryptedData.kvno:Ljava/lang/Integer;
end local 3 13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.security.krb5.EncryptedData.kvno:Ljava/lang/Integer;
15: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 2
16: aload 2
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 31
iand
iconst_2
if_icmpne 19
17: aload 0
aload 2
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
putfield sun.security.krb5.EncryptedData.cipher:[B
18: goto 20
19: StackMap locals:
StackMap stack:
new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
20: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.available:()I
ifle 22
21: new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
22: StackMap locals:
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/EncryptedData;
0 23 1 encoding Lsun/security/util/DerValue;
2 23 2 der Lsun/security/util/DerValue;
12 13 3 i I
Exceptions:
throws sun.security.krb5.Asn1Exception, java.io.IOException
MethodParameters:
Name Flags
encoding
public byte[] asn1Encode();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 1
start local 1 1: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 2
start local 2 2: aload 2
aload 0
getfield sun.security.krb5.EncryptedData.eType:I
i2l
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
3: aload 1
bipush -128
4: iconst_1
iconst_0
5: invokestatic sun.security.util.DerValue.createTag:(BZB)B
6: aload 2
7: invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
8: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 2
9: aload 0
getfield sun.security.krb5.EncryptedData.kvno:Ljava/lang/Integer;
ifnull 17
10: aload 2
aload 0
getfield sun.security.krb5.EncryptedData.kvno:Ljava/lang/Integer;
invokevirtual java.lang.Integer.longValue:()J
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
11: aload 1
bipush -128
12: iconst_1
iconst_1
13: invokestatic sun.security.util.DerValue.createTag:(BZB)B
14: aload 2
15: invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
16: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 2
17: StackMap locals: sun.security.util.DerOutputStream sun.security.util.DerOutputStream
StackMap stack:
aload 2
aload 0
getfield sun.security.krb5.EncryptedData.cipher:[B
invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
18: aload 1
bipush -128
iconst_1
19: iconst_2
20: invokestatic sun.security.util.DerValue.createTag:(BZB)B
21: aload 2
22: invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
23: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 2
24: aload 2
bipush 48
aload 1
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
25: aload 2
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/security/krb5/EncryptedData;
1 26 1 bytes Lsun/security/util/DerOutputStream;
2 26 2 temp Lsun/security/util/DerOutputStream;
Exceptions:
throws sun.security.krb5.Asn1Exception, java.io.IOException
public static sun.security.krb5.EncryptedData parse(sun.security.util.DerInputStream, byte, boolean);
descriptor: (Lsun/security/util/DerInputStream;BZ)Lsun/security/krb5/EncryptedData;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 3
1: aload 0
invokevirtual sun.security.util.DerInputStream.peekByte:()I
i2b
bipush 31
iand
iload 1
if_icmpeq 3
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 3
start local 3 4: iload 1
aload 3
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 31
iand
if_icmpeq 6
5: new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
6: StackMap locals: sun.security.util.DerValue
StackMap stack:
aload 3
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 4
start local 4 7: new sun.security.krb5.EncryptedData
dup
aload 4
invokespecial sun.security.krb5.EncryptedData.<init>:(Lsun/security/util/DerValue;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 data Lsun/security/util/DerInputStream;
0 8 1 explicitTag B
0 8 2 optional Z
4 8 3 der Lsun/security/util/DerValue;
7 8 4 subDer Lsun/security/util/DerValue;
Exceptions:
throws sun.security.krb5.Asn1Exception, java.io.IOException
MethodParameters:
Name Flags
data
explicitTag
optional
public byte[] reset(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
iconst_1
baload
sipush 255
iand
sipush 128
if_icmpge 5
2: aload 1
iconst_1
baload
iconst_2
iadd
newarray 8
astore 2
3: aload 1
iconst_0
aload 2
iconst_0
aload 1
iconst_1
baload
iconst_2
iadd
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: goto 15
5: StackMap locals: byte[]
StackMap stack:
aload 1
iconst_1
baload
sipush 255
iand
sipush 128
if_icmple 15
6: aload 1
iconst_1
baload
bipush 127
iand
istore 3
start local 3 7: iconst_0
istore 4
start local 4 8: iconst_0
istore 5
start local 5 9: goto 12
10: StackMap locals: int int int
StackMap stack:
iload 4
aload 1
iload 5
iconst_2
iadd
baload
sipush 255
iand
bipush 8
iload 3
iload 5
isub
iconst_1
isub
imul
ishl
ior
istore 4
11: iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 3
if_icmplt 10
end local 5 13: iload 4
iload 3
iadd
iconst_2
iadd
newarray 8
astore 2
14: aload 1
iconst_0
aload 2
iconst_0
iload 4
iload 3
iadd
iconst_2
iadd
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 4 end local 3 15: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/krb5/EncryptedData;
0 16 1 data [B
1 16 2 bytes [B
7 15 3 len I
8 15 4 result I
9 13 5 i I
MethodParameters:
Name Flags
data
public int getEType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.EncryptedData.eType:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/EncryptedData;
public java.lang.Integer getKeyVersionNumber();
descriptor: ()Ljava/lang/Integer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.EncryptedData.kvno:Ljava/lang/Integer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/EncryptedData;
public byte[] getBytes();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.EncryptedData.cipher:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/EncryptedData;
}
SourceFile: "EncryptedData.java"