public class org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder
super_class: java.lang.Object
{
public static final java.lang.String AES_128_CBC;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String AES_192_CBC;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String AES_256_CBC;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String DES3_CBC;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String PBE_SHA1_RC4_128;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String PBE_SHA1_RC4_40;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String PBE_SHA1_3DES;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String PBE_SHA1_2DES;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String PBE_SHA1_RC2_128;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String PBE_SHA1_RC2_40;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private org.bouncycastle.jcajce.util.JcaJceHelper helper;
descriptor: Lorg/bouncycastle/jcajce/util/JcaJceHelper;
flags: (0x0002) ACC_PRIVATE
private java.security.AlgorithmParameters params;
descriptor: Ljava/security/AlgorithmParameters;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.ASN1ObjectIdentifier algOID;
descriptor: Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
flags: (0x0002) ACC_PRIVATE
byte[] salt;
descriptor: [B
flags: (0x0000)
int iterationCount;
descriptor: I
flags: (0x0000)
private javax.crypto.Cipher cipher;
descriptor: Ljavax/crypto/Cipher;
flags: (0x0002) ACC_PRIVATE
private java.security.SecureRandom random;
descriptor: Ljava/security/SecureRandom;
flags: (0x0002) ACC_PRIVATE
private java.security.AlgorithmParameterGenerator paramGen;
descriptor: Ljava/security/AlgorithmParameterGenerator;
flags: (0x0002) ACC_PRIVATE
private char[] password;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private javax.crypto.SecretKey key;
descriptor: Ljavax/crypto/SecretKey;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.x509.AlgorithmIdentifier prf;
descriptor: Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes128_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.AES_128_CBC:Ljava/lang/String;
1: getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes192_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.AES_192_CBC:Ljava/lang/String;
2: getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes256_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.AES_256_CBC:Ljava/lang/String;
3: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.des_EDE3_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.DES3_CBC:Ljava/lang/String;
4: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHAAnd128BitRC4:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.PBE_SHA1_RC4_128:Ljava/lang/String;
5: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHAAnd40BitRC4:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.PBE_SHA1_RC4_40:Ljava/lang/String;
6: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHAAnd3_KeyTripleDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.PBE_SHA1_3DES:Ljava/lang/String;
7: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHAAnd2_KeyTripleDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.PBE_SHA1_2DES:Ljava/lang/String;
8: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHAAnd128BitRC2_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.PBE_SHA1_RC2_128:Ljava/lang/String;
9: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHAAnd40BitRC2_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.PBE_SHA1_RC2_40:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.bouncycastle.jcajce.util.DefaultJcaJceHelper
dup
invokespecial org.bouncycastle.jcajce.util.DefaultJcaJceHelper.<init>:()V
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
2: aload 0
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_hmacWithSHA1:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
getstatic org.bouncycastle.asn1.DERNull.INSTANCE:Lorg/bouncycastle/asn1/DERNull;
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.prf:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
3: aload 0
aload 1
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.algOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
4: aload 0
sipush 2048
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.iterationCount:I
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
0 6 1 algorithm Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
MethodParameters:
Name Flags
algorithm
public org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder setRandom(java.security.SecureRandom);
descriptor: (Ljava/security/SecureRandom;)Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.random:Ljava/security/SecureRandom;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
0 2 1 random Ljava/security/SecureRandom;
MethodParameters:
Name Flags
random
public org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder setPasssword(char[]);
descriptor: ([C)Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.password:[C
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
0 2 1 password [C
MethodParameters:
Name Flags
password
public org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder setPRF(org.bouncycastle.asn1.x509.AlgorithmIdentifier);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.prf:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
0 2 1 prf Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
MethodParameters:
Name Flags
prf
public org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder setIterationCount(int);
descriptor: (I)Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.iterationCount:I
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
0 2 1 iterationCount I
MethodParameters:
Name Flags
iterationCount
public org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder setProvider(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.bouncycastle.jcajce.util.NamedJcaJceHelper
dup
aload 1
invokespecial org.bouncycastle.jcajce.util.NamedJcaJceHelper.<init>:(Ljava/lang/String;)V
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
0 2 1 providerName Ljava/lang/String;
MethodParameters:
Name Flags
providerName
public org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder setProvider(java.security.Provider);
descriptor: (Ljava/security/Provider;)Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.bouncycastle.jcajce.util.ProviderJcaJceHelper
dup
aload 1
invokespecial org.bouncycastle.jcajce.util.ProviderJcaJceHelper.<init>:(Ljava/security/Provider;)V
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
0 2 1 provider Ljava/security/Provider;
MethodParameters:
Name Flags
provider
public org.bouncycastle.operator.OutputEncryptor build();
descriptor: ()Lorg/bouncycastle/operator/OutputEncryptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.random:Ljava/security/SecureRandom;
ifnonnull 2
1: aload 0
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.random:Ljava/security/SecureRandom;
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.algOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createCipher:(Ljava/lang/String;)Ljavax/crypto/Cipher;
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.cipher:Ljavax/crypto/Cipher;
3: aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.algOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.isPKCS5Scheme2:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
ifeq 8
4: aload 0
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.algOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createAlgorithmParameterGenerator:(Ljava/lang/String;)Ljava/security/AlgorithmParameterGenerator;
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.paramGen:Ljava/security/AlgorithmParameterGenerator;
5: goto 8
6: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 2
start local 2 7: new org.bouncycastle.operator.OperatorCreationException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.algOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " not available: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
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 2
invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 8: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.algOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.isPKCS5Scheme2:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
ifeq 29
9: aload 0
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.prf:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.getSaltSize:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)I
newarray 8
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.salt:[B
10: aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.random:Ljava/security/SecureRandom;
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.salt:[B
invokevirtual java.security.SecureRandom.nextBytes:([B)V
11: aload 0
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.paramGen:Ljava/security/AlgorithmParameterGenerator;
invokevirtual java.security.AlgorithmParameterGenerator.generateParameters:()Ljava/security/AlgorithmParameters;
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.params:Ljava/security/AlgorithmParameters;
12: new org.bouncycastle.asn1.pkcs.EncryptionScheme
dup
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.algOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.params:Ljava/security/AlgorithmParameters;
invokevirtual java.security.AlgorithmParameters.getEncoded:()[B
invokestatic org.bouncycastle.asn1.ASN1Primitive.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Primitive;
invokespecial org.bouncycastle.asn1.pkcs.EncryptionScheme.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
astore 2
start local 2 13: new org.bouncycastle.asn1.pkcs.KeyDerivationFunc
dup
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBKDF2:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
new org.bouncycastle.asn1.pkcs.PBKDF2Params
dup
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.salt:[B
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.iterationCount:I
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.prf:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokespecial org.bouncycastle.asn1.pkcs.PBKDF2Params.<init>:([BILorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
invokespecial org.bouncycastle.asn1.pkcs.KeyDerivationFunc.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
astore 3
start local 3 14: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 4
start local 4 15: aload 4
aload 3
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
16: aload 4
aload 2
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
17: new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBES2:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
new org.bouncycastle.asn1.DERSequence
dup
aload 4
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokestatic org.bouncycastle.asn1.pkcs.PBES2Parameters.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/PBES2Parameters;
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
astore 1
end local 4 end local 3 end local 2 start local 1 18: goto 21
end local 1 19: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 20: new org.bouncycastle.operator.OperatorCreationException
dup
aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 2
invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 start local 1 21: StackMap locals: org.bouncycastle.asn1.x509.AlgorithmIdentifier
StackMap stack:
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.prf:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.isHmacSHA1:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Z
ifeq 24
22: aload 0
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.algOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.password:[C
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.salt:[B
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.iterationCount:I
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.generateSecretKeyForPKCS5Scheme2:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;Ljava/lang/String;[C[BI)Ljavax/crypto/SecretKey;
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.key:Ljavax/crypto/SecretKey;
23: goto 25
24: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.algOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.password:[C
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.salt:[B
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.iterationCount:I
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.prf:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.generateSecretKeyForPKCS5Scheme2:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;Ljava/lang/String;[C[BILorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Ljavax/crypto/SecretKey;
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.key:Ljavax/crypto/SecretKey;
25: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.cipher:Ljavax/crypto/Cipher;
iconst_1
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.key:Ljavax/crypto/SecretKey;
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.params:Ljava/security/AlgorithmParameters;
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
26: goto 41
27: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 2
start local 2 28: new org.bouncycastle.operator.OperatorCreationException
dup
aload 2
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
aload 2
invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 29: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.algOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokestatic org.bouncycastle.openssl.jcajce.PEMUtilities.isPKCS12:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
ifeq 40
30: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 2
start local 2 31: aload 0
bipush 20
newarray 8
putfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.salt:[B
32: aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.random:Ljava/security/SecureRandom;
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.salt:[B
invokevirtual java.security.SecureRandom.nextBytes:([B)V
33: aload 2
new org.bouncycastle.asn1.DEROctetString
dup
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.salt:[B
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
34: aload 2
new org.bouncycastle.asn1.ASN1Integer
dup
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.iterationCount:I
i2l
invokespecial org.bouncycastle.asn1.ASN1Integer.<init>:(J)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
35: new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.algOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
new org.bouncycastle.asn1.DERSequence
dup
aload 2
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokestatic org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
astore 1
start local 1 36: aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.cipher:Ljavax/crypto/Cipher;
iconst_1
new org.bouncycastle.jcajce.PKCS12KeyWithParameters
dup
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.password:[C
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.salt:[B
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.iterationCount:I
invokespecial org.bouncycastle.jcajce.PKCS12KeyWithParameters.<init>:([C[BI)V
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
37: goto 41
38: StackMap locals: org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder org.bouncycastle.asn1.x509.AlgorithmIdentifier org.bouncycastle.asn1.ASN1EncodableVector
StackMap stack: java.security.GeneralSecurityException
astore 3
start local 3 39: new org.bouncycastle.operator.OperatorCreationException
dup
aload 3
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
aload 3
invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 40: StackMap locals:
StackMap stack:
new org.bouncycastle.operator.OperatorCreationException
dup
new java.lang.StringBuilder
dup
ldc "unknown algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.algOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
start local 1 41: StackMap locals: org.bouncycastle.asn1.x509.AlgorithmIdentifier
StackMap stack:
new org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder$1
dup
aload 0
aload 1
invokespecial org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder$1.<init>:(Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lorg/bouncycastle/openssl/jcajce/JceOpenSSLPKCS8EncryptorBuilder;
18 19 1 algID Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
21 29 1 algID Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
36 40 1 algID Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
41 42 1 algID Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
7 8 2 e Ljava/security/GeneralSecurityException;
13 18 2 scheme Lorg/bouncycastle/asn1/pkcs/EncryptionScheme;
14 18 3 func Lorg/bouncycastle/asn1/pkcs/KeyDerivationFunc;
15 18 4 v Lorg/bouncycastle/asn1/ASN1EncodableVector;
20 21 2 e Ljava/io/IOException;
28 29 2 e Ljava/security/GeneralSecurityException;
31 40 2 v Lorg/bouncycastle/asn1/ASN1EncodableVector;
39 40 3 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
2 5 6 Class java.security.GeneralSecurityException
12 18 19 Class java.io.IOException
21 26 27 Class java.security.GeneralSecurityException
36 37 38 Class java.security.GeneralSecurityException
Exceptions:
throws org.bouncycastle.operator.OperatorCreationException
}
SourceFile: "JceOpenSSLPKCS8EncryptorBuilder.java"
NestMembers:
org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder$1
InnerClasses:
org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder$1