Bouncy Castle Cryptography Library 1.85

org.bouncycastle.cms.bc
Class BcPasswordRecipient

java.lang.Object
  extended byorg.bouncycastle.cms.AbstractRecipient
      extended byorg.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.


Nested Class Summary
 
Nested classes inherited from class org.bouncycastle.cms.PasswordRecipient
PasswordRecipient.PRF
 
Field Summary
 
Fields inherited from interface org.bouncycastle.cms.PasswordRecipient
PKCS5_SCHEME2, PKCS5_SCHEME2_UTF8
 
Method Summary
 byte[] calculateDerivedKey(int schemeID, org.bouncycastle.asn1.x509.AlgorithmIdentifier derivationAlgorithm, int keySize)
           
protected  org.bouncycastle.crypto.params.KeyParameter extractSecretKey(org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncryptionAlgorithm, org.bouncycastle.asn1.x509.AlgorithmIdentifier contentEncryptionAlgorithm, byte[] derivedKey, byte[] encryptedContentEncryptionKey)
           
 char[] getPassword()
           
 int getPasswordConversionScheme()
           
 BcPasswordRecipient setAllowedContentAlgorithms(java.util.Set allowedContentAlgorithms)
          Set the content-encryption algorithms this recipient is willing to unwrap a key for.
 BcPasswordRecipient setPasswordConversionScheme(int schemeID)
           
 
Methods inherited from class org.bouncycastle.cms.AbstractRecipient
checkTagSize, isContentAlgorithmAllowed, setAllowedContentAlgorithmSet, setMinimumTagSizeInBits
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.bouncycastle.cms.PasswordRecipient
getRecipientOperator
 

Method Detail

setPasswordConversionScheme

public BcPasswordRecipient setPasswordConversionScheme(int schemeID)

setAllowedContentAlgorithms

public BcPasswordRecipient setAllowedContentAlgorithms(java.util.Set 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

Bouncy Castle Cryptography Library 1.85