Bouncy Castle Cryptography Library 1.84

org.bouncycastle.cms.jcajce
Class JceCMSContentEncryptorBuilder

java.lang.Object
  extended byorg.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder

public class JceCMSContentEncryptorBuilder
extends java.lang.Object

Builder for the content encryptor in EnvelopedData - used to encrypt the actual transmitted content.


Constructor Summary
JceCMSContentEncryptorBuilder(org.bouncycastle.asn1.x509.AlgorithmIdentifier encryptionAlgId)
          Constructor for a content encryptor builder based on an algorithm identifier and its contained parameters.
JceCMSContentEncryptorBuilder(org.bouncycastle.asn1.ASN1ObjectIdentifier encryptionOID)
           
JceCMSContentEncryptorBuilder(org.bouncycastle.asn1.ASN1ObjectIdentifier encryptionOID, int keySize)
           
 
Method Summary
 OutputEncryptor build()
          Build the OutputEncryptor with an internally generated key.
 OutputEncryptor build(byte[] rawEncKey)
          Build the OutputEncryptor using a pre-generated key given as a raw encoding.
 OutputEncryptor build(javax.crypto.SecretKey encKey)
          Build the OutputEncryptor using a pre-generated key.
 JceCMSContentEncryptorBuilder setAlgorithmParameters(java.security.AlgorithmParameters algorithmParameters)
          Provide a set of algorithm parameters for the content encryption cipher to use.
 JceCMSContentEncryptorBuilder setEnableSha256HKdf(boolean useSha256Hkdf)
           
 JceCMSContentEncryptorBuilder setProvider(java.security.Provider provider)
          Set the provider to use for content encryption.
 JceCMSContentEncryptorBuilder setProvider(java.lang.String providerName)
          Set the provider to use for content encryption (by name)
 JceCMSContentEncryptorBuilder setSecureRandom(java.security.SecureRandom random)
          Provide a specified source of randomness to be used for session key and IV/nonce generation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JceCMSContentEncryptorBuilder

public JceCMSContentEncryptorBuilder(org.bouncycastle.asn1.ASN1ObjectIdentifier encryptionOID)

JceCMSContentEncryptorBuilder

public JceCMSContentEncryptorBuilder(org.bouncycastle.asn1.ASN1ObjectIdentifier encryptionOID,
                                     int keySize)

JceCMSContentEncryptorBuilder

public JceCMSContentEncryptorBuilder(org.bouncycastle.asn1.x509.AlgorithmIdentifier encryptionAlgId)
Constructor for a content encryptor builder based on an algorithm identifier and its contained parameters.

Parameters:
encryptionAlgId - the full algorithm identifier for the encryption.
Method Detail

setEnableSha256HKdf

public JceCMSContentEncryptorBuilder setEnableSha256HKdf(boolean useSha256Hkdf)

setProvider

public JceCMSContentEncryptorBuilder setProvider(java.security.Provider provider)
Set the provider to use for content encryption.

Parameters:
provider - the provider object to use for cipher and default parameters creation.
Returns:
the current builder instance.

setProvider

public JceCMSContentEncryptorBuilder setProvider(java.lang.String providerName)
Set the provider to use for content encryption (by name)

Parameters:
providerName - the name of the provider to use for cipher and default parameters creation.
Returns:
the current builder instance.

setSecureRandom

public JceCMSContentEncryptorBuilder setSecureRandom(java.security.SecureRandom random)
Provide a specified source of randomness to be used for session key and IV/nonce generation.

Parameters:
random - the secure random to use.
Returns:
the current builder instance.

setAlgorithmParameters

public JceCMSContentEncryptorBuilder setAlgorithmParameters(java.security.AlgorithmParameters algorithmParameters)
Provide a set of algorithm parameters for the content encryption cipher to use.

Parameters:
algorithmParameters - algorithmParameters for content encryption.
Returns:
the current builder instance.

build

public OutputEncryptor build()
                      throws CMSException
Build the OutputEncryptor with an internally generated key.

Returns:
an OutputEncryptor configured to use an internal key.
Throws:
CMSException

build

public OutputEncryptor build(byte[] rawEncKey)
                      throws CMSException
Build the OutputEncryptor using a pre-generated key given as a raw encoding.

Parameters:
rawEncKey - a raw byte encoding of the key to be used for encryption.
Returns:
an OutputEncryptor configured to use rawEncKey.
Throws:
CMSException

build

public OutputEncryptor build(javax.crypto.SecretKey encKey)
                      throws CMSException
Build the OutputEncryptor using a pre-generated key.

Parameters:
encKey - a pre-generated key to be used for encryption.
Returns:
an OutputEncryptor configured to use encKey.
Throws:
CMSException

Bouncy Castle Cryptography Library 1.84