public class CMSAuthEnvelopedDataStreamGenerator extends CMSAuthEnvelopedGenerator
When using this generator, note:
open()AES128_CCM, AES128_GCM, AES192_CCM, AES192_GCM, AES256_CCM, AES256_GCM, authAttrsGenerator, ChaCha20Poly1305, originatorInfo, unauthAttrsGeneratorAES128_CBC, AES128_WRAP, AES192_CBC, AES192_WRAP, AES256_CBC, AES256_WRAP, CAMELLIA128_CBC, CAMELLIA128_WRAP, CAMELLIA192_CBC, CAMELLIA192_WRAP, CAMELLIA256_CBC, CAMELLIA256_WRAP, CAST5_CBC, DES_EDE3_CBC, DES_EDE3_WRAP, ECDH_SHA1KDF, ECMQV_SHA1KDF, ECMQV_SHA224KDF, ECMQV_SHA256KDF, ECMQV_SHA384KDF, ECMQV_SHA512KDF, encoding, IDEA_CBC, RC2_CBC, SEED_CBC, SEED_WRAP, unprotectedAttributeGenerator| Constructor and Description |
|---|
CMSAuthEnvelopedDataStreamGenerator() |
| Modifier and Type | Method and Description |
|---|---|
protected java.io.OutputStream |
open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
org.bouncycastle.asn1.ASN1EncodableVector recipientInfos,
OutputAEADEncryptor encryptor) |
java.io.OutputStream |
open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
long inputLength,
OutputAEADEncryptor encryptor)
Generate an authenticated-enveloped object for
inputLength
content octets of the passed in type, using the given encryptor - see
open(OutputStream, long, OutputAEADEncryptor). |
java.io.OutputStream |
open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
OutputAEADEncryptor encryptor)
Generate authenticated-enveloped-data using the given encryptor, and marking the encapsulated
bytes as being of the passed in type.
|
protected java.io.OutputStream |
open(java.io.OutputStream out,
org.bouncycastle.asn1.ASN1EncodableVector recipientInfos,
OutputAEADEncryptor encryptor) |
java.io.OutputStream |
open(java.io.OutputStream out,
long inputLength,
OutputAEADEncryptor encryptor)
Generate an authenticated-enveloped object for
inputLength
content octets, using the given encryptor. |
java.io.OutputStream |
open(java.io.OutputStream out,
OutputAEADEncryptor encryptor)
Generate authenticated-enveloped-data using the given encryptor, and marking the encapsulated
bytes as being of type DATA.
|
void |
setBEREncodeRecipients(boolean berEncodeRecipientSet)
Use a BER Set to store the recipient information
|
void |
setBufferSize(int bufferSize)
Set the underlying string size for encapsulated data
|
setAuthenticatedAttributeGenerator, setOriginatorInfo, setUnauthenticatedAttributeGeneratoraddRecipientInfoGenerator, setEncoding, setUnprotectedAttributeGeneratorpublic void setBufferSize(int bufferSize)
bufferSize - length of octet strings to buffer the data.public void setBEREncodeRecipients(boolean berEncodeRecipientSet)
protected java.io.OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
org.bouncycastle.asn1.ASN1EncodableVector recipientInfos,
OutputAEADEncryptor encryptor)
throws java.io.IOException
java.io.IOExceptionprotected java.io.OutputStream open(java.io.OutputStream out,
org.bouncycastle.asn1.ASN1EncodableVector recipientInfos,
OutputAEADEncryptor encryptor)
throws CMSException
CMSExceptionpublic java.io.OutputStream open(java.io.OutputStream out,
OutputAEADEncryptor encryptor)
throws CMSException,
java.io.IOException
Stream handling note: Closing the returned stream finalizes the CMS structure but does
not close the underlying output stream. The caller remains responsible for managing the
lifecycle of out.
out - the output stream to write the CMS structure toencryptor - the cipher to use for encryptionCMSExceptionjava.io.IOExceptionpublic java.io.OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
OutputAEADEncryptor encryptor)
throws CMSException,
java.io.IOException
Stream handling note: Closing the returned stream finalizes the CMS structure but
does not close the underlying output stream. The caller remains responsible for
managing the lifecycle of out.
dataType - the type of the data being written to the object.out - the output stream to write the CMS structure toencryptor - the cipher to use for encryptionCMSExceptionjava.io.IOExceptionpublic java.io.OutputStream open(java.io.OutputStream out,
long inputLength,
OutputAEADEncryptor encryptor)
throws CMSException,
java.io.IOException
inputLength
content octets, using the given encryptor. In definite-length mode (see
CMSEnvelopedGenerator.setEncoding(String)) the length is used to pre-compute every
enclosing header, so exactly that many content octets must then be
written to the returned stream - a mismatch fails with an IOException,
by which point the output is unusable and must be discarded. In BER
mode the length is ignored.
In definite-length mode the buffer size and
BER recipient set settings are
ignored (an indefinite-length encoding may not appear inside a
definite-length one). Nothing is buffered, so content larger than a Java
array can carry is supported. Note that in this mode any authenticated
attributes are generated and fed to the encryptor's AAD stream at
open() time, ahead of the content - the order AEAD modes
require.
CMSExceptionjava.io.IOExceptionpublic java.io.OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
long inputLength,
OutputAEADEncryptor encryptor)
throws CMSException,
java.io.IOException
inputLength
content octets of the passed in type, using the given encryptor - see
open(OutputStream, long, OutputAEADEncryptor).CMSExceptionjava.io.IOException