class org.bouncycastle.openssl.jcajce.PEMUtilities
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.openssl.jcajce.PEMUtilities
super_class: java.lang.Object
{
private static final java.util.Map KEYSIZES;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Set PKCS5_SCHEME_1;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Set PKCS5_SCHEME_2;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map PRFS;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map PRFS_SALT;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic org.bouncycastle.openssl.jcajce.PEMUtilities.KEYSIZES:Ljava/util/Map;
1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
2: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
3: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS:Ljava/util/Map;
4: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS_SALT:Ljava/util/Map;
5: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithMD2AndDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithMD2AndRC2_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithMD5AndDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithMD5AndRC2_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHA1AndDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
10: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHA1AndRC2_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBES2:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
12: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.des_EDE3_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
13: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes128_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
14: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes192_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
15: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes256_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
16: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.KEYSIZES:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.des_EDE3_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
sipush 192
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.KEYSIZES:Ljava/util/Map;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes128_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
sipush 128
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.KEYSIZES:Ljava/util/Map;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes192_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
sipush 192
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.KEYSIZES:Ljava/util/Map;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes256_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
sipush 256
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.KEYSIZES:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHAAnd128BitRC4:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
sipush 128
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.KEYSIZES:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHAAnd40BitRC4:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
bipush 40
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.KEYSIZES:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHAAnd2_KeyTripleDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
sipush 128
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.KEYSIZES:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHAAnd3_KeyTripleDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
sipush 192
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
24: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.KEYSIZES:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHAAnd128BitRC2_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
sipush 128
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
25: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.KEYSIZES:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHAAnd40BitRC2_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
bipush 40
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
26: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_hmacWithSHA1:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
ldc "PBKDF2withHMACSHA1"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
27: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_hmacWithSHA256:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
ldc "PBKDF2withHMACSHA256"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
28: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_hmacWithSHA512:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
ldc "PBKDF2withHMACSHA512"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
29: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_hmacWithSHA224:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
ldc "PBKDF2withHMACSHA224"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
30: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_hmacWithSHA384:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
ldc "PBKDF2withHMACSHA384"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
31: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS:Ljava/util/Map;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_hmacWithSHA3_224:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
ldc "PBKDF2withHMACSHA3-224"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
32: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS:Ljava/util/Map;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_hmacWithSHA3_256:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
ldc "PBKDF2withHMACSHA3-256"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
33: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS:Ljava/util/Map;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_hmacWithSHA3_384:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
ldc "PBKDF2withHMACSHA3-384"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
34: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS:Ljava/util/Map;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_hmacWithSHA3_512:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
ldc "PBKDF2withHMACSHA3-512"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
35: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS:Ljava/util/Map;
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3411Hmac:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
ldc "PBKDF2withHMACGOST3411"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
36: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS_SALT:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_hmacWithSHA1:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
bipush 20
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
37: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS_SALT:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_hmacWithSHA256:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
bipush 32
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
38: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS_SALT:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_hmacWithSHA512:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
bipush 64
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
39: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS_SALT:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_hmacWithSHA224:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
bipush 28
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
40: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS_SALT:Ljava/util/Map;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_hmacWithSHA384:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
bipush 48
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
41: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS_SALT:Ljava/util/Map;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_hmacWithSHA3_224:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
bipush 28
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
42: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS_SALT:Ljava/util/Map;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_hmacWithSHA3_256:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
bipush 32
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
43: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS_SALT:Ljava/util/Map;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_hmacWithSHA3_384:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
bipush 48
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
44: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS_SALT:Ljava/util/Map;
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_hmacWithSHA3_512:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
bipush 64
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
45: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS_SALT:Ljava/util/Map;
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3411Hmac:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
bipush 32
invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
46: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/openssl/jcajce/PEMUtilities;
static int getKeySize(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.KEYSIZES:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 2
1: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "no key size for algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.KEYSIZES:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 algorithm Ljava/lang/String;
MethodParameters:
Name Flags
algorithm
static int getSaltSize(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS_SALT:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 2
1: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "no salt size for algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS_SALT:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 algorithm Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
MethodParameters:
Name Flags
algorithm
static boolean isHmacSHA1(org.bouncycastle.asn1.x509.AlgorithmIdentifier);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_hmacWithSHA1:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 prf Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
MethodParameters:
Name Flags
prf
static boolean isPKCS5Scheme1(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 algOid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
MethodParameters:
Name Flags
algOid
static boolean isPKCS5Scheme2(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 algOid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
MethodParameters:
Name Flags
algOid
public static boolean isPKCS12(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_12PbeIds:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 algOid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
MethodParameters:
Name Flags
algOid
public static javax.crypto.SecretKey generateSecretKeyForPKCS5Scheme2(org.bouncycastle.jcajce.util.JcaJceHelper, java.lang.String, char[], byte[], int);
descriptor: (Lorg/bouncycastle/jcajce/util/JcaJceHelper;Ljava/lang/String;[C[BI)Ljavax/crypto/SecretKey;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
ldc "PBKDF2with8BIT"
invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createSecretKeyFactory:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
astore 5
start local 5 1: aload 5
new javax.crypto.spec.PBEKeySpec
dup
aload 2
aload 3
iload 4
aload 1
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.getKeySize:(Ljava/lang/String;)I
invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C[BII)V
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
astore 6
start local 6 2: new javax.crypto.spec.SecretKeySpec
dup
aload 6
invokeinterface javax.crypto.SecretKey.getEncoded:()[B
aload 1
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
areturn
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 3 0 helper Lorg/bouncycastle/jcajce/util/JcaJceHelper;
0 3 1 algorithm Ljava/lang/String;
0 3 2 password [C
0 3 3 salt [B
0 3 4 iterationCount I
1 3 5 keyGen Ljavax/crypto/SecretKeyFactory;
2 3 6 sKey Ljavax/crypto/SecretKey;
Exceptions:
throws java.security.NoSuchProviderException, java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
helper
algorithm
password
salt
iterationCount
public static javax.crypto.SecretKey generateSecretKeyForPKCS5Scheme2(org.bouncycastle.jcajce.util.JcaJceHelper, java.lang.String, char[], byte[], int, org.bouncycastle.asn1.x509.AlgorithmIdentifier);
descriptor: (Lorg/bouncycastle/jcajce/util/JcaJceHelper;Ljava/lang/String;[C[BILorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Ljavax/crypto/SecretKey;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
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: getstatic org.bouncycastle.openssl.jcajce.PEMUtilities.PRFS:Ljava/util/Map;
aload 5
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 1: aload 6
ifnonnull 3
2: new java.security.NoSuchAlgorithmException
dup
new java.lang.StringBuilder
dup
ldc "unknown PRF in PKCS#2: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 6
invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createSecretKeyFactory:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
astore 7
start local 7 4: aload 7
new javax.crypto.spec.PBEKeySpec
dup
aload 2
aload 3
iload 4
aload 1
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.getKeySize:(Ljava/lang/String;)I
invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C[BII)V
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
astore 8
start local 8 5: new javax.crypto.spec.SecretKeySpec
dup
aload 8
invokeinterface javax.crypto.SecretKey.getEncoded:()[B
aload 1
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
areturn
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 6 0 helper Lorg/bouncycastle/jcajce/util/JcaJceHelper;
0 6 1 algorithm Ljava/lang/String;
0 6 2 password [C
0 6 3 salt [B
0 6 4 iterationCount I
0 6 5 prf Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
1 6 6 prfName Ljava/lang/String;
4 6 7 keyGen Ljavax/crypto/SecretKeyFactory;
5 6 8 sKey Ljavax/crypto/SecretKey;
Exceptions:
throws java.security.NoSuchProviderException, java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
helper
algorithm
password
salt
iterationCount
prf
static byte[] crypt(boolean, org.bouncycastle.jcajce.util.JcaJceHelper, byte[], char[], java.lang.String, byte[]);
descriptor: (ZLorg/bouncycastle/jcajce/util/JcaJceHelper;[B[CLjava/lang/String;[B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new javax.crypto.spec.IvParameterSpec
dup
aload 5
invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
astore 6
start local 6 1: ldc "CBC"
astore 8
start local 8 2: ldc "PKCS5Padding"
astore 9
start local 9 3: aload 4
ldc "-CFB"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 6
4: ldc "CFB"
astore 8
5: ldc "NoPadding"
astore 9
6: StackMap locals: int org.bouncycastle.jcajce.util.JcaJceHelper byte[] char[] java.lang.String byte[] java.security.spec.AlgorithmParameterSpec top java.lang.String java.lang.String
StackMap stack:
aload 4
ldc "-ECB"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 9
7: ldc "DES-EDE"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
8: ldc "DES-EDE3"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
9: StackMap locals:
StackMap stack:
ldc "ECB"
astore 8
10: aconst_null
astore 6
11: StackMap locals:
StackMap stack:
aload 4
ldc "-OFB"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 14
12: ldc "OFB"
astore 8
13: ldc "NoPadding"
astore 9
14: StackMap locals:
StackMap stack:
aload 4
ldc "DES-EDE"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 21
15: ldc "DESede"
astore 7
start local 7 16: aload 4
ldc "DES-EDE3"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 17
iconst_0
goto 18
StackMap locals: int org.bouncycastle.jcajce.util.JcaJceHelper byte[] char[] java.lang.String byte[] java.security.spec.AlgorithmParameterSpec java.lang.String java.lang.String java.lang.String
StackMap stack:
17: iconst_1
StackMap locals:
StackMap stack: int
18: istore 11
start local 11 19: aload 1
aload 3
aload 7
bipush 24
aload 5
iload 11
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.getKey:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;[CLjava/lang/String;I[BZ)Ljavax/crypto/SecretKey;
astore 10
end local 11 start local 10 20: goto 62
end local 10 end local 7 21: StackMap locals: int org.bouncycastle.jcajce.util.JcaJceHelper byte[] char[] java.lang.String byte[] java.security.spec.AlgorithmParameterSpec top java.lang.String java.lang.String
StackMap stack:
aload 4
ldc "DES-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 25
22: ldc "DES"
astore 7
start local 7 23: aload 1
aload 3
aload 7
bipush 8
aload 5
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.getKey:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;[CLjava/lang/String;I[B)Ljavax/crypto/SecretKey;
astore 10
start local 10 24: goto 62
end local 10 end local 7 25: StackMap locals:
StackMap stack:
aload 4
ldc "BF-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 29
26: ldc "Blowfish"
astore 7
start local 7 27: aload 1
aload 3
aload 7
bipush 16
aload 5
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.getKey:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;[CLjava/lang/String;I[B)Ljavax/crypto/SecretKey;
astore 10
start local 10 28: goto 62
end local 10 end local 7 29: StackMap locals:
StackMap stack:
aload 4
ldc "RC2-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 43
30: ldc "RC2"
astore 7
start local 7 31: sipush 128
istore 11
start local 11 32: aload 4
ldc "RC2-40-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 35
33: bipush 40
istore 11
34: goto 37
35: StackMap locals: int org.bouncycastle.jcajce.util.JcaJceHelper byte[] char[] java.lang.String byte[] java.security.spec.AlgorithmParameterSpec java.lang.String java.lang.String java.lang.String top int
StackMap stack:
aload 4
ldc "RC2-64-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 37
36: bipush 64
istore 11
37: StackMap locals:
StackMap stack:
aload 1
aload 3
aload 7
iload 11
bipush 8
idiv
aload 5
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.getKey:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;[CLjava/lang/String;I[B)Ljavax/crypto/SecretKey;
astore 10
start local 10 38: aload 6
ifnonnull 41
39: new javax.crypto.spec.RC2ParameterSpec
dup
iload 11
invokespecial javax.crypto.spec.RC2ParameterSpec.<init>:(I)V
astore 6
40: goto 62
41: StackMap locals: int org.bouncycastle.jcajce.util.JcaJceHelper byte[] char[] java.lang.String byte[] java.security.spec.AlgorithmParameterSpec java.lang.String java.lang.String java.lang.String java.security.Key int
StackMap stack:
new javax.crypto.spec.RC2ParameterSpec
dup
iload 11
aload 5
invokespecial javax.crypto.spec.RC2ParameterSpec.<init>:(I[B)V
astore 6
end local 11 42: goto 62
end local 10 end local 7 43: StackMap locals: int org.bouncycastle.jcajce.util.JcaJceHelper byte[] char[] java.lang.String byte[] java.security.spec.AlgorithmParameterSpec top java.lang.String java.lang.String
StackMap stack:
aload 4
ldc "AES-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 61
44: ldc "AES"
astore 7
start local 7 45: aload 5
astore 11
start local 11 46: aload 11
arraylength
bipush 8
if_icmple 49
47: bipush 8
newarray 8
astore 11
48: aload 5
iconst_0
aload 11
iconst_0
bipush 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
49: StackMap locals: int org.bouncycastle.jcajce.util.JcaJceHelper byte[] char[] java.lang.String byte[] java.security.spec.AlgorithmParameterSpec java.lang.String java.lang.String java.lang.String top byte[]
StackMap stack:
aload 4
ldc "AES-128-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 52
50: sipush 128
istore 12
start local 12 51: goto 59
end local 12 52: StackMap locals:
StackMap stack:
aload 4
ldc "AES-192-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 55
53: sipush 192
istore 12
start local 12 54: goto 59
end local 12 55: StackMap locals:
StackMap stack:
aload 4
ldc "AES-256-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 58
56: sipush 256
istore 12
start local 12 57: goto 59
end local 12 58: StackMap locals:
StackMap stack:
new org.bouncycastle.openssl.EncryptionException
dup
ldc "unknown AES encryption with private key"
invokespecial org.bouncycastle.openssl.EncryptionException.<init>:(Ljava/lang/String;)V
athrow
start local 12 59: StackMap locals: int
StackMap stack:
aload 1
aload 3
ldc "AES"
iload 12
bipush 8
idiv
aload 11
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.getKey:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;[CLjava/lang/String;I[B)Ljavax/crypto/SecretKey;
astore 10
end local 12 end local 11 start local 10 60: goto 62
end local 10 end local 7 61: StackMap locals: int org.bouncycastle.jcajce.util.JcaJceHelper byte[] char[] java.lang.String byte[] java.security.spec.AlgorithmParameterSpec top java.lang.String java.lang.String
StackMap stack:
new org.bouncycastle.openssl.EncryptionException
dup
ldc "unknown encryption with private key"
invokespecial org.bouncycastle.openssl.EncryptionException.<init>:(Ljava/lang/String;)V
athrow
start local 7 start local 10 62: StackMap locals: int org.bouncycastle.jcajce.util.JcaJceHelper byte[] char[] java.lang.String byte[] java.security.spec.AlgorithmParameterSpec java.lang.String java.lang.String java.lang.String java.security.Key
StackMap stack:
new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
start local 11 63: aload 1
aload 11
invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createCipher:(Ljava/lang/String;)Ljavax/crypto/Cipher;
astore 12
start local 12 64: iload 0
ifeq 65
iconst_1
goto 66
StackMap locals: java.lang.String javax.crypto.Cipher
StackMap stack:
65: iconst_2
StackMap locals:
StackMap stack: int
66: istore 13
start local 13 67: aload 6
ifnonnull 70
68: aload 12
iload 13
aload 10
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
69: goto 71
70: StackMap locals: int
StackMap stack:
aload 12
iload 13
aload 10
aload 6
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
71: StackMap locals:
StackMap stack:
aload 12
aload 2
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
72: areturn
end local 13 end local 12 73: StackMap locals: int org.bouncycastle.jcajce.util.JcaJceHelper byte[] char[] java.lang.String byte[] java.security.spec.AlgorithmParameterSpec java.lang.String java.lang.String java.lang.String java.security.Key java.lang.String
StackMap stack: java.lang.Exception
astore 12
start local 12 74: new org.bouncycastle.openssl.EncryptionException
dup
ldc "exception using cipher - please check password and data."
aload 12
invokespecial org.bouncycastle.openssl.EncryptionException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
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 75 0 encrypt Z
0 75 1 helper Lorg/bouncycastle/jcajce/util/JcaJceHelper;
0 75 2 bytes [B
0 75 3 password [C
0 75 4 dekAlgName Ljava/lang/String;
0 75 5 iv [B
1 75 6 paramSpec Ljava/security/spec/AlgorithmParameterSpec;
16 21 7 alg Ljava/lang/String;
23 25 7 alg Ljava/lang/String;
27 29 7 alg Ljava/lang/String;
31 43 7 alg Ljava/lang/String;
45 61 7 alg Ljava/lang/String;
62 75 7 alg Ljava/lang/String;
2 75 8 blockMode Ljava/lang/String;
3 75 9 padding Ljava/lang/String;
20 21 10 sKey Ljava/security/Key;
24 25 10 sKey Ljava/security/Key;
28 29 10 sKey Ljava/security/Key;
38 43 10 sKey Ljava/security/Key;
60 61 10 sKey Ljava/security/Key;
62 75 10 sKey Ljava/security/Key;
19 20 11 des2 Z
32 42 11 keyBits I
46 60 11 salt [B
51 52 12 keyBits I
54 55 12 keyBits I
57 58 12 keyBits I
59 60 12 keyBits I
63 75 11 transformation Ljava/lang/String;
64 73 12 c Ljavax/crypto/Cipher;
67 73 13 mode I
74 75 12 e Ljava/lang/Exception;
Exception table:
from to target type
63 72 73 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.openssl.PEMException
MethodParameters:
Name Flags
encrypt
helper
bytes
password
dekAlgName
iv
private static javax.crypto.SecretKey getKey(org.bouncycastle.jcajce.util.JcaJceHelper, char[], java.lang.String, int, byte[]);
descriptor: (Lorg/bouncycastle/jcajce/util/JcaJceHelper;[CLjava/lang/String;I[B)Ljavax/crypto/SecretKey;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
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
aload 1
aload 2
iload 3
aload 4
iconst_0
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.getKey:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;[CLjava/lang/String;I[BZ)Ljavax/crypto/SecretKey;
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 helper Lorg/bouncycastle/jcajce/util/JcaJceHelper;
0 1 1 password [C
0 1 2 algorithm Ljava/lang/String;
0 1 3 keyLength I
0 1 4 salt [B
Exceptions:
throws org.bouncycastle.openssl.PEMException
MethodParameters:
Name Flags
helper
password
algorithm
keyLength
salt
private static javax.crypto.SecretKey getKey(org.bouncycastle.jcajce.util.JcaJceHelper, char[], java.lang.String, int, byte[], boolean);
descriptor: (Lorg/bouncycastle/jcajce/util/JcaJceHelper;[CLjava/lang/String;I[BZ)Ljavax/crypto/SecretKey;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
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: new javax.crypto.spec.PBEKeySpec
dup
aload 1
aload 4
iconst_1
iload 3
bipush 8
imul
invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C[BII)V
astore 6
start local 6 1: aload 0
ldc "PBKDF-OpenSSL"
invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createSecretKeyFactory:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
astore 7
start local 7 2: aload 7
aload 6
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
invokeinterface javax.crypto.SecretKey.getEncoded:()[B
astore 8
start local 8 3: iload 5
ifeq 5
aload 8
arraylength
bipush 24
if_icmplt 5
4: aload 8
iconst_0
aload 8
bipush 16
bipush 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: StackMap locals: javax.crypto.spec.PBEKeySpec javax.crypto.SecretKeyFactory byte[]
StackMap stack:
new javax.crypto.spec.SecretKeySpec
dup
aload 8
aload 2
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
6: areturn
end local 8 end local 7 end local 6 7: StackMap locals: org.bouncycastle.jcajce.util.JcaJceHelper char[] java.lang.String int byte[] int
StackMap stack: java.security.GeneralSecurityException
astore 6
start local 6 8: new org.bouncycastle.openssl.PEMException
dup
new java.lang.StringBuilder
dup
ldc "Unable to create OpenSSL PBDKF: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
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;
aload 6
invokespecial org.bouncycastle.openssl.PEMException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
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 9 0 helper Lorg/bouncycastle/jcajce/util/JcaJceHelper;
0 9 1 password [C
0 9 2 algorithm Ljava/lang/String;
0 9 3 keyLength I
0 9 4 salt [B
0 9 5 des2 Z
1 7 6 spec Ljavax/crypto/spec/PBEKeySpec;
2 7 7 keyFactory Ljavax/crypto/SecretKeyFactory;
3 7 8 key [B
8 9 6 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
0 6 7 Class java.security.GeneralSecurityException
Exceptions:
throws org.bouncycastle.openssl.PEMException
MethodParameters:
Name Flags
helper
password
algorithm
keyLength
salt
des2
}
SourceFile: "PEMUtilities.java"