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