public abstract class org.bouncycastle.cms.bc.BcKEKRecipient implements org.bouncycastle.cms.KEKRecipient
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.bouncycastle.cms.bc.BcKEKRecipient
  super_class: java.lang.Object
{
  private org.bouncycastle.operator.SymmetricKeyUnwrapper unwrapper;
    descriptor: Lorg/bouncycastle/operator/SymmetricKeyUnwrapper;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.bouncycastle.operator.bc.BcSymmetricKeyUnwrapper);
    descriptor: (Lorg/bouncycastle/operator/bc/BcSymmetricKeyUnwrapper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.cms.bc.BcKEKRecipient this
        start local 1 // org.bouncycastle.operator.bc.BcSymmetricKeyUnwrapper unwrapper
         0: .line 16
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 18
            aload 0 /* this */
            aload 1 /* unwrapper */
            putfield org.bouncycastle.cms.bc.BcKEKRecipient.unwrapper:Lorg/bouncycastle/operator/SymmetricKeyUnwrapper;
         2: .line 19
            return
        end local 1 // org.bouncycastle.operator.bc.BcSymmetricKeyUnwrapper unwrapper
        end local 0 // org.bouncycastle.cms.bc.BcKEKRecipient this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/bouncycastle/cms/bc/BcKEKRecipient;
            0    3     1  unwrapper  Lorg/bouncycastle/operator/bc/BcSymmetricKeyUnwrapper;
    MethodParameters:
           Name  Flags
      unwrapper  

  protected org.bouncycastle.crypto.CipherParameters extractSecretKey(org.bouncycastle.asn1.x509.AlgorithmIdentifier, org.bouncycastle.asn1.x509.AlgorithmIdentifier, byte[]);
    descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Lorg/bouncycastle/crypto/CipherParameters;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.bouncycastle.cms.bc.BcKEKRecipient this
        start local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncryptionAlgorithm
        start local 2 // org.bouncycastle.asn1.x509.AlgorithmIdentifier contentEncryptionAlgorithm
        start local 3 // byte[] encryptedContentEncryptionKey
         0: .line 26
            aload 0 /* this */
            getfield org.bouncycastle.cms.bc.BcKEKRecipient.unwrapper:Lorg/bouncycastle/operator/SymmetricKeyUnwrapper;
            aload 2 /* contentEncryptionAlgorithm */
            aload 3 /* encryptedContentEncryptionKey */
            invokevirtual org.bouncycastle.operator.SymmetricKeyUnwrapper.generateUnwrappedKey:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Lorg/bouncycastle/operator/GenericKey;
            invokestatic org.bouncycastle.cms.bc.CMSUtils.getBcKey:(Lorg/bouncycastle/operator/GenericKey;)Lorg/bouncycastle/crypto/CipherParameters;
         1: areturn
         2: .line 28
      StackMap locals:
      StackMap stack: org.bouncycastle.operator.OperatorException
            astore 4 /* e */
        start local 4 // org.bouncycastle.operator.OperatorException e
         3: .line 30
            new org.bouncycastle.cms.CMSException
            dup
            new java.lang.StringBuilder
            dup
            ldc "exception unwrapping key: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* e */
            invokevirtual org.bouncycastle.operator.OperatorException.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.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 4 // org.bouncycastle.operator.OperatorException e
        end local 3 // byte[] encryptedContentEncryptionKey
        end local 2 // org.bouncycastle.asn1.x509.AlgorithmIdentifier contentEncryptionAlgorithm
        end local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncryptionAlgorithm
        end local 0 // org.bouncycastle.cms.bc.BcKEKRecipient this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    4     0                           this  Lorg/bouncycastle/cms/bc/BcKEKRecipient;
            0    4     1         keyEncryptionAlgorithm  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            0    4     2     contentEncryptionAlgorithm  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            0    4     3  encryptedContentEncryptionKey  [B
            3    4     4                              e  Lorg/bouncycastle/operator/OperatorException;
      Exception table:
        from    to  target  type
           0     1       2  Class org.bouncycastle.operator.OperatorException
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
                               Name  Flags
      keyEncryptionAlgorithm         
      contentEncryptionAlgorithm     
      encryptedContentEncryptionKey  
}
SourceFile: "BcKEKRecipient.java"