class org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 implements org.bouncycastle.operator.InputDecryptorProvider
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1
super_class: java.lang.Object
{
private javax.crypto.Cipher cipher;
descriptor: Ljavax/crypto/Cipher;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.x509.AlgorithmIdentifier encryptionAlg;
descriptor: Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
flags: (0x0002) ACC_PRIVATE
final org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder this$0;
descriptor: Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final char[] val$password;
descriptor: [C
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder, char[]);
descriptor: (Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;[C)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 this
0: .line 90
aload 0 /* this */
aload 1
putfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
aload 0 /* this */
aload 2
putfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.val$password:[C
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder$1;
MethodParameters:
Name Flags
this$0 final
val$password final
public org.bouncycastle.operator.InputDecryptor get(org.bouncycastle.asn1.x509.AlgorithmIdentifier);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/operator/InputDecryptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=8, args_size=2
start local 0 // org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 this
start local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier algorithmIdentifier
0: .line 99
aload 1 /* algorithmIdentifier */
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
astore 3 /* algorithm */
start local 3 // org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm
1: .line 103
aload 3 /* algorithm */
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_12PbeIds:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.on:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
ifeq 7
2: .line 105
aload 1 /* algorithmIdentifier */
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;
astore 4 /* pbeParams */
start local 4 // org.bouncycastle.asn1.pkcs.PKCS12PBEParams pbeParams
3: .line 107
aload 0 /* this */
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
aload 3 /* algorithm */
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.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
4: .line 109
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
iconst_2
new org.bouncycastle.jcajce.PKCS12KeyWithParameters
dup
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.val$password:[C
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.wrongPKCS12Zero:Z
aload 4 /* pbeParams */
invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getIV:()[B
aload 4 /* pbeParams */
invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getIterations:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
invokespecial org.bouncycastle.jcajce.PKCS12KeyWithParameters.<init>:([CZ[BI)V
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
5: .line 111
aload 0 /* this */
aload 1 /* algorithmIdentifier */
putfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.encryptionAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
end local 4 // org.bouncycastle.asn1.pkcs.PKCS12PBEParams pbeParams
6: .line 112
goto 45
7: .line 113
StackMap locals: org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 org.bouncycastle.asn1.x509.AlgorithmIdentifier top org.bouncycastle.asn1.ASN1ObjectIdentifier
StackMap stack:
aload 3 /* algorithm */
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBES2:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 34
8: .line 115
aload 1 /* algorithmIdentifier */
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.pkcs.PBES2Parameters.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/PBES2Parameters;
astore 4 /* alg */
start local 4 // org.bouncycastle.asn1.pkcs.PBES2Parameters alg
9: .line 117
getstatic org.bouncycastle.asn1.misc.MiscObjectIdentifiers.id_scrypt:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 4 /* alg */
invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getKeyDerivationFunc:()Lorg/bouncycastle/asn1/pkcs/KeyDerivationFunc;
invokevirtual org.bouncycastle.asn1.pkcs.KeyDerivationFunc.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 18
10: .line 119
aload 4 /* alg */
invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getKeyDerivationFunc:()Lorg/bouncycastle/asn1/pkcs/KeyDerivationFunc;
invokevirtual org.bouncycastle.asn1.pkcs.KeyDerivationFunc.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.misc.ScryptParams.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/misc/ScryptParams;
astore 5 /* params */
start local 5 // org.bouncycastle.asn1.misc.ScryptParams params
11: .line 120
aload 4 /* alg */
invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getEncryptionScheme:()Lorg/bouncycastle/asn1/pkcs/EncryptionScheme;
invokestatic org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
astore 6 /* encScheme */
start local 6 // org.bouncycastle.asn1.x509.AlgorithmIdentifier encScheme
12: .line 122
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
ldc "SCRYPT"
invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createSecretKeyFactory:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
astore 7 /* keyFact */
start local 7 // javax.crypto.SecretKeyFactory keyFact
13: .line 124
aload 7 /* keyFact */
new org.bouncycastle.jcajce.spec.ScryptKeySpec
dup
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.val$password:[C
14: .line 125
aload 5 /* params */
invokevirtual org.bouncycastle.asn1.misc.ScryptParams.getSalt:()[B
aload 5 /* params */
invokevirtual org.bouncycastle.asn1.misc.ScryptParams.getCostParameter:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
aload 5 /* params */
invokevirtual org.bouncycastle.asn1.misc.ScryptParams.getBlockSize:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
15: .line 126
aload 5 /* params */
invokevirtual org.bouncycastle.asn1.misc.ScryptParams.getParallelizationParameter:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.keySizeProvider:Lorg/bouncycastle/operator/SecretKeySizeProvider;
aload 6 /* encScheme */
invokeinterface org.bouncycastle.operator.SecretKeySizeProvider.getKeySize:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)I
invokespecial org.bouncycastle.jcajce.spec.ScryptKeySpec.<init>:([C[BIIII)V
16: .line 124
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
astore 2 /* key */
end local 7 // javax.crypto.SecretKeyFactory keyFact
end local 6 // org.bouncycastle.asn1.x509.AlgorithmIdentifier encScheme
end local 5 // org.bouncycastle.asn1.misc.ScryptParams params
start local 2 // javax.crypto.SecretKey key
17: .line 127
goto 25
end local 2 // javax.crypto.SecretKey key
18: .line 130
StackMap locals: org.bouncycastle.asn1.pkcs.PBES2Parameters
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
aload 4 /* alg */
invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getKeyDerivationFunc:()Lorg/bouncycastle/asn1/pkcs/KeyDerivationFunc;
invokevirtual org.bouncycastle.asn1.pkcs.KeyDerivationFunc.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createSecretKeyFactory:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
astore 5 /* keyFact */
start local 5 // javax.crypto.SecretKeyFactory keyFact
19: .line 131
aload 4 /* alg */
invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getKeyDerivationFunc:()Lorg/bouncycastle/asn1/pkcs/KeyDerivationFunc;
invokevirtual org.bouncycastle.asn1.pkcs.KeyDerivationFunc.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.pkcs.PBKDF2Params.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/PBKDF2Params;
astore 6 /* func */
start local 6 // org.bouncycastle.asn1.pkcs.PBKDF2Params func
20: .line 132
aload 4 /* alg */
invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getEncryptionScheme:()Lorg/bouncycastle/asn1/pkcs/EncryptionScheme;
invokestatic org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
astore 7 /* encScheme */
start local 7 // org.bouncycastle.asn1.x509.AlgorithmIdentifier encScheme
21: .line 134
aload 6 /* func */
invokevirtual org.bouncycastle.asn1.pkcs.PBKDF2Params.isDefaultPrf:()Z
ifeq 24
22: .line 136
aload 5 /* keyFact */
new javax.crypto.spec.PBEKeySpec
dup
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.val$password:[C
aload 6 /* func */
invokevirtual org.bouncycastle.asn1.pkcs.PBKDF2Params.getSalt:()[B
aload 6 /* func */
invokevirtual org.bouncycastle.asn1.pkcs.PBKDF2Params.getIterationCount:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.keySizeProvider:Lorg/bouncycastle/operator/SecretKeySizeProvider;
aload 7 /* encScheme */
invokeinterface org.bouncycastle.operator.SecretKeySizeProvider.getKeySize:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)I
invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C[BII)V
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
astore 2 /* key */
start local 2 // javax.crypto.SecretKey key
23: .line 137
goto 25
end local 2 // javax.crypto.SecretKey key
24: .line 140
StackMap locals: javax.crypto.SecretKeyFactory org.bouncycastle.asn1.pkcs.PBKDF2Params org.bouncycastle.asn1.x509.AlgorithmIdentifier
StackMap stack:
aload 5 /* keyFact */
new org.bouncycastle.jcajce.spec.PBKDF2KeySpec
dup
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.val$password:[C
aload 6 /* func */
invokevirtual org.bouncycastle.asn1.pkcs.PBKDF2Params.getSalt:()[B
aload 6 /* func */
invokevirtual org.bouncycastle.asn1.pkcs.PBKDF2Params.getIterationCount:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.keySizeProvider:Lorg/bouncycastle/operator/SecretKeySizeProvider;
aload 7 /* encScheme */
invokeinterface org.bouncycastle.operator.SecretKeySizeProvider.getKeySize:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)I
aload 6 /* func */
invokevirtual org.bouncycastle.asn1.pkcs.PBKDF2Params.getPrf:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokespecial org.bouncycastle.jcajce.spec.PBKDF2KeySpec.<init>:([C[BIILorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
astore 2 /* key */
end local 7 // org.bouncycastle.asn1.x509.AlgorithmIdentifier encScheme
end local 6 // org.bouncycastle.asn1.pkcs.PBKDF2Params func
end local 5 // javax.crypto.SecretKeyFactory keyFact
start local 2 // javax.crypto.SecretKey key
25: .line 144
StackMap locals: org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 org.bouncycastle.asn1.x509.AlgorithmIdentifier javax.crypto.SecretKey org.bouncycastle.asn1.ASN1ObjectIdentifier org.bouncycastle.asn1.pkcs.PBES2Parameters
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
aload 4 /* alg */
invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getEncryptionScheme:()Lorg/bouncycastle/asn1/pkcs/EncryptionScheme;
invokevirtual org.bouncycastle.asn1.pkcs.EncryptionScheme.getAlgorithm:()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.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
26: .line 146
aload 0 /* this */
aload 4 /* alg */
invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getEncryptionScheme:()Lorg/bouncycastle/asn1/pkcs/EncryptionScheme;
invokestatic org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
putfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.encryptionAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
27: .line 148
aload 4 /* alg */
invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getEncryptionScheme:()Lorg/bouncycastle/asn1/pkcs/EncryptionScheme;
invokevirtual org.bouncycastle.asn1.pkcs.EncryptionScheme.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
astore 5 /* encParams */
start local 5 // org.bouncycastle.asn1.ASN1Encodable encParams
28: .line 149
aload 5 /* encParams */
instanceof org.bouncycastle.asn1.ASN1OctetString
ifeq 31
29: .line 151
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
iconst_2
aload 2 /* key */
new javax.crypto.spec.IvParameterSpec
dup
aload 5 /* encParams */
invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
30: .line 152
goto 45
31: .line 156
StackMap locals: org.bouncycastle.asn1.ASN1Encodable
StackMap stack:
aload 5 /* encParams */
invokestatic org.bouncycastle.asn1.cryptopro.GOST28147Parameters.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cryptopro/GOST28147Parameters;
astore 6 /* gParams */
start local 6 // org.bouncycastle.asn1.cryptopro.GOST28147Parameters gParams
32: .line 158
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
iconst_2
aload 2 /* key */
new org.bouncycastle.jcajce.spec.GOST28147ParameterSpec
dup
aload 6 /* gParams */
invokevirtual org.bouncycastle.asn1.cryptopro.GOST28147Parameters.getEncryptionParamSet:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 6 /* gParams */
invokevirtual org.bouncycastle.asn1.cryptopro.GOST28147Parameters.getIV:()[B
invokespecial org.bouncycastle.jcajce.spec.GOST28147ParameterSpec.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;[B)V
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
end local 6 // org.bouncycastle.asn1.cryptopro.GOST28147Parameters gParams
end local 5 // org.bouncycastle.asn1.ASN1Encodable encParams
end local 4 // org.bouncycastle.asn1.pkcs.PBES2Parameters alg
33: .line 160
goto 45
end local 2 // javax.crypto.SecretKey key
34: .line 161
StackMap locals: org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 org.bouncycastle.asn1.x509.AlgorithmIdentifier top org.bouncycastle.asn1.ASN1ObjectIdentifier
StackMap stack:
aload 3 /* algorithm */
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithMD5AndDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifne 36
35: .line 162
aload 3 /* algorithm */
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHA1AndDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 42
36: .line 164
StackMap locals:
StackMap stack:
aload 1 /* algorithmIdentifier */
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.pkcs.PBEParameter.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/PBEParameter;
astore 4 /* pbeParams */
start local 4 // org.bouncycastle.asn1.pkcs.PBEParameter pbeParams
37: .line 166
aload 0 /* this */
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
aload 3 /* algorithm */
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.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
38: .line 168
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
iconst_2
new org.bouncycastle.jcajce.PBKDF1Key
dup
aload 0 /* this */
getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.val$password:[C
getstatic org.bouncycastle.crypto.PasswordConverter.ASCII:Lorg/bouncycastle/crypto/PasswordConverter;
invokespecial org.bouncycastle.jcajce.PBKDF1Key.<init>:([CLorg/bouncycastle/crypto/CharToByteConverter;)V
39: .line 169
new javax.crypto.spec.PBEParameterSpec
dup
aload 4 /* pbeParams */
invokevirtual org.bouncycastle.asn1.pkcs.PBEParameter.getSalt:()[B
aload 4 /* pbeParams */
invokevirtual org.bouncycastle.asn1.pkcs.PBEParameter.getIterationCount:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
40: .line 168
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
end local 4 // org.bouncycastle.asn1.pkcs.PBEParameter pbeParams
41: .line 170
goto 45
42: .line 173
StackMap locals:
StackMap stack:
new org.bouncycastle.operator.OperatorCreationException
dup
new java.lang.StringBuilder
dup
ldc "unable to create InputDecryptor: algorithm "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* algorithm */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " unknown."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;)V
athrow
43: .line 176
StackMap locals:
StackMap stack: java.lang.Exception
astore 4 /* e */
start local 4 // java.lang.Exception e
44: .line 178
new org.bouncycastle.operator.OperatorCreationException
dup
new java.lang.StringBuilder
dup
ldc "unable to create InputDecryptor: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4 /* e */
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4 /* e */
invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 // java.lang.Exception e
45: .line 181
StackMap locals:
StackMap stack:
new org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1$1
dup
aload 0 /* this */
invokespecial org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1$1.<init>:(Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder$1;)V
areturn
end local 3 // org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm
end local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier algorithmIdentifier
end local 0 // org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 this
LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder$1;
0 46 1 algorithmIdentifier Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
17 18 2 key Ljavax/crypto/SecretKey;
23 24 2 key Ljavax/crypto/SecretKey;
25 34 2 key Ljavax/crypto/SecretKey;
1 46 3 algorithm Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
3 6 4 pbeParams Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;
9 33 4 alg Lorg/bouncycastle/asn1/pkcs/PBES2Parameters;
11 17 5 params Lorg/bouncycastle/asn1/misc/ScryptParams;
12 17 6 encScheme Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
13 17 7 keyFact Ljavax/crypto/SecretKeyFactory;
19 25 5 keyFact Ljavax/crypto/SecretKeyFactory;
20 25 6 func Lorg/bouncycastle/asn1/pkcs/PBKDF2Params;
21 25 7 encScheme Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
28 33 5 encParams Lorg/bouncycastle/asn1/ASN1Encodable;
32 33 6 gParams Lorg/bouncycastle/asn1/cryptopro/GOST28147Parameters;
37 41 4 pbeParams Lorg/bouncycastle/asn1/pkcs/PBEParameter;
44 45 4 e Ljava/lang/Exception;
Exception table:
from to target type
1 43 43 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.operator.OperatorCreationException
MethodParameters:
Name Flags
algorithmIdentifier final
}
SourceFile: "JcePKCSPBEInputDecryptorProviderBuilder.java"
EnclosingMethod: org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.build:([C)Lorg/bouncycastle/operator/InputDecryptorProvider;
NestHost: org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder
InnerClasses:
org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1
org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1$1