class sun.security.jgss.krb5.CipherHelper
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.jgss.krb5.CipherHelper
super_class: java.lang.Object
{
private static final int KG_USAGE_SEAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 22
private static final int KG_USAGE_SIGN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 23
private static final int KG_USAGE_SEQ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 24
private static final int DES_CHECKSUM_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int DES_IV_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int AES_IV_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int HMAC_CHECKSUM_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int KG_USAGE_SIGN_MS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] ZERO_IV;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] ZERO_IV_AES;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private int etype;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int sgnAlg;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int sealAlg;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private byte[] keybytes;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int proto;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.security.jgss.krb5.Krb5Util.DEBUG:Z
putstatic sun.security.jgss.krb5.CipherHelper.DEBUG:Z
1: bipush 8
newarray 8
putstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
2: bipush 16
newarray 8
putstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.security.krb5.EncryptionKey);
descriptor: (Lsun/security/krb5/EncryptionKey;)V
flags: (0x0000)
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield sun.security.jgss.krb5.CipherHelper.proto:I
2: aload 0
aload 1
invokevirtual sun.security.krb5.EncryptionKey.getEType:()I
putfield sun.security.jgss.krb5.CipherHelper.etype:I
3: aload 0
aload 1
invokevirtual sun.security.krb5.EncryptionKey.getBytes:()[B
putfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
4: aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
lookupswitch { // 6
1: 5
3: 5
16: 8
17: 14
18: 14
23: 11
default: 18
}
5: StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.krb5.EncryptionKey
StackMap stack:
aload 0
iconst_0
putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
6: aload 0
iconst_0
putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
7: goto 21
8: StackMap locals:
StackMap stack:
aload 0
sipush 1024
putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
9: aload 0
sipush 512
putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
10: goto 21
11: StackMap locals:
StackMap stack:
aload 0
sipush 4352
putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
12: aload 0
sipush 4096
putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
13: goto 21
14: StackMap locals:
StackMap stack:
aload 0
iconst_m1
putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
15: aload 0
iconst_m1
putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
16: aload 0
iconst_1
putfield sun.security.jgss.krb5.CipherHelper.proto:I
17: goto 21
18: StackMap locals:
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
19: new java.lang.StringBuilder
dup
ldc "Unsupported encryption type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/security/jgss/krb5/CipherHelper;
0 22 1 key Lsun/security/krb5/EncryptionKey;
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
key
int getSgnAlg();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jgss/krb5/CipherHelper;
int getSealAlg();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jgss/krb5/CipherHelper;
int getProto();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.jgss.krb5.CipherHelper.proto:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jgss/krb5/CipherHelper;
int getEType();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jgss/krb5/CipherHelper;
boolean isArcFour();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
bipush 23
if_icmpne 3
2: iconst_1
istore 1
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/jgss/krb5/CipherHelper;
1 4 1 flag Z
byte[] calculateChecksum(int, byte[], byte[], byte[], int, int, int);
descriptor: (I[B[B[BIII)[B
flags: (0x0000)
Code:
stack=7, locals=17, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: iload 1
lookupswitch { // 4
0: 1
512: 18
1024: 19
4352: 53
default: 92
}
1: StackMap locals:
StackMap stack:
ldc "MD5"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 8
start local 8 2: aload 8
aload 2
invokevirtual java.security.MessageDigest.update:([B)V
3: aload 8
aload 4
iload 5
iload 6
invokevirtual java.security.MessageDigest.update:([BII)V
4: aload 3
ifnull 6
5: aload 8
aload 3
invokevirtual java.security.MessageDigest.update:([B)V
6: StackMap locals: java.security.MessageDigest
StackMap stack:
aload 8
invokevirtual java.security.MessageDigest.digest:()[B
astore 4
7: iconst_0
istore 5
8: aload 4
arraylength
istore 6
9: aconst_null
astore 2
10: aconst_null
astore 3
end local 8 11: goto 18
StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int
StackMap stack: java.security.NoSuchAlgorithmException
12: astore 8
start local 8 13: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
14: new java.lang.StringBuilder
dup
ldc "Could not get MD5 Message Digest - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.security.NoSuchAlgorithmException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 9
start local 9 16: aload 9
aload 8
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
17: aload 9
athrow
end local 9 end local 8 18: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
aload 2
aload 4
iload 5
iload 6
invokevirtual sun.security.jgss.krb5.CipherHelper.getDesCbcChecksum:([B[B[BII)[B
areturn
19: StackMap locals:
StackMap stack:
aload 2
ifnonnull 24
aload 3
ifnonnull 24
20: aload 4
astore 8
start local 8 21: iload 6
istore 10
start local 10 22: iload 5
istore 9
start local 9 23: goto 40
end local 10 end local 9 end local 8 24: StackMap locals:
StackMap stack:
aload 2
ifnull 25
aload 2
arraylength
goto 26
StackMap locals:
StackMap stack:
25: iconst_0
StackMap locals:
StackMap stack: int
26: iload 6
iadd
27: aload 3
ifnull 28
aload 3
arraylength
goto 29
StackMap locals:
StackMap stack: int
28: iconst_0
29: StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int
StackMap stack: int int
iadd
istore 10
start local 10 30: iload 10
newarray 8
astore 8
start local 8 31: iconst_0
istore 11
start local 11 32: aload 2
ifnull 35
33: aload 2
iconst_0
aload 8
iconst_0
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
34: aload 2
arraylength
istore 11
35: StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int byte[] top int int
StackMap stack:
aload 4
iload 5
aload 8
iload 11
iload 6
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
36: iload 11
iload 6
iadd
istore 11
37: aload 3
ifnull 39
38: aload 3
iconst_0
aload 8
iload 11
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
39: StackMap locals:
StackMap stack:
iconst_0
istore 9
end local 11 start local 9 40: StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int byte[] int int
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
41: bipush 23
aload 8
iload 9
iload 10
42: invokestatic sun.security.krb5.internal.crypto.Des3.calculateChecksum:([BI[BII)[B
astore 11
start local 11 43: aload 11
44: areturn
end local 11 45: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 11
start local 11 46: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
47: new java.lang.StringBuilder
dup
ldc "Could not use HMAC-SHA1-DES3-KD signing algorithm - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
48: aload 11
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
49: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
50: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 12
start local 12 51: aload 12
aload 11
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
52: aload 12
athrow
end local 12 end local 11 end local 10 end local 9 end local 8 53: StackMap locals:
StackMap stack:
aload 2
ifnonnull 58
aload 3
ifnonnull 58
54: aload 4
astore 11
start local 11 55: iload 6
istore 13
start local 13 56: iload 5
istore 12
start local 12 57: goto 74
end local 13 end local 12 end local 11 58: StackMap locals:
StackMap stack:
aload 2
ifnull 59
aload 2
arraylength
goto 60
StackMap locals:
StackMap stack:
59: iconst_0
StackMap locals:
StackMap stack: int
60: iload 6
iadd
61: aload 3
ifnull 62
aload 3
arraylength
goto 63
StackMap locals:
StackMap stack: int
62: iconst_0
63: StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int
StackMap stack: int int
iadd
istore 13
start local 13 64: iload 13
newarray 8
astore 11
start local 11 65: iconst_0
istore 14
start local 14 66: aload 2
ifnull 69
67: aload 2
iconst_0
aload 11
iconst_0
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
68: aload 2
arraylength
istore 14
69: StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int top top top byte[] top int int
StackMap stack:
aload 4
iload 5
aload 11
iload 14
iload 6
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
70: iload 14
iload 6
iadd
istore 14
71: aload 3
ifnull 73
72: aload 3
iconst_0
aload 11
iload 14
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
73: StackMap locals:
StackMap stack:
iconst_0
istore 12
end local 14 start local 12 74: StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int top top top byte[] int int
StackMap stack:
bipush 23
istore 14
start local 14 75: iload 7
sipush 257
if_icmpne 77
76: bipush 15
istore 14
77: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
78: iload 14
aload 11
iload 12
iload 13
79: invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.calculateChecksum:([BI[BII)[B
astore 15
start local 15 80: aload 0
invokevirtual sun.security.jgss.krb5.CipherHelper.getChecksumLength:()I
newarray 8
astore 16
start local 16 81: aload 15
iconst_0
aload 16
iconst_0
aload 16
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
82: aload 16
83: areturn
end local 16 end local 15 end local 14 84: StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int top top top byte[] int int
StackMap stack: java.security.GeneralSecurityException
astore 14
start local 14 85: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
86: new java.lang.StringBuilder
dup
ldc "Could not use HMAC_MD5_ARCFOUR signing algorithm - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
87: aload 14
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
88: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
89: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 15
start local 15 90: aload 15
aload 14
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
91: aload 15
athrow
end local 15 end local 14 end local 13 end local 12 end local 11 92: StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
93: new java.lang.StringBuilder
dup
ldc "Unsupported signing algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
94: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
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 95 0 this Lsun/security/jgss/krb5/CipherHelper;
0 95 1 alg I
0 95 2 header [B
0 95 3 trailer [B
0 95 4 data [B
0 95 5 start I
0 95 6 len I
0 95 7 tokenId I
2 11 8 md5 Ljava/security/MessageDigest;
13 18 8 e Ljava/security/NoSuchAlgorithmException;
16 18 9 ge Lorg/ietf/jgss/GSSException;
21 24 8 buf [B
31 53 8 buf [B
23 24 9 offset I
40 53 9 offset I
22 24 10 total I
30 53 10 total I
32 40 11 pos I
43 45 11 answer [B
46 53 11 e Ljava/security/GeneralSecurityException;
51 53 12 ge Lorg/ietf/jgss/GSSException;
55 58 11 buffer [B
65 92 11 buffer [B
57 58 12 off I
74 92 12 off I
56 58 13 tot I
64 92 13 tot I
66 74 14 pos I
75 84 14 key_usage I
80 84 15 answer [B
81 84 16 output [B
85 92 14 e Ljava/security/GeneralSecurityException;
90 92 15 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
1 11 12 Class java.security.NoSuchAlgorithmException
40 44 45 Class java.security.GeneralSecurityException
74 83 84 Class java.security.GeneralSecurityException
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
alg
header
trailer
data
start
len
tokenId
byte[] calculateChecksum(byte[], byte[], int, int, int);
descriptor: ([B[BIII)[B
flags: (0x0000)
Code:
stack=7, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
ifnull 1
aload 1
arraylength
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: iload 4
iadd
istore 6
start local 6 3: iload 6
newarray 8
astore 7
start local 7 4: aload 2
iload 3
aload 7
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 1
ifnull 7
6: aload 1
iconst_0
aload 7
iload 4
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: StackMap locals: int byte[]
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
tableswitch { // 17 - 18
17: 8
18: 21
default: 34
}
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
iload 5
9: aload 7
iconst_0
iload 6
10: invokestatic sun.security.krb5.internal.crypto.Aes128.calculateChecksum:([BI[BII)[B
astore 8
start local 8 11: aload 8
12: areturn
end local 8 13: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 8
start local 8 14: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
15: new java.lang.StringBuilder
dup
ldc "Could not use AES128 signing algorithm - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 8
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 9
start local 9 19: aload 9
aload 8
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
20: aload 9
athrow
end local 9 end local 8 21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
iload 5
22: aload 7
iconst_0
iload 6
23: invokestatic sun.security.krb5.internal.crypto.Aes256.calculateChecksum:([BI[BII)[B
astore 8
start local 8 24: aload 8
25: areturn
end local 8 26: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 8
start local 8 27: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
28: new java.lang.StringBuilder
dup
ldc "Could not use AES256 signing algorithm - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
29: aload 8
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
30: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 9
start local 9 32: aload 9
aload 8
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
33: aload 9
athrow
end local 9 end local 8 34: StackMap locals:
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
35: new java.lang.StringBuilder
dup
ldc "Unsupported encryption type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
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 37 0 this Lsun/security/jgss/krb5/CipherHelper;
0 37 1 header [B
0 37 2 data [B
0 37 3 start I
0 37 4 len I
0 37 5 key_usage I
3 37 6 total I
4 37 7 buf [B
11 13 8 answer [B
14 21 8 e Ljava/security/GeneralSecurityException;
19 21 9 ge Lorg/ietf/jgss/GSSException;
24 26 8 answer [B
27 34 8 e Ljava/security/GeneralSecurityException;
32 34 9 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
8 12 13 Class java.security.GeneralSecurityException
21 25 26 Class java.security.GeneralSecurityException
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
header
data
start
len
key_usage
byte[] encryptSeq(byte[], byte[], int, int);
descriptor: ([B[BII)[B
flags: (0x0000)
Code:
stack=7, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
lookupswitch { // 4
0: 1
512: 1
1024: 12
4352: 29
default: 46
}
1: StackMap locals:
StackMap stack:
aload 0
iconst_1
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
aload 1
invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
astore 5
start local 5 2: aload 5
aload 2
iload 3
iload 4
invokevirtual javax.crypto.Cipher.doFinal:([BII)[B
3: areturn
end local 5 4: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 5
start local 5 5: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
6: new java.lang.StringBuilder
dup
ldc "Could not encrypt sequence number using DES - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 5
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 6
start local 6 10: aload 6
aload 5
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
11: aload 6
athrow
end local 6 end local 5 12: StackMap locals:
StackMap stack:
aload 1
arraylength
bipush 8
if_icmpne 15
13: aload 1
astore 5
start local 5 14: goto 17
end local 5 15: StackMap locals:
StackMap stack:
bipush 8
newarray 8
astore 5
start local 5 16: aload 1
iconst_0
aload 5
iconst_0
bipush 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
bipush 24
aload 5
18: aload 2
iload 3
iload 4
19: invokestatic sun.security.krb5.internal.crypto.Des3.encryptRaw:([BI[B[BII)[B
20: areturn
21: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 22: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
23: new java.lang.StringBuilder
dup
ldc "Could not encrypt sequence number using DES3-KD - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 6
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 7
start local 7 27: aload 7
aload 6
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
28: aload 7
athrow
end local 7 end local 6 end local 5 29: StackMap locals:
StackMap stack:
aload 1
arraylength
bipush 8
if_icmpne 32
30: aload 1
astore 6
start local 6 31: goto 34
end local 6 32: StackMap locals:
StackMap stack:
bipush 8
newarray 8
astore 6
start local 6 33: aload 1
iconst_0
aload 6
iconst_0
bipush 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
34: StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] int int top byte[]
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
bipush 24
aload 6
35: aload 2
iload 3
iload 4
36: invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.encryptSeq:([BI[B[BII)[B
37: areturn
38: StackMap locals:
StackMap stack: java.lang.Exception
astore 7
start local 7 39: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
40: new java.lang.StringBuilder
dup
ldc "Could not encrypt sequence number using RC4-HMAC - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
41: aload 7
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
42: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
43: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 8
start local 8 44: aload 8
aload 7
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
45: aload 8
athrow
end local 8 end local 7 end local 6 46: StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] int int
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
47: new java.lang.StringBuilder
dup
ldc "Unsupported signing algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
48: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lsun/security/jgss/krb5/CipherHelper;
0 49 1 ivec [B
0 49 2 plaintext [B
0 49 3 start I
0 49 4 len I
2 4 5 des Ljavax/crypto/Cipher;
5 12 5 e Ljava/security/GeneralSecurityException;
10 12 6 ge Lorg/ietf/jgss/GSSException;
14 15 5 iv [B
16 29 5 iv [B
22 29 6 e Ljava/lang/Exception;
27 29 7 ge Lorg/ietf/jgss/GSSException;
31 32 6 checksum [B
33 46 6 checksum [B
39 46 7 e Ljava/lang/Exception;
44 46 8 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
1 3 4 Class java.security.GeneralSecurityException
17 20 21 Class java.lang.Exception
34 37 38 Class java.lang.Exception
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
ivec
plaintext
start
len
byte[] decryptSeq(byte[], byte[], int, int);
descriptor: ([B[BII)[B
flags: (0x0000)
Code:
stack=7, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
lookupswitch { // 4
0: 1
512: 1
1024: 12
4352: 29
default: 46
}
1: StackMap locals:
StackMap stack:
aload 0
iconst_0
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
aload 1
invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
astore 5
start local 5 2: aload 5
aload 2
iload 3
iload 4
invokevirtual javax.crypto.Cipher.doFinal:([BII)[B
3: areturn
end local 5 4: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 5
start local 5 5: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
6: new java.lang.StringBuilder
dup
ldc "Could not decrypt sequence number using DES - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 5
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 6
start local 6 10: aload 6
aload 5
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
11: aload 6
athrow
end local 6 end local 5 12: StackMap locals:
StackMap stack:
aload 1
arraylength
bipush 8
if_icmpne 15
13: aload 1
astore 5
start local 5 14: goto 17
end local 5 15: StackMap locals:
StackMap stack:
bipush 8
newarray 8
astore 5
start local 5 16: aload 1
iconst_0
aload 5
iconst_0
bipush 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
bipush 24
aload 5
18: aload 2
iload 3
iload 4
19: invokestatic sun.security.krb5.internal.crypto.Des3.decryptRaw:([BI[B[BII)[B
20: areturn
21: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 22: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
23: new java.lang.StringBuilder
dup
ldc "Could not decrypt sequence number using DES3-KD - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 6
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 7
start local 7 27: aload 7
aload 6
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
28: aload 7
athrow
end local 7 end local 6 end local 5 29: StackMap locals:
StackMap stack:
aload 1
arraylength
bipush 8
if_icmpne 32
30: aload 1
astore 6
start local 6 31: goto 34
end local 6 32: StackMap locals:
StackMap stack:
bipush 8
newarray 8
astore 6
start local 6 33: aload 1
iconst_0
aload 6
iconst_0
bipush 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
34: StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] int int top byte[]
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
bipush 24
aload 6
35: aload 2
iload 3
iload 4
36: invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.decryptSeq:([BI[B[BII)[B
37: areturn
38: StackMap locals:
StackMap stack: java.lang.Exception
astore 7
start local 7 39: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
40: new java.lang.StringBuilder
dup
ldc "Could not decrypt sequence number using RC4-HMAC - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
41: aload 7
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
42: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
43: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 8
start local 8 44: aload 8
aload 7
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
45: aload 8
athrow
end local 8 end local 7 end local 6 46: StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] int int
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
47: new java.lang.StringBuilder
dup
ldc "Unsupported signing algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
48: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lsun/security/jgss/krb5/CipherHelper;
0 49 1 ivec [B
0 49 2 ciphertext [B
0 49 3 start I
0 49 4 len I
2 4 5 des Ljavax/crypto/Cipher;
5 12 5 e Ljava/security/GeneralSecurityException;
10 12 6 ge Lorg/ietf/jgss/GSSException;
14 15 5 iv [B
16 29 5 iv [B
22 29 6 e Ljava/lang/Exception;
27 29 7 ge Lorg/ietf/jgss/GSSException;
31 32 6 checksum [B
33 46 6 checksum [B
39 46 7 e Ljava/lang/Exception;
44 46 8 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
1 3 4 Class java.security.GeneralSecurityException
17 20 21 Class java.lang.Exception
34 37 38 Class java.lang.Exception
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
ivec
ciphertext
start
len
int getChecksumLength();
descriptor: ()I
flags: (0x0000)
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
lookupswitch { // 6
1: 1
3: 1
16: 2
17: 3
18: 4
23: 5
default: 6
}
1: StackMap locals:
StackMap stack:
bipush 8
ireturn
2: StackMap locals:
StackMap stack:
invokestatic sun.security.krb5.internal.crypto.Des3.getChecksumLength:()I
ireturn
3: StackMap locals:
StackMap stack:
invokestatic sun.security.krb5.internal.crypto.Aes128.getChecksumLength:()I
ireturn
4: StackMap locals:
StackMap stack:
invokestatic sun.security.krb5.internal.crypto.Aes256.getChecksumLength:()I
ireturn
5: StackMap locals:
StackMap stack:
bipush 8
ireturn
6: StackMap locals:
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
7: new java.lang.StringBuilder
dup
ldc "Unsupported encryption type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/jgss/krb5/CipherHelper;
Exceptions:
throws org.ietf.jgss.GSSException
void decryptData(sun.security.jgss.krb5.WrapToken, byte[], int, int, byte[], int);
descriptor: (Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
flags: (0x0000)
Code:
stack=8, 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: aload 0
getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
lookupswitch { // 3
0: 1
512: 5
4096: 7
default: 9
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
invokestatic sun.security.jgss.krb5.CipherHelper.getDesEncryptionKey:([B)[B
2: aload 2
iload 3
iload 4
aload 5
iload 6
3: invokevirtual sun.security.jgss.krb5.CipherHelper.desCbcDecrypt:(Lsun/security/jgss/krb5/WrapToken;[B[BII[BI)V
4: goto 12
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 3
iload 4
aload 5
iload 6
invokevirtual sun.security.jgss.krb5.CipherHelper.des3KdDecrypt:(Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
6: goto 12
7: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 3
iload 4
aload 5
iload 6
invokevirtual sun.security.jgss.krb5.CipherHelper.arcFourDecrypt:(Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
8: goto 12
9: StackMap locals:
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
10: new java.lang.StringBuilder
dup
ldc "Unsupported seal algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
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 13 0 this Lsun/security/jgss/krb5/CipherHelper;
0 13 1 token Lsun/security/jgss/krb5/WrapToken;
0 13 2 ciphertext [B
0 13 3 cStart I
0 13 4 cLen I
0 13 5 plaintext [B
0 13 6 pStart I
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
token
ciphertext
cStart
cLen
plaintext
pStart
void decryptData(sun.security.jgss.krb5.WrapToken_v2, byte[], int, int, byte[], int, int);
descriptor: (Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
flags: (0x0000)
Code:
stack=8, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
tableswitch { // 17 - 18
17: 1
18: 5
default: 9
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 3
iload 4
2: aload 5
iload 6
iload 7
3: invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
4: goto 12
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 3
iload 4
6: aload 5
iload 6
iload 7
7: invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
8: goto 12
9: StackMap locals:
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
10: new java.lang.StringBuilder
dup
ldc "Unsupported etype: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
12: StackMap locals:
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 13 0 this Lsun/security/jgss/krb5/CipherHelper;
0 13 1 token Lsun/security/jgss/krb5/WrapToken_v2;
0 13 2 ciphertext [B
0 13 3 cStart I
0 13 4 cLen I
0 13 5 plaintext [B
0 13 6 pStart I
0 13 7 key_usage I
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
token
ciphertext
cStart
cLen
plaintext
pStart
key_usage
void decryptData(sun.security.jgss.krb5.WrapToken, java.io.InputStream, int, byte[], int);
descriptor: (Lsun/security/jgss/krb5/WrapToken;Ljava/io/InputStream;I[BI)V
flags: (0x0000)
Code:
stack=7, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
lookupswitch { // 3
0: 1
512: 5
4096: 17
default: 29
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
invokestatic sun.security.jgss.krb5.CipherHelper.getDesEncryptionKey:([B)[B
2: aload 2
iload 3
aload 4
iload 5
3: invokevirtual sun.security.jgss.krb5.CipherHelper.desCbcDecrypt:(Lsun/security/jgss/krb5/WrapToken;[BLjava/io/InputStream;I[BI)V
4: goto 32
5: StackMap locals:
StackMap stack:
iload 3
newarray 8
astore 6
start local 6 6: aload 2
aload 6
iconst_0
iload 3
invokestatic sun.security.jgss.krb5.Krb5Token.readFully:(Ljava/io/InputStream;[BII)V
7: goto 15
StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken java.io.InputStream int byte[] int byte[]
StackMap stack: java.io.IOException
8: astore 7
start local 7 9: new org.ietf.jgss.GSSException
dup
10: bipush 10
iconst_m1
11: ldc "Cannot read complete token"
12: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 8
start local 8 13: aload 8
aload 7
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
14: aload 8
athrow
end local 8 end local 7 15: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 6
iconst_0
iload 3
aload 4
iload 5
invokevirtual sun.security.jgss.krb5.CipherHelper.des3KdDecrypt:(Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
16: goto 32
end local 6 17: StackMap locals:
StackMap stack:
iload 3
newarray 8
astore 7
start local 7 18: aload 2
aload 7
iconst_0
iload 3
invokestatic sun.security.jgss.krb5.Krb5Token.readFully:(Ljava/io/InputStream;[BII)V
19: goto 27
StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken java.io.InputStream int byte[] int top byte[]
StackMap stack: java.io.IOException
20: astore 8
start local 8 21: new org.ietf.jgss.GSSException
dup
22: bipush 10
iconst_m1
23: ldc "Cannot read complete token"
24: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 9
start local 9 25: aload 9
aload 8
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
26: aload 9
athrow
end local 9 end local 8 27: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 7
iconst_0
iload 3
aload 4
iload 5
invokevirtual sun.security.jgss.krb5.CipherHelper.arcFourDecrypt:(Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
28: goto 32
end local 7 29: StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken java.io.InputStream int byte[] int
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
30: new java.lang.StringBuilder
dup
ldc "Unsupported seal algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
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 33 0 this Lsun/security/jgss/krb5/CipherHelper;
0 33 1 token Lsun/security/jgss/krb5/WrapToken;
0 33 2 cipherStream Ljava/io/InputStream;
0 33 3 cLen I
0 33 4 plaintext [B
0 33 5 pStart I
6 17 6 ciphertext [B
9 15 7 e Ljava/io/IOException;
13 15 8 ge Lorg/ietf/jgss/GSSException;
18 29 7 ctext [B
21 27 8 e Ljava/io/IOException;
25 27 9 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
6 7 8 Class java.io.IOException
18 19 20 Class java.io.IOException
Exceptions:
throws org.ietf.jgss.GSSException, java.io.IOException
MethodParameters:
Name Flags
token
cipherStream
cLen
plaintext
pStart
void decryptData(sun.security.jgss.krb5.WrapToken_v2, java.io.InputStream, int, byte[], int, int);
descriptor: (Lsun/security/jgss/krb5/WrapToken_v2;Ljava/io/InputStream;I[BII)V
flags: (0x0000)
Code:
stack=8, locals=10, 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: iload 3
newarray 8
astore 7
start local 7 1: aload 2
aload 7
iconst_0
iload 3
invokestatic sun.security.jgss.krb5.Krb5Token.readFully:(Ljava/io/InputStream;[BII)V
2: goto 10
StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken_v2 java.io.InputStream int byte[] int int byte[]
StackMap stack: java.io.IOException
3: astore 8
start local 8 4: new org.ietf.jgss.GSSException
dup
5: bipush 10
iconst_m1
6: ldc "Cannot read complete token"
7: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 9
start local 9 8: aload 9
aload 8
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
9: aload 9
athrow
end local 9 end local 8 10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
tableswitch { // 17 - 18
17: 11
18: 15
default: 19
}
11: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 7
iconst_0
iload 3
12: aload 4
iload 5
iload 6
13: invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
14: goto 22
15: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 7
iconst_0
iload 3
16: aload 4
iload 5
iload 6
17: invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
18: goto 22
19: StackMap locals:
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
20: new java.lang.StringBuilder
dup
ldc "Unsupported etype: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
22: StackMap locals:
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 23 0 this Lsun/security/jgss/krb5/CipherHelper;
0 23 1 token Lsun/security/jgss/krb5/WrapToken_v2;
0 23 2 cipherStream Ljava/io/InputStream;
0 23 3 cLen I
0 23 4 plaintext [B
0 23 5 pStart I
0 23 6 key_usage I
1 23 7 ciphertext [B
4 10 8 e Ljava/io/IOException;
8 10 9 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
1 2 3 Class java.io.IOException
Exceptions:
throws org.ietf.jgss.GSSException, java.io.IOException
MethodParameters:
Name Flags
token
cipherStream
cLen
plaintext
pStart
key_usage
void encryptData(sun.security.jgss.krb5.WrapToken, byte[], byte[], int, int, byte[], java.io.OutputStream);
descriptor: (Lsun/security/jgss/krb5/WrapToken;[B[BII[BLjava/io/OutputStream;)V
flags: (0x0000)
Code:
stack=7, locals=12, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
lookupswitch { // 3
0: 1
512: 9
4096: 14
default: 19
}
1: StackMap locals:
StackMap stack:
aload 0
iconst_1
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
invokestatic sun.security.jgss.krb5.CipherHelper.getDesEncryptionKey:([B)[B
2: getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
3: invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
astore 8
start local 8 4: new javax.crypto.CipherOutputStream
dup
aload 7
aload 8
invokespecial javax.crypto.CipherOutputStream.<init>:(Ljava/io/OutputStream;Ljavax/crypto/Cipher;)V
astore 9
start local 9 5: aload 9
aload 2
invokevirtual javax.crypto.CipherOutputStream.write:([B)V
6: aload 9
aload 3
iload 4
iload 5
invokevirtual javax.crypto.CipherOutputStream.write:([BII)V
7: aload 9
aload 6
invokevirtual javax.crypto.CipherOutputStream.write:([B)V
8: goto 22
end local 9 end local 8 9: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
iload 4
iload 5
10: aload 6
11: invokevirtual sun.security.jgss.krb5.CipherHelper.des3KdEncrypt:([B[BII[B)[B
astore 10
start local 10 12: aload 7
aload 10
invokevirtual java.io.OutputStream.write:([B)V
13: goto 22
end local 10 14: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
15: iload 4
iload 5
aload 6
16: invokevirtual sun.security.jgss.krb5.CipherHelper.arcFourEncrypt:(Lsun/security/jgss/krb5/WrapToken;[B[BII[B)[B
astore 11
start local 11 17: aload 7
aload 11
invokevirtual java.io.OutputStream.write:([B)V
18: goto 22
end local 11 19: StackMap locals:
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
20: new java.lang.StringBuilder
dup
ldc "Unsupported seal algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
22: StackMap locals:
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 23 0 this Lsun/security/jgss/krb5/CipherHelper;
0 23 1 token Lsun/security/jgss/krb5/WrapToken;
0 23 2 confounder [B
0 23 3 plaintext [B
0 23 4 start I
0 23 5 len I
0 23 6 padding [B
0 23 7 os Ljava/io/OutputStream;
4 9 8 des Ljavax/crypto/Cipher;
5 9 9 cos Ljavax/crypto/CipherOutputStream;
12 14 10 ctext [B
17 19 11 ciphertext [B
Exceptions:
throws org.ietf.jgss.GSSException, java.io.IOException
MethodParameters:
Name Flags
token
confounder
plaintext
start
len
padding
os
byte[] encryptData(sun.security.jgss.krb5.WrapToken_v2, byte[], byte[], byte[], int, int, int);
descriptor: (Lsun/security/jgss/krb5/WrapToken_v2;[B[B[BIII)[B
flags: (0x0000)
Code:
stack=7, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
tableswitch { // 17 - 18
17: 1
18: 4
default: 7
}
1: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
2: aload 4
iload 5
iload 6
iload 7
3: invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Encrypt:([B[B[BIII)[B
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
5: aload 4
iload 5
iload 6
iload 7
6: invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Encrypt:([B[B[BIII)[B
areturn
7: StackMap locals:
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
8: new java.lang.StringBuilder
dup
ldc "Unsupported etype: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
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 10 0 this Lsun/security/jgss/krb5/CipherHelper;
0 10 1 token Lsun/security/jgss/krb5/WrapToken_v2;
0 10 2 confounder [B
0 10 3 tokenHeader [B
0 10 4 plaintext [B
0 10 5 start I
0 10 6 len I
0 10 7 key_usage I
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
token
confounder
tokenHeader
plaintext
start
len
key_usage
void encryptData(sun.security.jgss.krb5.WrapToken, byte[], byte[], int, int, byte[], byte[], int);
descriptor: (Lsun/security/jgss/krb5/WrapToken;[B[BII[B[BI)V
flags: (0x0000)
Code:
stack=7, locals=13, 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: aload 0
getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
lookupswitch { // 3
0: 1
512: 22
4096: 27
default: 32
}
1: StackMap locals:
StackMap stack:
iload 8
istore 9
start local 9 2: aload 0
iconst_1
aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
invokestatic sun.security.jgss.krb5.CipherHelper.getDesEncryptionKey:([B)[B
3: getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
4: invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
astore 10
start local 10 5: iload 9
aload 10
aload 2
iconst_0
aload 2
arraylength
6: aload 7
iload 9
7: invokevirtual javax.crypto.Cipher.update:([BII[BI)I
iadd
istore 9
8: iload 9
aload 10
aload 3
iload 4
iload 5
9: aload 7
iload 9
10: invokevirtual javax.crypto.Cipher.update:([BII[BI)I
iadd
istore 9
11: aload 10
aload 6
iconst_0
aload 6
arraylength
12: aload 7
iload 9
13: invokevirtual javax.crypto.Cipher.update:([BII[BI)I
pop
14: aload 10
invokevirtual javax.crypto.Cipher.doFinal:()[B
pop
15: goto 35
StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] byte[] int int byte[] byte[] int int javax.crypto.Cipher
StackMap stack: java.security.GeneralSecurityException
16: astore 11
start local 11 17: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
18: new java.lang.StringBuilder
dup
ldc "Could not use DES Cipher - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 12
start local 12 20: aload 12
aload 11
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
21: aload 12
athrow
end local 12 end local 11 end local 10 end local 9 22: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
iload 4
iload 5
23: aload 6
24: invokevirtual sun.security.jgss.krb5.CipherHelper.des3KdEncrypt:([B[BII[B)[B
astore 11
start local 11 25: aload 11
iconst_0
aload 7
iload 8
aload 11
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
26: goto 35
end local 11 27: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iload 4
28: iload 5
aload 6
29: invokevirtual sun.security.jgss.krb5.CipherHelper.arcFourEncrypt:(Lsun/security/jgss/krb5/WrapToken;[B[BII[B)[B
astore 12
start local 12 30: aload 12
iconst_0
aload 7
iload 8
aload 12
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
31: goto 35
end local 12 32: StackMap locals:
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
33: new java.lang.StringBuilder
dup
ldc "Unsupported seal algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
return
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 36 0 this Lsun/security/jgss/krb5/CipherHelper;
0 36 1 token Lsun/security/jgss/krb5/WrapToken;
0 36 2 confounder [B
0 36 3 plaintext [B
0 36 4 pStart I
0 36 5 pLen I
0 36 6 padding [B
0 36 7 ciphertext [B
0 36 8 cStart I
2 22 9 pos I
5 22 10 des Ljavax/crypto/Cipher;
17 22 11 e Ljava/security/GeneralSecurityException;
20 22 12 ge Lorg/ietf/jgss/GSSException;
25 27 11 ctext [B
30 32 12 ctext2 [B
Exception table:
from to target type
5 15 16 Class java.security.GeneralSecurityException
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
token
confounder
plaintext
pStart
pLen
padding
ciphertext
cStart
int encryptData(sun.security.jgss.krb5.WrapToken_v2, byte[], byte[], byte[], int, int, byte[], int, int);
descriptor: (Lsun/security/jgss/krb5/WrapToken_v2;[B[B[BII[BII)I
flags: (0x0000)
Code:
stack=7, locals=11, args_size=10
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 start local 9 0: aconst_null
astore 10
start local 10 1: aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
tableswitch { // 17 - 18
17: 2
18: 6
default: 10
}
2: StackMap locals: byte[]
StackMap stack:
aload 0
aload 2
aload 3
3: aload 4
iload 5
iload 6
iload 9
4: invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Encrypt:([B[B[BIII)[B
astore 10
5: goto 13
6: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
7: aload 4
iload 5
iload 6
iload 9
8: invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Encrypt:([B[B[BIII)[B
astore 10
9: goto 13
10: StackMap locals:
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
11: new java.lang.StringBuilder
dup
ldc "Unsupported etype: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.jgss.krb5.CipherHelper.etype:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 10
iconst_0
aload 7
iload 8
aload 10
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: aload 10
arraylength
ireturn
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 15 0 this Lsun/security/jgss/krb5/CipherHelper;
0 15 1 token Lsun/security/jgss/krb5/WrapToken_v2;
0 15 2 confounder [B
0 15 3 tokenHeader [B
0 15 4 plaintext [B
0 15 5 pStart I
0 15 6 pLen I
0 15 7 ciphertext [B
0 15 8 cStart I
0 15 9 key_usage I
1 15 10 ctext [B
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
token
confounder
tokenHeader
plaintext
pStart
pLen
ciphertext
cStart
key_usage
private byte[] getDesCbcChecksum(byte[], byte[], byte[], int, int);
descriptor: ([B[B[BII)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iconst_1
aload 1
getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
astore 6
start local 6 1: aload 6
invokevirtual javax.crypto.Cipher.getBlockSize:()I
istore 7
start local 7 2: iload 7
newarray 8
astore 8
start local 8 3: iload 5
iload 7
idiv
istore 9
start local 9 4: iload 5
iload 7
irem
istore 10
start local 10 5: iload 10
ifne 11
6: iinc 9 -1
7: aload 3
iload 4
iload 9
iload 7
imul
iadd
8: aload 8
iconst_0
iload 7
9: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: goto 14
11: StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] byte[] int int javax.crypto.Cipher int byte[] int int
StackMap stack:
aload 3
iload 4
iload 9
iload 7
imul
iadd
12: aload 8
iconst_0
iload 10
13: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: StackMap locals:
StackMap stack:
iload 7
15: aload 2
ifnonnull 16
iload 7
goto 17
StackMap locals:
StackMap stack: int
16: aload 2
arraylength
17: StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] byte[] int int javax.crypto.Cipher int byte[] int int
StackMap stack: int int
invokestatic java.lang.Math.max:(II)I
newarray 8
astore 11
start local 11 18: aload 2
ifnull 20
19: aload 6
aload 2
iconst_0
aload 2
arraylength
aload 11
iconst_0
invokevirtual javax.crypto.Cipher.update:([BII[BI)I
pop
20: StackMap locals: byte[]
StackMap stack:
iconst_0
istore 12
start local 12 21: goto 27
22: StackMap locals: int
StackMap stack:
aload 6
aload 3
iload 4
iload 7
23: aload 11
iconst_0
24: invokevirtual javax.crypto.Cipher.update:([BII[BI)I
pop
25: iload 4
iload 7
iadd
istore 4
26: iinc 12 1
StackMap locals:
StackMap stack:
27: iload 12
iload 9
if_icmplt 22
end local 12 28: iload 7
newarray 8
astore 12
start local 12 29: aload 6
aload 8
iconst_0
iload 7
aload 12
iconst_0
invokevirtual javax.crypto.Cipher.update:([BII[BI)I
pop
30: aload 6
invokevirtual javax.crypto.Cipher.doFinal:()[B
pop
31: aload 12
32: areturn
end local 12 end local 11 33: StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] byte[] int int javax.crypto.Cipher int byte[] int int
StackMap stack: java.security.GeneralSecurityException
astore 11
start local 11 34: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
35: new java.lang.StringBuilder
dup
ldc "Could not use DES Cipher - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 12
start local 12 37: aload 12
aload 11
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
38: aload 12
athrow
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 39 0 this Lsun/security/jgss/krb5/CipherHelper;
0 39 1 key [B
0 39 2 header [B
0 39 3 data [B
0 39 4 offset I
0 39 5 len I
1 39 6 des Ljavax/crypto/Cipher;
2 39 7 blockSize I
3 39 8 finalBlock [B
4 39 9 numBlocks I
5 39 10 lastBytes I
18 33 11 temp [B
21 28 12 i I
29 33 12 retVal [B
34 39 11 e Ljava/security/GeneralSecurityException;
37 39 12 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
14 32 33 Class java.security.GeneralSecurityException
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
key
header
data
offset
len
private final javax.crypto.Cipher getInitializedDes(boolean, byte[], byte[]);
descriptor: (Z[B[B)Ljavax/crypto/Cipher;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new javax.crypto.spec.IvParameterSpec
dup
aload 3
invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
astore 4
start local 4 1: new javax.crypto.spec.SecretKeySpec
dup
aload 2
ldc "DES"
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
astore 5
start local 5 2: ldc "DES/CBC/NoPadding"
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
astore 6
start local 6 3: aload 6
4: iload 1
ifeq 5
iconst_1
goto 6
StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] javax.crypto.spec.IvParameterSpec javax.crypto.SecretKey javax.crypto.Cipher
StackMap stack: javax.crypto.Cipher
5: iconst_2
6: StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] javax.crypto.spec.IvParameterSpec javax.crypto.SecretKey javax.crypto.Cipher
StackMap stack: javax.crypto.Cipher int
aload 5
aload 4
7: invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
8: aload 6
9: areturn
end local 6 end local 5 end local 4 10: StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[]
StackMap stack: java.security.GeneralSecurityException
astore 4
start local 4 11: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
12: aload 4
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
13: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 5
start local 5 14: aload 5
aload 4
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
15: 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 16 0 this Lsun/security/jgss/krb5/CipherHelper;
0 16 1 encryptMode Z
0 16 2 key [B
0 16 3 ivBytes [B
1 10 4 iv Ljavax/crypto/spec/IvParameterSpec;
2 10 5 jceKey Ljavax/crypto/SecretKey;
3 10 6 desCipher Ljavax/crypto/Cipher;
11 16 4 e Ljava/security/GeneralSecurityException;
14 16 5 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
0 9 10 Class java.security.GeneralSecurityException
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
encryptMode
key
ivBytes
private void desCbcDecrypt(sun.security.jgss.krb5.WrapToken, byte[], byte[], int, int, byte[], int);
descriptor: (Lsun/security/jgss/krb5/WrapToken;[B[BII[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=13, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
iconst_0
aload 2
getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
astore 8
start local 8 1: aload 8
aload 3
iload 4
bipush 8
2: aload 1
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
3: invokevirtual javax.crypto.Cipher.update:([BII[B)I
pop
4: iinc 4 8
5: iinc 5 -8
6: aload 8
invokevirtual javax.crypto.Cipher.getBlockSize:()I
istore 9
start local 9 7: iload 5
iload 9
idiv
iconst_1
isub
istore 10
start local 10 8: iconst_0
istore 11
start local 11 9: goto 16
10: StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] byte[] int int byte[] int javax.crypto.Cipher int int int
StackMap stack:
aload 8
aload 3
iload 4
iload 9
11: aload 6
iload 7
12: invokevirtual javax.crypto.Cipher.update:([BII[BI)I
pop
13: iload 4
iload 9
iadd
istore 4
14: iload 7
iload 9
iadd
istore 7
15: iinc 11 1
StackMap locals:
StackMap stack:
16: iload 11
iload 10
if_icmplt 10
end local 11 17: iload 9
newarray 8
astore 11
start local 11 18: aload 8
aload 3
iload 4
iload 9
aload 11
invokevirtual javax.crypto.Cipher.update:([BII[B)I
pop
19: aload 8
invokevirtual javax.crypto.Cipher.doFinal:()[B
pop
20: aload 11
iload 9
iconst_1
isub
baload
istore 12
start local 12 21: iload 12
iconst_1
if_icmplt 22
iload 12
bipush 8
if_icmple 25
22: StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] byte[] int int byte[] int javax.crypto.Cipher int int byte[] int
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 10
iconst_m1
23: ldc "Invalid padding on Wrap Token"
24: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 1
getstatic sun.security.jgss.krb5.WrapToken.pads:[[B
iload 12
aaload
putfield sun.security.jgss.krb5.WrapToken.padding:[B
26: iload 9
iload 12
isub
istore 9
27: aload 11
iconst_0
aload 6
iload 7
28: iload 9
29: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 12 end local 11 end local 10 end local 9 end local 8 30: goto 37
StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] byte[] int int byte[] int
StackMap stack: java.security.GeneralSecurityException
31: astore 8
start local 8 32: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
33: new java.lang.StringBuilder
dup
ldc "Could not use DES cipher - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 9
start local 9 35: aload 9
aload 8
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
36: aload 9
athrow
end local 9 end local 8 37: StackMap locals:
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 38 0 this Lsun/security/jgss/krb5/CipherHelper;
0 38 1 token Lsun/security/jgss/krb5/WrapToken;
0 38 2 key [B
0 38 3 cipherText [B
0 38 4 offset I
0 38 5 len I
0 38 6 dataOutBuf [B
0 38 7 dataOffset I
1 30 8 des Ljavax/crypto/Cipher;
7 30 9 blockSize I
8 30 10 numBlocks I
9 17 11 i I
18 30 11 finalBlock [B
21 30 12 padSize I
32 37 8 e Ljava/security/GeneralSecurityException;
35 37 9 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
0 30 31 Class java.security.GeneralSecurityException
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
token
key
cipherText
offset
len
dataOutBuf
dataOffset
private void desCbcDecrypt(sun.security.jgss.krb5.WrapToken, byte[], java.io.InputStream, int, byte[], int);
descriptor: (Lsun/security/jgss/krb5/WrapToken;[BLjava/io/InputStream;I[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=16, 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: iconst_0
istore 7
start local 7 1: aload 0
iconst_0
aload 2
getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
astore 8
start local 8 2: new sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream
dup
aload 0
aload 3
iload 4
invokespecial sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream.<init>:(Lsun/security/jgss/krb5/CipherHelper;Ljava/io/InputStream;I)V
3: astore 9
start local 9 4: new javax.crypto.CipherInputStream
dup
aload 9
5: aload 8
6: invokespecial javax.crypto.CipherInputStream.<init>:(Ljava/io/InputStream;Ljavax/crypto/Cipher;)V
astore 10
start local 10 7: aload 10
aload 1
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
invokevirtual javax.crypto.CipherInputStream.read:([B)I
istore 7
8: iload 4
iload 7
isub
istore 4
9: aload 8
invokevirtual javax.crypto.Cipher.getBlockSize:()I
istore 11
start local 11 10: iload 4
iload 11
idiv
iconst_1
isub
istore 12
start local 12 11: iconst_0
istore 13
start local 13 12: goto 16
13: StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] java.io.InputStream int byte[] int int javax.crypto.Cipher sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream javax.crypto.CipherInputStream int int int
StackMap stack:
aload 10
aload 5
iload 6
iload 11
invokevirtual javax.crypto.CipherInputStream.read:([BII)I
istore 7
14: iload 6
iload 11
iadd
istore 6
15: iinc 13 1
StackMap locals:
StackMap stack:
16: iload 13
iload 12
if_icmplt 13
end local 13 17: iload 11
newarray 8
astore 13
start local 13 18: aload 10
aload 13
invokevirtual javax.crypto.CipherInputStream.read:([B)I
istore 7
19: aload 8
invokevirtual javax.crypto.Cipher.doFinal:()[B
pop
20: goto 27
StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] java.io.InputStream int byte[] int int javax.crypto.Cipher sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream javax.crypto.CipherInputStream int int byte[]
StackMap stack: java.security.GeneralSecurityException
21: astore 14
start local 14 22: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
23: new java.lang.StringBuilder
dup
ldc "Could not use DES cipher - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 15
start local 15 25: aload 15
aload 14
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
26: aload 15
athrow
end local 15 end local 14 27: StackMap locals:
StackMap stack:
aload 13
iload 11
iconst_1
isub
baload
istore 14
start local 14 28: iload 14
iconst_1
if_icmplt 29
iload 14
bipush 8
if_icmple 32
29: StackMap locals: int
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 10
iconst_m1
30: ldc "Invalid padding on Wrap Token"
31: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 1
getstatic sun.security.jgss.krb5.WrapToken.pads:[[B
iload 14
aaload
putfield sun.security.jgss.krb5.WrapToken.padding:[B
33: iload 11
iload 14
isub
istore 11
34: aload 13
iconst_0
aload 5
iload 6
35: iload 11
36: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
37: return
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 38 0 this Lsun/security/jgss/krb5/CipherHelper;
0 38 1 token Lsun/security/jgss/krb5/WrapToken;
0 38 2 key [B
0 38 3 is Ljava/io/InputStream;
0 38 4 len I
0 38 5 dataOutBuf [B
0 38 6 dataOffset I
1 38 7 temp I
2 38 8 des Ljavax/crypto/Cipher;
4 38 9 truncatedInputStream Lsun/security/jgss/krb5/CipherHelper$WrapTokenInputStream;
7 38 10 cis Ljavax/crypto/CipherInputStream;
10 38 11 blockSize I
11 38 12 numBlocks I
12 17 13 i I
18 38 13 finalBlock [B
22 27 14 e Ljava/security/GeneralSecurityException;
25 27 15 ge Lorg/ietf/jgss/GSSException;
28 38 14 padSize I
Exception table:
from to target type
19 20 21 Class java.security.GeneralSecurityException
Exceptions:
throws org.ietf.jgss.GSSException, java.io.IOException
MethodParameters:
Name Flags
token
key
is
len
dataOutBuf
dataOffset
private static byte[] getDesEncryptionKey(byte[]);
descriptor: ([B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
arraylength
bipush 8
if_icmple 4
1: new org.ietf.jgss.GSSException
dup
bipush 11
bipush -100
2: ldc "Invalid DES Key!"
3: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
arraylength
newarray 8
astore 1
start local 1 5: iconst_0
istore 2
start local 2 6: goto 9
7: StackMap locals: byte[] int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
baload
sipush 240
ixor
i2b
bastore
8: iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 0
arraylength
if_icmplt 7
end local 2 10: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 key [B
5 11 1 retVal [B
6 10 2 i I
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
key
private void des3KdDecrypt(sun.security.jgss.krb5.WrapToken, byte[], int, int, byte[], int);
descriptor: (Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, 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: aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
bipush 22
getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
1: aload 2
iload 3
iload 4
2: invokestatic sun.security.krb5.internal.crypto.Des3.decryptRaw:([BI[B[BII)[B
astore 7
start local 7 3: goto 10
end local 7 StackMap locals:
StackMap stack: java.security.GeneralSecurityException
4: astore 8
start local 8 5: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
6: new java.lang.StringBuilder
dup
ldc "Could not use DES3-KD Cipher - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 9
start local 9 8: aload 9
aload 8
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
9: aload 9
athrow
end local 9 end local 8 start local 7 10: StackMap locals: byte[]
StackMap stack:
aload 7
aload 7
arraylength
iconst_1
isub
baload
istore 8
start local 8 11: iload 8
iconst_1
if_icmplt 12
iload 8
bipush 8
if_icmple 15
12: StackMap locals: int
StackMap stack:
new org.ietf.jgss.GSSException
dup
bipush 10
iconst_m1
13: ldc "Invalid padding on Wrap Token"
14: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 1
getstatic sun.security.jgss.krb5.WrapToken.pads:[[B
iload 8
aaload
putfield sun.security.jgss.krb5.WrapToken.padding:[B
16: aload 7
arraylength
bipush 8
isub
iload 8
isub
istore 9
start local 9 17: aload 7
bipush 8
18: aload 5
iload 6
iload 9
19: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
20: aload 7
iconst_0
aload 1
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
21: iconst_0
bipush 8
22: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: return
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 24 0 this Lsun/security/jgss/krb5/CipherHelper;
0 24 1 token Lsun/security/jgss/krb5/WrapToken;
0 24 2 ciphertext [B
0 24 3 cStart I
0 24 4 cLen I
0 24 5 plaintext [B
0 24 6 pStart I
3 4 7 ptext [B
10 24 7 ptext [B
5 10 8 e Ljava/security/GeneralSecurityException;
8 10 9 ge Lorg/ietf/jgss/GSSException;
11 24 8 padSize I
17 24 9 len I
Exception table:
from to target type
0 3 4 Class java.security.GeneralSecurityException
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
token
ciphertext
cStart
cLen
plaintext
pStart
private byte[] des3KdEncrypt(byte[], byte[], int, int, byte[]);
descriptor: ([B[BII[B)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
arraylength
iload 4
iadd
aload 5
arraylength
iadd
newarray 8
astore 6
start local 6 1: aload 1
iconst_0
aload 6
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 2
iload 3
aload 6
aload 1
arraylength
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 5
iconst_0
aload 6
aload 1
arraylength
iload 4
iadd
4: aload 5
arraylength
5: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
bipush 22
getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
7: aload 6
iconst_0
aload 6
arraylength
8: invokestatic sun.security.krb5.internal.crypto.Des3.encryptRaw:([BI[B[BII)[B
astore 7
start local 7 9: aload 7
10: areturn
end local 7 11: StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] int int byte[] byte[]
StackMap stack: java.lang.Exception
astore 7
start local 7 12: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
13: new java.lang.StringBuilder
dup
ldc "Could not use DES3-KD Cipher - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 8
start local 8 15: aload 8
aload 7
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
16: aload 8
athrow
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 17 0 this Lsun/security/jgss/krb5/CipherHelper;
0 17 1 confounder [B
0 17 2 plaintext [B
0 17 3 start I
0 17 4 len I
0 17 5 padding [B
1 17 6 all [B
9 11 7 answer [B
12 17 7 e Ljava/lang/Exception;
15 17 8 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
6 10 11 Class java.lang.Exception
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
confounder
plaintext
start
len
padding
private void arcFourDecrypt(sun.security.jgss.krb5.WrapToken, byte[], int, int, byte[], int);
descriptor: (Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=11, 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: aload 0
aload 1
invokevirtual sun.security.jgss.krb5.WrapToken.getChecksum:()[B
1: aload 1
invokevirtual sun.security.jgss.krb5.WrapToken.getEncSeqNumber:()[B
iconst_0
bipush 8
2: invokevirtual sun.security.jgss.krb5.CipherHelper.decryptSeq:([B[BII)[B
astore 7
start local 7 3: aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
bipush 22
getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
4: aload 2
iload 3
iload 4
aload 7
5: invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.decryptRaw:([BI[B[BII[B)[B
astore 8
start local 8 6: goto 13
end local 8 StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] int int byte[] int byte[]
StackMap stack: java.security.GeneralSecurityException
7: astore 9
start local 9 8: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
9: new java.lang.StringBuilder
dup
ldc "Could not use ArcFour Cipher - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 10
start local 10 11: aload 10
aload 9
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
12: aload 10
athrow
end local 10 end local 9 start local 8 13: StackMap locals: byte[]
StackMap stack:
aload 8
aload 8
arraylength
iconst_1
isub
baload
istore 9
start local 9 14: iload 9
iconst_1
if_icmpge 18
15: new org.ietf.jgss.GSSException
dup
bipush 10
iconst_m1
16: ldc "Invalid padding on Wrap Token"
17: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
18: StackMap locals: int
StackMap stack:
aload 1
getstatic sun.security.jgss.krb5.WrapToken.pads:[[B
iload 9
aaload
putfield sun.security.jgss.krb5.WrapToken.padding:[B
19: aload 8
arraylength
bipush 8
isub
iload 9
isub
istore 10
start local 10 20: aload 8
bipush 8
21: aload 5
iload 6
iload 10
22: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: aload 8
iconst_0
aload 1
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
24: iconst_0
bipush 8
25: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
26: return
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 27 0 this Lsun/security/jgss/krb5/CipherHelper;
0 27 1 token Lsun/security/jgss/krb5/WrapToken;
0 27 2 ciphertext [B
0 27 3 cStart I
0 27 4 cLen I
0 27 5 plaintext [B
0 27 6 pStart I
3 27 7 seqNum [B
6 7 8 ptext [B
13 27 8 ptext [B
8 13 9 e Ljava/security/GeneralSecurityException;
11 13 10 ge Lorg/ietf/jgss/GSSException;
14 27 9 padSize I
20 27 10 len I
Exception table:
from to target type
3 6 7 Class java.security.GeneralSecurityException
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
token
ciphertext
cStart
cLen
plaintext
pStart
private byte[] arcFourEncrypt(sun.security.jgss.krb5.WrapToken, byte[], byte[], int, int, byte[]);
descriptor: (Lsun/security/jgss/krb5/WrapToken;[B[BII[B)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=11, 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: aload 2
arraylength
iload 5
iadd
aload 6
arraylength
iadd
newarray 8
astore 7
start local 7 1: aload 2
iconst_0
aload 7
iconst_0
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 3
iload 4
aload 7
aload 2
arraylength
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 6
iconst_0
aload 7
aload 2
arraylength
iload 5
iadd
4: aload 6
arraylength
5: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: iconst_4
newarray 8
astore 8
start local 8 7: aload 1
invokevirtual sun.security.jgss.krb5.WrapToken.getSequenceNumber:()I
aload 8
invokestatic sun.security.jgss.krb5.WrapToken.writeBigEndian:(I[B)V
8: aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
bipush 22
9: aload 8
aload 7
iconst_0
aload 7
arraylength
10: invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.encryptRaw:([BI[B[BII)[B
astore 9
start local 9 11: aload 9
12: areturn
end local 9 13: StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] byte[] int int byte[] byte[] byte[]
StackMap stack: java.lang.Exception
astore 9
start local 9 14: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
15: new java.lang.StringBuilder
dup
ldc "Could not use ArcFour Cipher - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 10
start local 10 17: aload 10
aload 9
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
18: aload 10
athrow
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 19 0 this Lsun/security/jgss/krb5/CipherHelper;
0 19 1 token Lsun/security/jgss/krb5/WrapToken;
0 19 2 confounder [B
0 19 3 plaintext [B
0 19 4 start I
0 19 5 len I
0 19 6 padding [B
1 19 7 all [B
7 19 8 seqNum [B
11 13 9 answer [B
14 19 9 e Ljava/lang/Exception;
17 19 10 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
8 12 13 Class java.lang.Exception
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
token
confounder
plaintext
start
len
padding
private byte[] aes128Encrypt(byte[], byte[], byte[], int, int, int);
descriptor: ([B[B[BIII)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, 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: aload 1
arraylength
iload 5
iadd
aload 2
arraylength
iadd
newarray 8
astore 7
start local 7 1: aload 1
iconst_0
aload 7
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 3
iload 4
aload 7
aload 1
arraylength
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 2
iconst_0
aload 7
aload 1
arraylength
iload 5
iadd
4: aload 2
arraylength
5: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
iload 6
7: getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
8: aload 7
iconst_0
aload 7
arraylength
9: invokestatic sun.security.krb5.internal.crypto.Aes128.encryptRaw:([BI[B[BII)[B
astore 8
start local 8 10: aload 8
11: areturn
end local 8 12: StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] byte[] int int int byte[]
StackMap stack: java.lang.Exception
astore 8
start local 8 13: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
14: new java.lang.StringBuilder
dup
ldc "Could not use AES128 Cipher - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 9
start local 9 16: aload 9
aload 8
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
17: aload 9
athrow
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 18 0 this Lsun/security/jgss/krb5/CipherHelper;
0 18 1 confounder [B
0 18 2 tokenHeader [B
0 18 3 plaintext [B
0 18 4 start I
0 18 5 len I
0 18 6 key_usage I
1 18 7 all [B
10 12 8 answer [B
13 18 8 e Ljava/lang/Exception;
16 18 9 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
6 11 12 Class java.lang.Exception
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
confounder
tokenHeader
plaintext
start
len
key_usage
private void aes128Decrypt(sun.security.jgss.krb5.WrapToken_v2, byte[], int, int, byte[], int, int);
descriptor: (Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=11, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aconst_null
astore 8
start local 8 1: aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
iload 7
2: getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
aload 2
iload 3
iload 4
3: invokestatic sun.security.krb5.internal.crypto.Aes128.decryptRaw:([BI[B[BII)[B
astore 8
4: goto 11
StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken_v2 byte[] int int byte[] int int byte[]
StackMap stack: java.security.GeneralSecurityException
5: astore 9
start local 9 6: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
7: new java.lang.StringBuilder
dup
ldc "Could not use AES128 Cipher - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 10
start local 10 9: aload 10
aload 9
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
10: aload 10
athrow
end local 10 end local 9 11: StackMap locals:
StackMap stack:
aload 8
arraylength
bipush 16
isub
12: bipush 16
13: isub
istore 9
start local 9 14: aload 8
bipush 16
15: aload 5
iload 6
iload 9
16: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: return
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 18 0 this Lsun/security/jgss/krb5/CipherHelper;
0 18 1 token Lsun/security/jgss/krb5/WrapToken_v2;
0 18 2 ciphertext [B
0 18 3 cStart I
0 18 4 cLen I
0 18 5 plaintext [B
0 18 6 pStart I
0 18 7 key_usage I
1 18 8 ptext [B
6 11 9 e Ljava/security/GeneralSecurityException;
9 11 10 ge Lorg/ietf/jgss/GSSException;
14 18 9 len I
Exception table:
from to target type
1 4 5 Class java.security.GeneralSecurityException
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
token
ciphertext
cStart
cLen
plaintext
pStart
key_usage
private byte[] aes256Encrypt(byte[], byte[], byte[], int, int, int);
descriptor: ([B[B[BIII)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, 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: aload 1
arraylength
iload 5
iadd
aload 2
arraylength
iadd
newarray 8
astore 7
start local 7 1: aload 1
iconst_0
aload 7
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 3
iload 4
aload 7
aload 1
arraylength
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 2
iconst_0
aload 7
aload 1
arraylength
iload 5
iadd
4: aload 2
arraylength
5: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
iload 6
7: getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
aload 7
iconst_0
aload 7
arraylength
8: invokestatic sun.security.krb5.internal.crypto.Aes256.encryptRaw:([BI[B[BII)[B
astore 8
start local 8 9: aload 8
10: areturn
end local 8 11: StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] byte[] int int int byte[]
StackMap stack: java.lang.Exception
astore 8
start local 8 12: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
13: new java.lang.StringBuilder
dup
ldc "Could not use AES256 Cipher - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 9
start local 9 15: aload 9
aload 8
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
16: aload 9
athrow
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 17 0 this Lsun/security/jgss/krb5/CipherHelper;
0 17 1 confounder [B
0 17 2 tokenHeader [B
0 17 3 plaintext [B
0 17 4 start I
0 17 5 len I
0 17 6 key_usage I
1 17 7 all [B
9 11 8 answer [B
12 17 8 e Ljava/lang/Exception;
15 17 9 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
6 10 11 Class java.lang.Exception
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
confounder
tokenHeader
plaintext
start
len
key_usage
private void aes256Decrypt(sun.security.jgss.krb5.WrapToken_v2, byte[], int, int, byte[], int, int);
descriptor: (Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=11, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
iload 7
1: getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
aload 2
iload 3
iload 4
2: invokestatic sun.security.krb5.internal.crypto.Aes256.decryptRaw:([BI[B[BII)[B
astore 8
start local 8 3: goto 10
end local 8 StackMap locals:
StackMap stack: java.security.GeneralSecurityException
4: astore 9
start local 9 5: new org.ietf.jgss.GSSException
dup
bipush 11
iconst_m1
6: new java.lang.StringBuilder
dup
ldc "Could not use AES128 Cipher - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
astore 10
start local 10 8: aload 10
aload 9
invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
9: aload 10
athrow
end local 10 end local 9 start local 8 10: StackMap locals: byte[]
StackMap stack:
aload 8
arraylength
bipush 16
isub
11: bipush 16
12: isub
istore 9
start local 9 13: aload 8
bipush 16
14: aload 5
iload 6
iload 9
15: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: return
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 17 0 this Lsun/security/jgss/krb5/CipherHelper;
0 17 1 token Lsun/security/jgss/krb5/WrapToken_v2;
0 17 2 ciphertext [B
0 17 3 cStart I
0 17 4 cLen I
0 17 5 plaintext [B
0 17 6 pStart I
0 17 7 key_usage I
3 4 8 ptext [B
10 17 8 ptext [B
5 10 9 e Ljava/security/GeneralSecurityException;
8 10 10 ge Lorg/ietf/jgss/GSSException;
13 17 9 len I
Exception table:
from to target type
0 3 4 Class java.security.GeneralSecurityException
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
token
ciphertext
cStart
cLen
plaintext
pStart
key_usage
}
SourceFile: "CipherHelper.java"
NestMembers:
sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream
InnerClasses:
WrapTokenInputStream = sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream of sun.security.jgss.krb5.CipherHelper