class org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1 implements org.bouncycastle.operator.InputDecryptorProvider
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$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.operator.jcajce.JceInputDecryptorProviderBuilder this$0;
descriptor: Lorg/bouncycastle/operator/jcajce/JceInputDecryptorProviderBuilder;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final byte[] val$encKeyBytes;
descriptor: [B
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder, byte[]);
descriptor: (Lorg/bouncycastle/operator/jcajce/JceInputDecryptorProviderBuilder;[B)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1 this
0: .line 62
aload 0 /* this */
aload 1
putfield org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/operator/jcajce/JceInputDecryptorProviderBuilder;
aload 0 /* this */
aload 2
putfield org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1.val$encKeyBytes:[B
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/operator/jcajce/JceInputDecryptorProviderBuilder$1;
MethodParameters:
Name Flags
this$0 final
val$encKeyBytes 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=7, locals=6, args_size=2
start local 0 // org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1 this
start local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier algorithmIdentifier
0: .line 70
aload 0 /* this */
aload 1 /* algorithmIdentifier */
putfield org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1.encryptionAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
1: .line 72
aload 1 /* algorithmIdentifier */
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
astore 2 /* algorithm */
start local 2 // org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm
2: .line 76
aload 0 /* this */
aload 0 /* this */
getfield org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/operator/jcajce/JceInputDecryptorProviderBuilder;
getfield org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
aload 2 /* 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.operator.jcajce.JceInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
3: .line 77
new javax.crypto.spec.SecretKeySpec
dup
aload 0 /* this */
getfield org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1.val$encKeyBytes:[B
aload 2 /* algorithm */
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
astore 3 /* key */
start local 3 // javax.crypto.SecretKey key
4: .line 79
aload 1 /* algorithmIdentifier */
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
astore 4 /* encParams */
start local 4 // org.bouncycastle.asn1.ASN1Encodable encParams
5: .line 81
aload 4 /* encParams */
instanceof org.bouncycastle.asn1.ASN1OctetString
ifeq 8
6: .line 83
aload 0 /* this */
getfield org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
iconst_2
aload 3 /* key */
new javax.crypto.spec.IvParameterSpec
dup
aload 4 /* 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
7: .line 84
goto 13
8: .line 88
StackMap locals: org.bouncycastle.asn1.ASN1ObjectIdentifier javax.crypto.SecretKey org.bouncycastle.asn1.ASN1Encodable
StackMap stack:
aload 4 /* encParams */
invokestatic org.bouncycastle.asn1.cryptopro.GOST28147Parameters.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cryptopro/GOST28147Parameters;
astore 5 /* gParams */
start local 5 // org.bouncycastle.asn1.cryptopro.GOST28147Parameters gParams
9: .line 90
aload 0 /* this */
getfield org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
iconst_2
aload 3 /* key */
new org.bouncycastle.jcajce.spec.GOST28147ParameterSpec
dup
aload 5 /* gParams */
invokevirtual org.bouncycastle.asn1.cryptopro.GOST28147Parameters.getEncryptionParamSet:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 5 /* 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 5 // org.bouncycastle.asn1.cryptopro.GOST28147Parameters gParams
end local 4 // org.bouncycastle.asn1.ASN1Encodable encParams
end local 3 // javax.crypto.SecretKey key
10: .line 92
goto 13
11: .line 93
StackMap locals: org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1 org.bouncycastle.asn1.x509.AlgorithmIdentifier org.bouncycastle.asn1.ASN1ObjectIdentifier
StackMap stack: java.lang.Exception
astore 3 /* e */
start local 3 // java.lang.Exception e
12: .line 95
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 3 /* 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 3 /* e */
invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 // java.lang.Exception e
13: .line 98
StackMap locals:
StackMap stack:
new org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1$1
dup
aload 0 /* this */
invokespecial org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1$1.<init>:(Lorg/bouncycastle/operator/jcajce/JceInputDecryptorProviderBuilder$1;)V
areturn
end local 2 // org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm
end local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier algorithmIdentifier
end local 0 // org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1 this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/bouncycastle/operator/jcajce/JceInputDecryptorProviderBuilder$1;
0 14 1 algorithmIdentifier Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
2 14 2 algorithm Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
4 10 3 key Ljavax/crypto/SecretKey;
5 10 4 encParams Lorg/bouncycastle/asn1/ASN1Encodable;
9 10 5 gParams Lorg/bouncycastle/asn1/cryptopro/GOST28147Parameters;
12 13 3 e Ljava/lang/Exception;
Exception table:
from to target type
2 10 11 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.operator.OperatorCreationException
MethodParameters:
Name Flags
algorithmIdentifier final
}
SourceFile: "JceInputDecryptorProviderBuilder.java"
EnclosingMethod: org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder.build:([B)Lorg/bouncycastle/operator/InputDecryptorProvider;
NestHost: org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder
InnerClasses:
org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1
org.bouncycastle.operator.jcajce.JceInputDecryptorProviderBuilder$1$1