Class BcPasswordRecipient

java.lang.Object
org.bouncycastle.cms.AbstractRecipient
org.bouncycastle.cms.bc.BcPasswordRecipient
All Implemented Interfaces:
PasswordRecipient, Recipient
Direct Known Subclasses:
BcPasswordEnvelopedRecipient

public abstract class BcPasswordRecipient extends AbstractRecipient implements PasswordRecipient
the RecipientInfo class for a recipient who has been sent a message encrypted using a password.
  • Method Details

    • setPasswordConversionScheme

      public BcPasswordRecipient setPasswordConversionScheme(int schemeID)
    • setAllowedContentAlgorithms

      public BcPasswordRecipient setAllowedContentAlgorithms(Set<org.bouncycastle.asn1.ASN1ObjectIdentifier> allowedContentAlgorithms)
      Set the content-encryption algorithms this recipient is willing to unwrap a key for. When set, an attempt to recover content protected under any other algorithm is rejected, mitigating an attacker substituting a weaker content-encryption algorithm into the recipient info.
      Parameters:
      allowedContentAlgorithms - the set of permitted content-encryption algorithm OIDs.
      Returns:
      this recipient.
    • extractSecretKey

      protected org.bouncycastle.crypto.params.KeyParameter extractSecretKey(org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncryptionAlgorithm, org.bouncycastle.asn1.x509.AlgorithmIdentifier contentEncryptionAlgorithm, byte[] derivedKey, byte[] encryptedContentEncryptionKey) throws CMSException
      Throws:
      CMSException
    • calculateDerivedKey

      public byte[] calculateDerivedKey(int schemeID, org.bouncycastle.asn1.x509.AlgorithmIdentifier derivationAlgorithm, int keySize) throws CMSException
      Specified by:
      calculateDerivedKey in interface PasswordRecipient
      Throws:
      CMSException
    • getPasswordConversionScheme

      public int getPasswordConversionScheme()
      Specified by:
      getPasswordConversionScheme in interface PasswordRecipient
    • getPassword

      public char[] getPassword()
      Specified by:
      getPassword in interface PasswordRecipient