Class JceCMSContentEncryptorBuilder
java.lang.Object
org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder
Builder for the content encryptor in EnvelopedData - used to encrypt the actual transmitted content.
-
Constructor Summary
ConstructorsConstructorDescriptionJceCMSContentEncryptorBuilder(org.bouncycastle.asn1.ASN1ObjectIdentifier encryptionOID) JceCMSContentEncryptorBuilder(org.bouncycastle.asn1.ASN1ObjectIdentifier encryptionOID, int keySize) JceCMSContentEncryptorBuilder(org.bouncycastle.asn1.x509.AlgorithmIdentifier encryptionAlgId) Constructor for a content encryptor builder based on an algorithm identifier and its contained parameters. -
Method Summary
Modifier and TypeMethodDescriptionbuild()Build the OutputEncryptor with an internally generated key.build(byte[] rawEncKey) Build the OutputEncryptor using a pre-generated key given as a raw encoding.Build the OutputEncryptor using a pre-generated key.setAlgorithmParameters(AlgorithmParameters algorithmParameters) Provide a set of algorithm parameters for the content encryption cipher to use.setEnableSha256HKdf(boolean useSha256Hkdf) setProvider(String providerName) Set the provider to use for content encryption (by name)setProvider(Provider provider) Set the provider to use for content encryption.setSecureRandom(SecureRandom random) Provide a specified source of randomness to be used for session key and IV/nonce generation.
-
Constructor Details
-
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 Details
-
setEnableSha256HKdf
-
setProvider
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
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
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(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
Build the OutputEncryptor with an internally generated key.- Returns:
- an OutputEncryptor configured to use an internal key.
- Throws:
CMSException
-
build
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
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
-