Class JcePasswordRecipient

java.lang.Object
org.bouncycastle.cms.AbstractRecipient
org.bouncycastle.cms.jcajce.JcePasswordRecipient
All Implemented Interfaces:
PasswordRecipient, Recipient
Direct Known Subclasses:
JcePasswordAuthenticatedRecipient, JcePasswordAuthEnvelopedRecipient, JcePasswordEnvelopedRecipient

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

  • Method Details

    • setPasswordConversionScheme

      public JcePasswordRecipient setPasswordConversionScheme(int schemeID)
    • setProvider

      public JcePasswordRecipient setProvider(Provider provider)
    • setProvider

      public JcePasswordRecipient setProvider(String providerName)
    • setAllowedContentAlgorithms

      public JcePasswordRecipient 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.
    • setMinimumTagSize

      public JcePasswordRecipient setMinimumTagSize(int tagSizeInBits)
      Set the minimum AEAD authentication tag size (in bits) this recipient will accept. When set, an attempt to recover AuthEnvelopedData whose content algorithm carries a shorter tag is rejected, mitigating an attacker downgrading the tag to a weaker length.
      Parameters:
      tagSizeInBits - the minimum acceptable AEAD tag size, in bits.
      Returns:
      this recipient.
    • extractSecretKey

      protected Key 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