public abstract class org.bouncycastle.cms.PasswordRecipientInfoGenerator implements org.bouncycastle.cms.RecipientInfoGenerator
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.bouncycastle.cms.PasswordRecipientInfoGenerator
  super_class: java.lang.Object
{
  protected char[] password;
    descriptor: [C
    flags: (0x0004) ACC_PROTECTED

  private org.bouncycastle.asn1.x509.AlgorithmIdentifier keyDerivationAlgorithm;
    descriptor: Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    flags: (0x0002) ACC_PRIVATE

  private org.bouncycastle.asn1.ASN1ObjectIdentifier kekAlgorithm;
    descriptor: Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
    flags: (0x0002) ACC_PRIVATE

  private java.security.SecureRandom random;
    descriptor: Ljava/security/SecureRandom;
    flags: (0x0002) ACC_PRIVATE

  private int schemeID;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int keySize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int blockSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.bouncycastle.cms.PasswordRecipient$PRF prf;
    descriptor: Lorg/bouncycastle/cms/PasswordRecipient$PRF;
    flags: (0x0002) ACC_PRIVATE

  private byte[] salt;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private int iterationCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  protected void <init>(org.bouncycastle.asn1.ASN1ObjectIdentifier, char[]);
    descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;[C)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
        start local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier kekAlgorithm
        start local 2 // char[] password
         0: .line 35
            aload 0 /* this */
            aload 1 /* kekAlgorithm */
            aload 2 /* password */
            aload 1 /* kekAlgorithm */
            invokestatic org.bouncycastle.cms.PasswordRecipientInfoGenerator.getKeySize:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)I
            getstatic org.bouncycastle.cms.PasswordRecipientInformation.BLOCKSIZES:Ljava/util/Map;
            aload 1 /* kekAlgorithm */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokespecial org.bouncycastle.cms.PasswordRecipientInfoGenerator.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;[CII)V
         1: .line 36
            return
        end local 2 // char[] password
        end local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier kekAlgorithm
        end local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/bouncycastle/cms/PasswordRecipientInfoGenerator;
            0    2     1  kekAlgorithm  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0    2     2      password  [C
    MethodParameters:
              Name  Flags
      kekAlgorithm  
      password      

  protected void <init>(org.bouncycastle.asn1.ASN1ObjectIdentifier, char[], int, int);
    descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;[CII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
        start local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier kekAlgorithm
        start local 2 // char[] password
        start local 3 // int keySize
        start local 4 // int blockSize
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 40
            aload 0 /* this */
            aload 2 /* password */
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.password:[C
         2: .line 41
            aload 0 /* this */
            iconst_1
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.schemeID:I
         3: .line 42
            aload 0 /* this */
            aload 1 /* kekAlgorithm */
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.kekAlgorithm:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
         4: .line 43
            aload 0 /* this */
            iload 3 /* keySize */
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.keySize:I
         5: .line 44
            aload 0 /* this */
            iload 4 /* blockSize */
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.blockSize:I
         6: .line 45
            aload 0 /* this */
            getstatic org.bouncycastle.cms.PasswordRecipient$PRF.HMacSHA1:Lorg/bouncycastle/cms/PasswordRecipient$PRF;
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.prf:Lorg/bouncycastle/cms/PasswordRecipient$PRF;
         7: .line 46
            aload 0 /* this */
            sipush 1024
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.iterationCount:I
         8: .line 47
            return
        end local 4 // int blockSize
        end local 3 // int keySize
        end local 2 // char[] password
        end local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier kekAlgorithm
        end local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/bouncycastle/cms/PasswordRecipientInfoGenerator;
            0    9     1  kekAlgorithm  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0    9     2      password  [C
            0    9     3       keySize  I
            0    9     4     blockSize  I
    MethodParameters:
              Name  Flags
      kekAlgorithm  
      password      
      keySize       
      blockSize     

  private static int getKeySize(org.bouncycastle.asn1.ASN1ObjectIdentifier);
    descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier kekAlgorithm
         0: .line 51
            getstatic org.bouncycastle.cms.PasswordRecipientInformation.KEYSIZES:Ljava/util/Map;
            aload 0 /* kekAlgorithm */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 1 /* size */
        start local 1 // java.lang.Integer size
         1: .line 53
            aload 1 /* size */
            ifnonnull 3
         2: .line 55
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot find key size for algorithm: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* kekAlgorithm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 58
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 1 /* size */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 1 // java.lang.Integer size
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier kekAlgorithm
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0  kekAlgorithm  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            1    4     1          size  Ljava/lang/Integer;
    MethodParameters:
              Name  Flags
      kekAlgorithm  

  public org.bouncycastle.cms.PasswordRecipientInfoGenerator setPasswordConversionScheme(int);
    descriptor: (I)Lorg/bouncycastle/cms/PasswordRecipientInfoGenerator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
        start local 1 // int schemeID
         0: .line 63
            aload 0 /* this */
            iload 1 /* schemeID */
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.schemeID:I
         1: .line 65
            aload 0 /* this */
            areturn
        end local 1 // int schemeID
        end local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/bouncycastle/cms/PasswordRecipientInfoGenerator;
            0    2     1  schemeID  I
    MethodParameters:
          Name  Flags
      schemeID  

  public org.bouncycastle.cms.PasswordRecipientInfoGenerator setPRF(org.bouncycastle.cms.PasswordRecipient$PRF);
    descriptor: (Lorg/bouncycastle/cms/PasswordRecipient$PRF;)Lorg/bouncycastle/cms/PasswordRecipientInfoGenerator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
        start local 1 // org.bouncycastle.cms.PasswordRecipient$PRF prf
         0: .line 70
            aload 0 /* this */
            aload 1 /* prf */
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.prf:Lorg/bouncycastle/cms/PasswordRecipient$PRF;
         1: .line 72
            aload 0 /* this */
            areturn
        end local 1 // org.bouncycastle.cms.PasswordRecipient$PRF prf
        end local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/cms/PasswordRecipientInfoGenerator;
            0    2     1   prf  Lorg/bouncycastle/cms/PasswordRecipient$PRF;
    MethodParameters:
      Name  Flags
      prf   

  public org.bouncycastle.cms.PasswordRecipientInfoGenerator setSaltAndIterationCount(byte[], int);
    descriptor: ([BI)Lorg/bouncycastle/cms/PasswordRecipientInfoGenerator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
        start local 1 // byte[] salt
        start local 2 // int iterationCount
         0: .line 77
            aload 0 /* this */
            aload 1 /* salt */
            invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.salt:[B
         1: .line 78
            aload 0 /* this */
            iload 2 /* iterationCount */
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.iterationCount:I
         2: .line 80
            aload 0 /* this */
            areturn
        end local 2 // int iterationCount
        end local 1 // byte[] salt
        end local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/bouncycastle/cms/PasswordRecipientInfoGenerator;
            0    3     1            salt  [B
            0    3     2  iterationCount  I
    MethodParameters:
                Name  Flags
      salt            
      iterationCount  

  public org.bouncycastle.cms.PasswordRecipientInfoGenerator setSecureRandom(java.security.SecureRandom);
    descriptor: (Ljava/security/SecureRandom;)Lorg/bouncycastle/cms/PasswordRecipientInfoGenerator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
        start local 1 // java.security.SecureRandom random
         0: .line 85
            aload 0 /* this */
            aload 1 /* random */
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.random:Ljava/security/SecureRandom;
         1: .line 87
            aload 0 /* this */
            areturn
        end local 1 // java.security.SecureRandom random
        end local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/bouncycastle/cms/PasswordRecipientInfoGenerator;
            0    2     1  random  Ljava/security/SecureRandom;
    MethodParameters:
        Name  Flags
      random  

  public org.bouncycastle.asn1.cms.RecipientInfo generate(org.bouncycastle.operator.GenericKey);
    descriptor: (Lorg/bouncycastle/operator/GenericKey;)Lorg/bouncycastle/asn1/cms/RecipientInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=2
        start local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
        start local 1 // org.bouncycastle.operator.GenericKey contentEncryptionKey
         0: .line 93
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.blockSize:I
            newarray 8
            astore 2 /* iv */
        start local 2 // byte[] iv
         1: .line 95
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.random:Ljava/security/SecureRandom;
            ifnonnull 3
         2: .line 97
            aload 0 /* this */
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.random:Ljava/security/SecureRandom;
         3: .line 100
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.random:Ljava/security/SecureRandom;
            aload 2 /* iv */
            invokevirtual java.security.SecureRandom.nextBytes:([B)V
         4: .line 102
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.salt:[B
            ifnonnull 7
         5: .line 104
            aload 0 /* this */
            bipush 20
            newarray 8
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.salt:[B
         6: .line 106
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.random:Ljava/security/SecureRandom;
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.salt:[B
            invokevirtual java.security.SecureRandom.nextBytes:([B)V
         7: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.bouncycastle.asn1.x509.AlgorithmIdentifier
            dup
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBKDF2:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            new org.bouncycastle.asn1.pkcs.PBKDF2Params
            dup
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.salt:[B
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.iterationCount:I
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.prf:Lorg/bouncycastle/cms/PasswordRecipient$PRF;
            getfield org.bouncycastle.cms.PasswordRecipient$PRF.prfAlgID:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokespecial org.bouncycastle.asn1.pkcs.PBKDF2Params.<init>:([BILorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
            invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
            putfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.keyDerivationAlgorithm:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
         8: .line 111
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.schemeID:I
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.keyDerivationAlgorithm:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.keySize:I
            invokevirtual org.bouncycastle.cms.PasswordRecipientInfoGenerator.calculateDerivedKey:(ILorg/bouncycastle/asn1/x509/AlgorithmIdentifier;I)[B
            astore 3 /* derivedKey */
        start local 3 // byte[] derivedKey
         9: .line 113
            new org.bouncycastle.asn1.x509.AlgorithmIdentifier
            dup
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.kekAlgorithm:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            new org.bouncycastle.asn1.DEROctetString
            dup
            aload 2 /* iv */
            invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
            invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
            astore 4 /* kekAlgorithmId */
        start local 4 // org.bouncycastle.asn1.x509.AlgorithmIdentifier kekAlgorithmId
        10: .line 115
            aload 0 /* this */
            aload 4 /* kekAlgorithmId */
            aload 3 /* derivedKey */
            aload 1 /* contentEncryptionKey */
            invokevirtual org.bouncycastle.cms.PasswordRecipientInfoGenerator.generateEncryptedBytes:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[BLorg/bouncycastle/operator/GenericKey;)[B
            astore 5 /* encryptedKeyBytes */
        start local 5 // byte[] encryptedKeyBytes
        11: .line 117
            new org.bouncycastle.asn1.DEROctetString
            dup
            aload 5 /* encryptedKeyBytes */
            invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
            astore 6 /* encryptedKey */
        start local 6 // org.bouncycastle.asn1.ASN1OctetString encryptedKey
        12: .line 119
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 7 /* v */
        start local 7 // org.bouncycastle.asn1.ASN1EncodableVector v
        13: .line 120
            aload 7 /* v */
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.kekAlgorithm:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        14: .line 121
            aload 7 /* v */
            new org.bouncycastle.asn1.DEROctetString
            dup
            aload 2 /* iv */
            invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        15: .line 123
            new org.bouncycastle.asn1.x509.AlgorithmIdentifier
            dup
        16: .line 124
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_alg_PWRI_KEK:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 7 /* v */
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
        17: .line 123
            invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
            astore 8 /* keyEncryptionAlgorithm */
        start local 8 // org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncryptionAlgorithm
        18: .line 126
            new org.bouncycastle.asn1.cms.RecipientInfo
            dup
            new org.bouncycastle.asn1.cms.PasswordRecipientInfo
            dup
            aload 0 /* this */
            getfield org.bouncycastle.cms.PasswordRecipientInfoGenerator.keyDerivationAlgorithm:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
        19: .line 127
            aload 8 /* keyEncryptionAlgorithm */
            aload 6 /* encryptedKey */
            invokespecial org.bouncycastle.asn1.cms.PasswordRecipientInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/ASN1OctetString;)V
        20: .line 126
            invokespecial org.bouncycastle.asn1.cms.RecipientInfo.<init>:(Lorg/bouncycastle/asn1/cms/PasswordRecipientInfo;)V
            areturn
        end local 8 // org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncryptionAlgorithm
        end local 7 // org.bouncycastle.asn1.ASN1EncodableVector v
        end local 6 // org.bouncycastle.asn1.ASN1OctetString encryptedKey
        end local 5 // byte[] encryptedKeyBytes
        end local 4 // org.bouncycastle.asn1.x509.AlgorithmIdentifier kekAlgorithmId
        end local 3 // byte[] derivedKey
        end local 2 // byte[] iv
        end local 1 // org.bouncycastle.operator.GenericKey contentEncryptionKey
        end local 0 // org.bouncycastle.cms.PasswordRecipientInfoGenerator this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   21     0                    this  Lorg/bouncycastle/cms/PasswordRecipientInfoGenerator;
            0   21     1    contentEncryptionKey  Lorg/bouncycastle/operator/GenericKey;
            1   21     2                      iv  [B
            9   21     3              derivedKey  [B
           10   21     4          kekAlgorithmId  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
           11   21     5       encryptedKeyBytes  [B
           12   21     6            encryptedKey  Lorg/bouncycastle/asn1/ASN1OctetString;
           13   21     7                       v  Lorg/bouncycastle/asn1/ASN1EncodableVector;
           18   21     8  keyEncryptionAlgorithm  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
                      Name  Flags
      contentEncryptionKey  

  protected abstract byte[] calculateDerivedKey(int, org.bouncycastle.asn1.x509.AlgorithmIdentifier, int);
    descriptor: (ILorg/bouncycastle/asn1/x509/AlgorithmIdentifier;I)[B
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
                     Name  Flags
      schemeID             
      derivationAlgorithm  
      keySize              

  protected abstract byte[] generateEncryptedBytes(org.bouncycastle.asn1.x509.AlgorithmIdentifier, byte[], org.bouncycastle.operator.GenericKey);
    descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[BLorg/bouncycastle/operator/GenericKey;)[B
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
                      Name  Flags
      algorithm             
      derivedKey            
      contentEncryptionKey  
}
SourceFile: "PasswordRecipientInfoGenerator.java"
InnerClasses:
  public final PRF = org.bouncycastle.cms.PasswordRecipient$PRF of org.bouncycastle.cms.PasswordRecipient