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: iload 11
newarray 8
astore 19
start local 19 27: iload 11
newarray 8
astore 20
start local 20 28: iconst_0
istore 21
start local 21 29: 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
30: aload 10
aload 17
invokevirtual java.security.MessageDigest.update:([B)V
31: aload 10
invokevirtual java.security.MessageDigest.digest:()[B
astore 18
start local 18 32: iconst_1
istore 22
start local 22 33: goto 36
34: 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
35: iinc 22 1
StackMap locals:
StackMap stack:
36: iload 22
iload 2
if_icmplt 34
end local 22 37: 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
38: iload 21
iconst_1
iadd
iload 13
if_icmpne 40
39: goto 63
40: StackMap locals:
StackMap stack:
aload 18
aload 19
iconst_0
aload 19
arraylength
invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.concat:([B[BII)V
41: 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 42: iconst_0
istore 23
start local 23 43: goto 58
44: StackMap locals: java.math.BigInteger int
StackMap stack:
aload 20
arraylength
iload 11
if_icmpeq 46
45: iload 11
newarray 8
astore 20
46: 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
47: new java.math.BigInteger
dup
iconst_1
aload 20
invokespecial java.math.BigInteger.<init>:(I[B)V
astore 24
start local 24 48: aload 24
aload 22
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 24
49: aload 24
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 20
50: aload 20
arraylength
iload 11
isub
istore 25
start local 25 51: iload 25
iflt 54
52: aload 20
iload 25
aload 17
iload 23
iload 11
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
53: goto 57
StackMap locals: java.math.BigInteger int
StackMap stack:
54: iload 25
ifge 57
55: aload 17
iload 23
iload 23
iload 25
ineg
iadd
iconst_0
invokestatic java.util.Arrays.fill:([BIIB)V
56: 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 57: StackMap locals:
StackMap stack:
iload 23
iload 11
iadd
istore 23
StackMap locals:
StackMap stack:
58: iload 23
aload 17
arraylength
if_icmplt 44
end local 23 end local 22 59: iinc 21 1
iload 3
iload 12
isub
istore 3
end local 18 60: goto 29
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 61: StackMap locals: char[] byte[] int int int java.lang.String int int byte[] byte[]
StackMap stack: java.lang.Exception
astore 10
start local 10 62: 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 63: 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 64 0 chars [C
0 64 1 salt [B
0 64 2 ic I
0 64 3 n I
0 64 4 type I
0 64 5 hashAlgo Ljava/lang/String;
0 64 6 blockLength I
1 64 7 length I
7 64 8 passwd [B
8 14 9 i I
9 14 10 j I
15 64 9 key [B
16 61 10 sha Ljava/security/MessageDigest;
17 61 11 v I
18 61 12 u I
19 61 13 c I
20 61 14 D [B
21 61 15 s I
22 61 16 p I
23 61 17 I [B
32 60 18 Ai [B
27 61 19 B [B
28 61 20 tmp [B
29 61 21 i I
33 37 22 r I
42 59 22 B1 Ljava/math/BigInteger;
43 59 23 j I
48 57 24 Ij Ljava/math/BigInteger;
51 57 25 trunc I
62 63 10 e Ljava/lang/Exception;
Exception table:
from to target type
15 61 61 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=11, 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 23
StackMap locals: char[]
StackMap stack:
10: aload 2
instanceof javax.crypto.SecretKey
ifeq 22
11: aload 2
invokeinterface java.security.Key.getEncoded:()[B
astore 7
start local 7 12: aload 7
ifnull 14
13: 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
ifne 15
14: StackMap locals: byte[]
StackMap stack:
new java.security.InvalidKeyException
dup
ldc "Missing password"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
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 end local 7 21: goto 23
22: 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
23: StackMap locals:
StackMap stack:
iload 1
iconst_2
if_icmpeq 25
24: iload 1
iconst_4
if_icmpne 29
25: StackMap locals:
StackMap stack:
aload 3
ifnonnull 29
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
ifnull 26
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
ifne 29
26: StackMap locals:
StackMap stack:
new java.security.InvalidAlgorithmParameterException
dup
27: ldc "Parameters missing"
28: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 3
ifnonnull 38
30: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
ifnonnull 36
31: aload 0
bipush 20
newarray 8
putfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
32: aload 4
ifnull 35
33: aload 4
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
invokevirtual java.security.SecureRandom.nextBytes:([B)V
34: goto 36
35: 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
36: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
ifne 55
aload 0
sipush 1024
putfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
37: goto 55
StackMap locals:
StackMap stack:
38: aload 3
instanceof javax.crypto.spec.PBEParameterSpec
ifne 42
39: new java.security.InvalidAlgorithmParameterException
dup
40: ldc "PBEParameterSpec type required"
41: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
42: StackMap locals:
StackMap stack:
aload 3
checkcast javax.crypto.spec.PBEParameterSpec
astore 7
start local 7 43: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
ifnull 48
44: 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 49
45: new java.security.InvalidAlgorithmParameterException
dup
46: ldc "Inconsistent value of salt between key and params"
47: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
48: 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
49: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
ifeq 54
50: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
aload 7
invokevirtual javax.crypto.spec.PBEParameterSpec.getIterationCount:()I
if_icmpeq 55
51: new java.security.InvalidAlgorithmParameterException
dup
52: ldc "Different iteration count between key and params"
53: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
54: 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 55: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
arraylength
bipush 8
if_icmpge 59
56: new java.security.InvalidAlgorithmParameterException
dup
57: ldc "Salt must be at least 8 bytes long"
58: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
59: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
ifgt 63
60: new java.security.InvalidAlgorithmParameterException
dup
61: ldc "IterationCount must be a positive number"
62: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
63: 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
64: aload 0
getfield com.sun.crypto.provider.PKCS12PBECipherCore.keySize:I
iconst_1
65: invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.derive:([C[BIII)[B
astore 7
start local 7 66: 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 67: aload 5
ifnull 70
aload 5
instanceof com.sun.crypto.provider.ARCFOURCipher
ifeq 70
68: 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
69: goto 75
70: 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
71: iconst_2
72: invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.derive:([C[BIII)[B
astore 9
start local 9 73: 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 74: 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 75: 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 76 0 this Lcom/sun/crypto/provider/PKCS12PBECipherCore;
0 76 1 opmode I
0 76 2 key Ljava/security/Key;
0 76 3 params Ljava/security/spec/AlgorithmParameterSpec;
0 76 4 random Ljava/security/SecureRandom;
0 76 5 cipherImpl Ljavax/crypto/CipherSpi;
1 76 6 passwdChars [C
6 9 7 pbeKey Ljavax/crypto/interfaces/PBEKey;
12 21 7 passwdBytes [B
17 21 8 i I
43 55 7 pbeParams Ljavax/crypto/spec/PBEParameterSpec;
66 76 7 derivedKey [B
67 76 8 cipherKey Ljavax/crypto/SecretKey;
73 75 9 derivedIv [B
74 75 10 ivSpec Ljavax/crypto/spec/IvParameterSpec;
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