final class com.sun.crypto.provider.PKCS12PBECipherCore
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.crypto.provider.PKCS12PBECipherCore
super_class: java.lang.Object
{
private com.sun.crypto.provider.CipherCore cipher;
descriptor: Lcom/sun/crypto/provider/CipherCore;
flags: (0x0002) ACC_PRIVATE
private int blockSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int keySize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int keyLength;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String algo;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String pbeAlgo;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private byte[] salt;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int iCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int DEFAULT_SALT_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private static final int DEFAULT_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
static final int CIPHER_KEY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int CIPHER_IV;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int MAC_KEY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static byte[] derive(char[], byte[], int, int, int);
descriptor: ([C[BIII)[B
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
iload 3
iload 4
ldc "SHA-1"
bipush 64
invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.derive:([C[BIIILjava/lang/String;I)[B
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 chars [C
0 1 1 salt [B
0 1 2 ic I
0 1 3 n I
0 1 4 type I
MethodParameters:
Name Flags
chars
salt
ic
n
type
static byte[] derive(char[], byte[], int, int, int, java.lang.String, int);
descriptor: ([C[BIIILjava/lang/String;I)[B
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=26, 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
arraylength
iconst_2
imul
istore 7
start local 7 1: iload 7
iconst_2
if_icmpne 5
aload 0
iconst_0
caload
ifne 5
2: iconst_0
newarray 5
astore 0
3: iconst_0
istore 7
4: goto 6
5: StackMap locals: int
StackMap stack:
iinc 7 2
6: StackMap locals:
StackMap stack:
iload 7
newarray 8
astore 8
start local 8 7: iconst_0
istore 9
start local 9 8: iconst_0
istore 10
start local 10 9: goto 13
10: StackMap locals: byte[] int int
StackMap stack:
aload 8
iload 10
aload 0
iload 9
caload
bipush 8
iushr
sipush 255
iand
i2b
bastore
11: aload 8
iload 10
iconst_1
iadd
aload 0
iload 9
caload
sipush 255
iand
i2b
bastore
12: iinc 9 1
iinc 10 2
StackMap locals:
StackMap stack:
13: iload 9
aload 0
arraylength
if_icmplt 10
end local 10 end local 9 14: iload 3
newarray 8
astore 9
start local 9 15: aload 5
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 10
start local 10 16: iload 6
istore 11
start local 11 17: aload 10
invokevirtual java.security.MessageDigest.getDigestLength:()I
istore 12
start local 12 18: iload 3
iload 12
invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.roundup:(II)I
iload 12
idiv
istore 13
start local 13 19: iload 11
newarray 8
astore 14
start local 14 20: aload 1
arraylength
iload 11
invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.roundup:(II)I
istore 15
start local 15 21: aload 8
arraylength
iload 11
invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.roundup:(II)I
istore 16
start local 16 22: iload 15
iload 16
iadd
newarray 8
astore 17
start local 17 23: aload 14
iload 4
i2b
invokestatic java.util.Arrays.fill:([BB)V
24: aload 1
aload 17
iconst_0
iload 15
invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.concat:([B[BII)V
25: aload 8
aload 17
iload 15
iload 16
invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.concat:([B[BII)V
26: aload 8
iconst_0
invokestatic java.util.Arrays.fill:([BB)V
27: iload 11
newarray 8
astore 19
start local 19 28: iload 11
newarray 8
astore 20
start local 20 29: iconst_0
istore 21
start local 21 30: StackMap locals: char[] byte[] int int int java.lang.String int int byte[] byte[] java.security.MessageDigest int int int byte[] int int byte[] top byte[] byte[] int
StackMap stack:
aload 10
aload 14
invokevirtual java.security.MessageDigest.update:([B)V
31: aload 10
aload 17
invokevirtual java.security.MessageDigest.update:([B)V
32: aload 10
invokevirtual java.security.MessageDigest.digest:()[B
astore 18
start local 18 33: iconst_1
istore 22
start local 22 34: goto 37
35: StackMap locals: char[] byte[] int int int java.lang.String int int byte[] byte[] java.security.MessageDigest int int int byte[] int int byte[] byte[] byte[] byte[] int int
StackMap stack:
aload 10
aload 18
invokevirtual java.security.MessageDigest.digest:([B)[B
astore 18
36: iinc 22 1
StackMap locals:
StackMap stack:
37: iload 22
iload 2
if_icmplt 35
end local 22 38: aload 18
iconst_0
aload 9
iload 12
iload 21
imul
iload 3
iload 12
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
39: iload 21
iconst_1
iadd
iload 13
if_icmpne 41
40: goto 64
41: StackMap locals:
StackMap stack:
aload 18
aload 19
iconst_0
aload 19
arraylength
invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.concat:([B[BII)V
42: new java.math.BigInteger
dup
iconst_1
aload 19
invokespecial java.math.BigInteger.<init>:(I[B)V
getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 22
start local 22 43: iconst_0
istore 23
start local 23 44: goto 59
45: StackMap locals: java.math.BigInteger int
StackMap stack:
aload 20
arraylength
iload 11
if_icmpeq 47
46: iload 11
newarray 8
astore 20
47: StackMap locals:
StackMap stack:
aload 17
iload 23
aload 20
iconst_0
iload 11
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
48: new java.math.BigInteger
dup
iconst_1
aload 20
invokespecial java.math.BigInteger.<init>:(I[B)V
astore 24
start local 24 49: aload 24
aload 22
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 24
50: aload 24
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 20
51: aload 20
arraylength
iload 11
isub
istore 25
start local 25 52: iload 25
iflt 55
53: aload 20
iload 25
aload 17
iload 23
iload 11
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
54: goto 58
StackMap locals: java.math.BigInteger int
StackMap stack:
55: iload 25
ifge 58
56: aload 17
iload 23
iload 23
iload 25
ineg
iadd
iconst_0
invokestatic java.util.Arrays.fill:([BIIB)V
57: aload 20
iconst_0
aload 17
iload 23
iload 25
ineg
iadd
aload 20
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 25 end local 24 58: StackMap locals:
StackMap stack:
iload 23
iload 11
iadd
istore 23
StackMap locals:
StackMap stack:
59: iload 23
aload 17
arraylength
if_icmplt 45
end local 23 end local 22 60: iinc 21 1
iload 3
iload 12
isub
istore 3
end local 18 61: goto 30
end local 21 end local 20 end local 19 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 62: StackMap locals: char[] byte[] int int int java.lang.String int int byte[] byte[]
StackMap stack: java.lang.Exception
astore 10
start local 10 63: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "internal error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 10 64: StackMap locals:
StackMap stack:
aload 9
areturn
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 65 0 chars [C
0 65 1 salt [B
0 65 2 ic I
0 65 3 n I
0 65 4 type I
0 65 5 hashAlgo Ljava/lang/String;
0 65 6 blockLength I
1 65 7 length I
7 65 8 passwd [B
8 14 9 i I
9 14 10 j I
15 65 9 key [B
16 62 10 sha Ljava/security/MessageDigest;
17 62 11 v I
18 62 12 u I
19 62 13 c I
20 62 14 D [B
21 62 15 s I
22 62 16 p I
23 62 17 I [B
33 61 18 Ai [B
28 62 19 B [B
29 62 20 tmp [B
30 62 21 i I
34 38 22 r I
43 60 22 B1 Ljava/math/BigInteger;
44 60 23 j I
49 58 24 Ij Ljava/math/BigInteger;
52 58 25 trunc I
63 64 10 e Ljava/lang/Exception;
Exception table:
from to target type
15 62 62 Class java.lang.Exception
MethodParameters:
Name Flags
chars
salt
ic
n
type
hashAlgo
blockLength
private static int roundup(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
iconst_1
isub
iadd
iload 1
idiv
iload 1
imul
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
0 1 1 y I
MethodParameters:
Name Flags
x
y
private static void concat(byte[], byte[], int, int);
descriptor: ([B[BII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
arraylength
ifne 2
1: return
2: StackMap locals:
StackMap stack:
iload 3
aload 0
arraylength
idiv
istore 4
start local 4 3: iconst_0
istore 6
start local 6 4: iconst_0
istore 5
start local 5 5: goto 8
6: StackMap locals: int int int
StackMap stack:
aload 0
iconst_0
aload 1
iload 5
iload 2
iadd
aload 0
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: iinc 6 1
iload 5
aload 0
arraylength
iadd
istore 5
StackMap locals:
StackMap stack:
8: iload 6
iload 4
if_icmplt 6
9: aload 0
iconst_0
aload 1
iload 5
iload 2
iadd
iload 3
iload 5
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: 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 11 0 src [B
0 11 1 dst [B
0 11 2 start I
0 11 3 len I
3 11 4 loop I
5 11 5 off I
4 11 6 i I
MethodParameters:
Name Flags
src
dst
start
len
void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
2: aload 0
aconst_null
putfield com.sun.crypto.provider.PKCS12PBECipherCore.pbeAlgo:Ljava/lang/String;
3: aload 0
aconst_null
putfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
4: aload 0
iconst_0
putfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
5: aload 0
aload 1
putfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
6: aload 0
iload 2
bipush 8
imul
putfield com.sun.crypto.provider.PKCS12PBECipherCore.keyLength:I
7: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
ldc "RC4"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
8: aload 0
new java.lang.StringBuilder
dup
ldc "PBEWithSHA1AndRC4_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.keyLength:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield com.sun.crypto.provider.PKCS12PBECipherCore.pbeAlgo:Ljava/lang/String;
9: goto 29
10: StackMap locals: com.sun.crypto.provider.PKCS12PBECipherCore java.lang.String int
StackMap stack:
aconst_null
astore 3
start local 3 11: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
ldc "DESede"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
12: new com.sun.crypto.provider.DESedeCrypt
dup
invokespecial com.sun.crypto.provider.DESedeCrypt.<init>:()V
astore 3
13: aload 0
ldc "PBEWithSHA1AndDESede"
putfield com.sun.crypto.provider.PKCS12PBECipherCore.pbeAlgo:Ljava/lang/String;
14: aload 0
bipush 112
putfield com.sun.crypto.provider.PKCS12PBECipherCore.keyLength:I
15: goto 23
StackMap locals: com.sun.crypto.provider.SymmetricCipher
StackMap stack:
16: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
ldc "RC2"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
17: new com.sun.crypto.provider.RC2Crypt
dup
invokespecial com.sun.crypto.provider.RC2Crypt.<init>:()V
astore 3
18: aload 0
new java.lang.StringBuilder
dup
ldc "PBEWithSHA1AndRC2_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.keyLength:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield com.sun.crypto.provider.PKCS12PBECipherCore.pbeAlgo:Ljava/lang/String;
19: goto 23
20: StackMap locals:
StackMap stack:
new java.security.NoSuchAlgorithmException
dup
new java.lang.StringBuilder
dup
ldc "No Cipher implementation for PBEWithSHA1And"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
21: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual com.sun.crypto.provider.SymmetricCipher.getBlockSize:()I
putfield com.sun.crypto.provider.PKCS12PBECipherCore.blockSize:I
24: aload 0
new com.sun.crypto.provider.CipherCore
dup
aload 3
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.blockSize:I
invokespecial com.sun.crypto.provider.CipherCore.<init>:(Lcom/sun/crypto/provider/SymmetricCipher;I)V
putfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
25: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
ldc "CBC"
invokevirtual com.sun.crypto.provider.CipherCore.setMode:(Ljava/lang/String;)V
26: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
ldc "PKCS5Padding"
invokevirtual com.sun.crypto.provider.CipherCore.setPadding:(Ljava/lang/String;)V
27: goto 29
StackMap locals:
StackMap stack: javax.crypto.NoSuchPaddingException
28: pop
end local 3 29: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield com.sun.crypto.provider.PKCS12PBECipherCore.keySize:I
30: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 31 1 symmCipherAlg Ljava/lang/String;
0 31 2 defKeySize I
11 29 3 symmCipher Lcom/sun/crypto/provider/SymmetricCipher;
Exception table:
from to target type
26 27 28 Class javax.crypto.NoSuchPaddingException
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
symmCipherAlg
defKeySize
void implSetMode(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 4
aload 1
ldc "CBC"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 4
1: new java.security.NoSuchAlgorithmException
dup
new java.lang.StringBuilder
dup
ldc "Invalid cipher mode: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 5 1 mode Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
mode
void implSetPadding(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 5
1: aload 1
ldc "PKCS5Padding"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 5
2: new javax.crypto.NoSuchPaddingException
dup
new java.lang.StringBuilder
dup
ldc "Invalid padding scheme: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial javax.crypto.NoSuchPaddingException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 6 1 padding Ljava/lang/String;
Exceptions:
throws javax.crypto.NoSuchPaddingException
MethodParameters:
Name Flags
padding
int implGetBlockSize();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.blockSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
int implGetOutputSize(int);
descriptor: (I)I
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
iload 1
invokevirtual com.sun.crypto.provider.CipherCore.getOutputSize:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 1 1 inLen I
MethodParameters:
Name Flags
inLen
byte[] implGetIV();
descriptor: ()[B
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
invokevirtual com.sun.crypto.provider.CipherCore.getIV:()[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
java.security.AlgorithmParameters implGetParameters();
descriptor: ()Ljava/security/AlgorithmParameters;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
ifnonnull 5
2: aload 0
bipush 20
newarray 8
putfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
3: invokestatic com.sun.crypto.provider.SunJCE.getRandom:()Ljava/security/SecureRandom;
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
invokevirtual java.security.SecureRandom.nextBytes:([B)V
4: aload 0
sipush 1024
putfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
5: StackMap locals: java.security.AlgorithmParameters
StackMap stack:
new javax.crypto.spec.PBEParameterSpec
dup
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
astore 2
start local 2 6: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.pbeAlgo:Ljava/lang/String;
7: invokestatic com.sun.crypto.provider.SunJCE.getInstance:()Lcom/sun/crypto/provider/SunJCE;
8: invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/AlgorithmParameters;
astore 1
9: aload 1
aload 2
invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
10: goto 17
StackMap locals: com.sun.crypto.provider.PKCS12PBECipherCore java.security.AlgorithmParameters javax.crypto.spec.PBEParameterSpec
StackMap stack: java.security.NoSuchAlgorithmException
11: pop
12: new java.lang.RuntimeException
dup
13: ldc "SunJCE provider is not configured properly"
14: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack: java.security.spec.InvalidParameterSpecException
pop
16: new java.lang.RuntimeException
dup
ldc "PBEParameterSpec not supported"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
1 18 1 params Ljava/security/AlgorithmParameters;
6 18 2 pbeSpec Ljavax/crypto/spec/PBEParameterSpec;
Exception table:
from to target type
6 10 11 Class java.security.NoSuchAlgorithmException
6 10 15 Class java.security.spec.InvalidParameterSpecException
void implInit(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
descriptor: (ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
aload 3
aload 4
aconst_null
invokevirtual com.sun.crypto.provider.PKCS12PBECipherCore.implInit:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 2 1 opmode I
0 2 2 key Ljava/security/Key;
0 2 3 params Ljava/security/spec/AlgorithmParameterSpec;
0 2 4 random Ljava/security/SecureRandom;
Exceptions:
throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
opmode
key
params
random
void implInit(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom, javax.crypto.CipherSpi);
descriptor: (ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
flags: (0x0000)
Code:
stack=6, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 6
start local 6 1: aload 0
aconst_null
putfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
2: aload 0
iconst_0
putfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
3: aload 2
instanceof javax.crypto.interfaces.PBEKey
ifeq 10
4: aload 2
checkcast javax.crypto.interfaces.PBEKey
5: astore 7
start local 7 6: aload 7
invokeinterface javax.crypto.interfaces.PBEKey.getPassword:()[C
astore 6
7: aload 0
aload 7
invokeinterface javax.crypto.interfaces.PBEKey.getSalt:()[B
putfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
8: aload 0
aload 7
invokeinterface javax.crypto.interfaces.PBEKey.getIterationCount:()I
putfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
end local 7 9: goto 24
StackMap locals: char[]
StackMap stack:
10: aload 2
instanceof javax.crypto.SecretKey
ifeq 23
11: aload 2
invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
iconst_1
iconst_0
ldc "PBE"
iconst_0
iconst_3
invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
ifeq 14
12: aload 2
invokeinterface java.security.Key.getEncoded:()[B
dup
astore 7
start local 7 13: ifnonnull 15
end local 7 14: StackMap locals:
StackMap stack:
new java.security.InvalidKeyException
dup
ldc "Missing password"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
start local 7 15: StackMap locals: byte[]
StackMap stack:
aload 7
arraylength
newarray 5
astore 6
16: iconst_0
istore 8
start local 8 17: goto 20
18: StackMap locals: int
StackMap stack:
aload 6
iload 8
aload 7
iload 8
baload
bipush 127
iand
i2c
castore
19: iinc 8 1
StackMap locals:
StackMap stack:
20: iload 8
aload 6
arraylength
if_icmplt 18
end local 8 21: aload 7
iconst_0
invokestatic java.util.Arrays.fill:([BB)V
end local 7 22: goto 24
23: StackMap locals:
StackMap stack:
new java.security.InvalidKeyException
dup
ldc "SecretKey of PBE type required"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
iload 1
iconst_2
if_icmpeq 26
25: iload 1
iconst_4
if_icmpne 30
26: StackMap locals:
StackMap stack:
aload 3
ifnonnull 30
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
ifnull 27
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
ifne 30
27: StackMap locals:
StackMap stack:
new java.security.InvalidAlgorithmParameterException
dup
28: ldc "Parameters missing"
29: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
aload 3
ifnonnull 39
31: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
ifnonnull 37
32: aload 0
bipush 20
newarray 8
putfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
33: aload 4
ifnull 36
34: aload 4
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
invokevirtual java.security.SecureRandom.nextBytes:([B)V
35: goto 37
36: StackMap locals:
StackMap stack:
invokestatic com.sun.crypto.provider.SunJCE.getRandom:()Ljava/security/SecureRandom;
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
invokevirtual java.security.SecureRandom.nextBytes:([B)V
37: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
ifne 56
aload 0
sipush 1024
putfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
38: goto 56
StackMap locals:
StackMap stack:
39: aload 3
instanceof javax.crypto.spec.PBEParameterSpec
ifne 43
40: new java.security.InvalidAlgorithmParameterException
dup
41: ldc "PBEParameterSpec type required"
42: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
43: StackMap locals:
StackMap stack:
aload 3
checkcast javax.crypto.spec.PBEParameterSpec
astore 7
start local 7 44: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
ifnull 49
45: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
aload 7
invokevirtual javax.crypto.spec.PBEParameterSpec.getSalt:()[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifne 50
46: new java.security.InvalidAlgorithmParameterException
dup
47: ldc "Inconsistent value of salt between key and params"
48: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals: javax.crypto.spec.PBEParameterSpec
StackMap stack:
aload 0
aload 7
invokevirtual javax.crypto.spec.PBEParameterSpec.getSalt:()[B
putfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
50: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
ifeq 55
51: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
aload 7
invokevirtual javax.crypto.spec.PBEParameterSpec.getIterationCount:()I
if_icmpeq 56
52: new java.security.InvalidAlgorithmParameterException
dup
53: ldc "Different iteration count between key and params"
54: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
55: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual javax.crypto.spec.PBEParameterSpec.getIterationCount:()I
putfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
end local 7 56: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
arraylength
bipush 8
if_icmpge 60
57: new java.security.InvalidAlgorithmParameterException
dup
58: ldc "Salt must be at least 8 bytes long"
59: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
60: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
ifgt 64
61: new java.security.InvalidAlgorithmParameterException
dup
62: ldc "IterationCount must be a positive number"
63: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
64: StackMap locals:
StackMap stack:
aload 6
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
65: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.keySize:I
iconst_1
66: invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.derive:([C[BIII)[B
astore 7
start local 7 67: new javax.crypto.spec.SecretKeySpec
dup
aload 7
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
astore 8
start local 8 68: aload 5
ifnull 71
aload 5
instanceof com.sun.crypto.provider.ARCFOURCipher
ifeq 71
69: aload 5
checkcast com.sun.crypto.provider.ARCFOURCipher
iload 1
aload 8
aload 4
invokevirtual com.sun.crypto.provider.ARCFOURCipher.engineInit:(ILjava/security/Key;Ljava/security/SecureRandom;)V
70: goto 80
71: StackMap locals: byte[] javax.crypto.SecretKey
StackMap stack:
aload 6
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
bipush 8
72: iconst_2
73: invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.derive:([C[BIII)[B
astore 9
start local 9 74: new javax.crypto.spec.IvParameterSpec
dup
aload 9
iconst_0
bipush 8
invokespecial javax.crypto.spec.IvParameterSpec.<init>:([BII)V
astore 10
start local 10 75: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
iload 1
aload 8
aload 10
aload 4
invokevirtual com.sun.crypto.provider.CipherCore.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
end local 10 end local 9 end local 8 end local 7 76: goto 80
StackMap locals: com.sun.crypto.provider.PKCS12PBECipherCore int java.security.Key java.security.spec.AlgorithmParameterSpec java.security.SecureRandom javax.crypto.CipherSpi char[]
StackMap stack: java.lang.Throwable
77: astore 11
78: aload 6
iconst_0
invokestatic java.util.Arrays.fill:([CC)V
79: aload 11
athrow
80: StackMap locals:
StackMap stack:
aload 6
iconst_0
invokestatic java.util.Arrays.fill:([CC)V
81: 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 82 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 82 1 opmode I
0 82 2 key Ljava/security/Key;
0 82 3 params Ljava/security/spec/AlgorithmParameterSpec;
0 82 4 random Ljava/security/SecureRandom;
0 82 5 cipherImpl Ljavax/crypto/CipherSpi;
1 82 6 passwdChars [C
6 9 7 pbeKey Ljavax/crypto/interfaces/PBEKey;
13 14 7 passwdBytes [B
15 22 7 passwdBytes [B
17 21 8 i I
44 56 7 pbeParams Ljavax/crypto/spec/PBEParameterSpec;
67 76 7 derivedKey [B
68 76 8 cipherKey Ljavax/crypto/SecretKey;
74 76 9 derivedIv [B
75 76 10 ivSpec Ljavax/crypto/spec/IvParameterSpec;
Exception table:
from to target type
24 77 77 any
Exceptions:
throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
opmode
key
params
random
cipherImpl
void implInit(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom);
descriptor: (ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
aload 3
aload 4
aconst_null
invokevirtual com.sun.crypto.provider.PKCS12PBECipherCore.implInit:(ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 2 1 opmode I
0 2 2 key Ljava/security/Key;
0 2 3 params Ljava/security/AlgorithmParameters;
0 2 4 random Ljava/security/SecureRandom;
Exceptions:
throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
opmode
key
params
random
void implInit(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom, javax.crypto.CipherSpi);
descriptor: (ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
flags: (0x0000)
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 6
start local 6 1: aload 3
ifnull 8
2: aload 3
ldc Ljavax/crypto/spec/PBEParameterSpec;
invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
astore 6
3: goto 8
StackMap locals: com.sun.crypto.provider.PKCS12PBECipherCore int java.security.Key java.security.AlgorithmParameters java.security.SecureRandom javax.crypto.CipherSpi java.security.spec.AlgorithmParameterSpec
StackMap stack: java.security.spec.InvalidParameterSpecException
4: pop
5: new java.security.InvalidAlgorithmParameterException
dup
6: ldc "requires PBE parameters"
7: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
aload 6
aload 4
aload 5
invokevirtual com.sun.crypto.provider.PKCS12PBECipherCore.implInit:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
9: 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 10 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 10 1 opmode I
0 10 2 key Ljava/security/Key;
0 10 3 params Ljava/security/AlgorithmParameters;
0 10 4 random Ljava/security/SecureRandom;
0 10 5 cipherImpl Ljavax/crypto/CipherSpi;
1 10 6 paramSpec Ljava/security/spec/AlgorithmParameterSpec;
Exception table:
from to target type
2 3 4 Class java.security.spec.InvalidParameterSpecException
Exceptions:
throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
opmode
key
params
random
cipherImpl
void implInit(int, java.security.Key, java.security.SecureRandom);
descriptor: (ILjava/security/Key;Ljava/security/SecureRandom;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
aload 3
aconst_null
invokevirtual com.sun.crypto.provider.PKCS12PBECipherCore.implInit:(ILjava/security/Key;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 2 1 opmode I
0 2 2 key Ljava/security/Key;
0 2 3 random Ljava/security/SecureRandom;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
opmode
key
random
void implInit(int, java.security.Key, java.security.SecureRandom, javax.crypto.CipherSpi);
descriptor: (ILjava/security/Key;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
aconst_null
aload 3
1: aload 4
2: invokevirtual com.sun.crypto.provider.PKCS12PBECipherCore.implInit:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
3: goto 6
StackMap locals:
StackMap stack: java.security.InvalidAlgorithmParameterException
4: pop
5: new java.security.InvalidKeyException
dup
ldc "requires PBE parameters"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 7 1 opmode I
0 7 2 key Ljava/security/Key;
0 7 3 random Ljava/security/SecureRandom;
0 7 4 cipherImpl Ljavax/crypto/CipherSpi;
Exception table:
from to target type
0 3 4 Class java.security.InvalidAlgorithmParameterException
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
opmode
key
random
cipherImpl
byte[] implUpdate(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
aload 1
iload 2
iload 3
invokevirtual com.sun.crypto.provider.CipherCore.update:([BII)[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 1 1 in [B
0 1 2 inOff I
0 1 3 inLen I
MethodParameters:
Name Flags
in
inOff
inLen
int implUpdate(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x0000)
Code:
stack=6, locals=6, 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 com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
aload 1
iload 2
iload 3
aload 4
iload 5
invokevirtual com.sun.crypto.provider.CipherCore.update:([BII[BI)I
ireturn
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 1 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 1 1 in [B
0 1 2 inOff I
0 1 3 inLen I
0 1 4 out [B
0 1 5 outOff I
Exceptions:
throws javax.crypto.ShortBufferException
MethodParameters:
Name Flags
in
inOff
inLen
out
outOff
byte[] implDoFinal(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
aload 1
iload 2
iload 3
invokevirtual com.sun.crypto.provider.CipherCore.doFinal:([BII)[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 1 1 in [B
0 1 2 inOff I
0 1 3 inLen I
Exceptions:
throws javax.crypto.IllegalBlockSizeException, javax.crypto.BadPaddingException
MethodParameters:
Name Flags
in
inOff
inLen
int implDoFinal(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x0000)
Code:
stack=6, locals=6, 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 com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
aload 1
iload 2
iload 3
aload 4
iload 5
invokevirtual com.sun.crypto.provider.CipherCore.doFinal:([BII[BI)I
ireturn
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 1 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 1 1 in [B
0 1 2 inOff I
0 1 3 inLen I
0 1 4 out [B
0 1 5 outOff I
Exceptions:
throws javax.crypto.ShortBufferException, javax.crypto.IllegalBlockSizeException, javax.crypto.BadPaddingException
MethodParameters:
Name Flags
in
inOff
inLen
out
outOff
int implGetKeySize(java.security.Key);
descriptor: (Ljava/security/Key;)I
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.keyLength:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 1 1 key Ljava/security/Key;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
key
byte[] implWrap(java.security.Key);
descriptor: (Ljava/security/Key;)[B
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
aload 1
invokevirtual com.sun.crypto.provider.CipherCore.wrap:(Ljava/security/Key;)[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 1 1 key Ljava/security/Key;
Exceptions:
throws javax.crypto.IllegalBlockSizeException, java.security.InvalidKeyException
MethodParameters:
Name Flags
key
java.security.Key implUnwrap(byte[], java.lang.String, int);
descriptor: ([BLjava/lang/String;I)Ljava/security/Key;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
aload 1
aload 2
1: iload 3
2: invokevirtual com.sun.crypto.provider.CipherCore.unwrap:([BLjava/lang/String;I)Ljava/security/Key;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 3 1 wrappedKey [B
0 3 2 wrappedKeyAlgorithm Ljava/lang/String;
0 3 3 wrappedKeyType I
Exceptions:
throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
wrappedKey
wrappedKeyAlgorithm
wrappedKeyType
}
SourceFile: "PKCS12PBECipherCore.java"
NestMembers:
com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndDESede com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_128 com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_40 com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC4_128 com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC4_40
InnerClasses:
public final PBEWithSHA1AndDESede = com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndDESede of com.sun.crypto.provider.PKCS12PBECipherCore
public final PBEWithSHA1AndRC2_128 = com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_128 of com.sun.crypto.provider.PKCS12PBECipherCore
public final PBEWithSHA1AndRC2_40 = com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_40 of com.sun.crypto.provider.PKCS12PBECipherCore
public final PBEWithSHA1AndRC4_128 = com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC4_128 of com.sun.crypto.provider.PKCS12PBECipherCore
public final PBEWithSHA1AndRC4_40 = com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC4_40 of com.sun.crypto.provider.PKCS12PBECipherCore