Class CMSAuthEnvelopedDataStreamGenerator


  • public class CMSAuthEnvelopedDataStreamGenerator
    extends CMSAuthEnvelopedGenerator
    Generate authenticated enveloped CMS data with streaming support.

    When using this generator, note:

    • The returned OutputStream must be closed to finalize encryption and authentication
    • Closing the returned stream does not close the underlying OutputStream passed to open()
    • Callers are responsible for closing the underlying OutputStream separately
    • Constructor Detail

      • CMSAuthEnvelopedDataStreamGenerator

        public CMSAuthEnvelopedDataStreamGenerator()
    • Method Detail

      • setBufferSize

        public void setBufferSize​(int bufferSize)
        Set the underlying string size for encapsulated data
        Parameters:
        bufferSize - length of octet strings to buffer the data.
      • setBEREncodeRecipients

        public void setBEREncodeRecipients​(boolean berEncodeRecipientSet)
        Use a BER Set to store the recipient information
      • open

        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
        Throws:
        java.io.IOException
      • open

        public java.io.OutputStream open​(java.io.OutputStream out,
                                         OutputAEADEncryptor encryptor)
                                  throws CMSException,
                                         java.io.IOException
        Generate authenticated-enveloped-data using the given encryptor, and marking the encapsulated bytes as being of type DATA.

        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.

        Parameters:
        out - the output stream to write the CMS structure to
        encryptor - the cipher to use for encryption
        Returns:
        an output stream that writes encrypted and authenticated content
        Throws:
        CMSException
        java.io.IOException
      • open

        public java.io.OutputStream open​(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
                                         java.io.OutputStream out,
                                         OutputAEADEncryptor encryptor)
                                  throws CMSException,
                                         java.io.IOException
        Generate authenticated-enveloped-data using the given encryptor, and marking the encapsulated bytes as being of the passed in type.

        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.

        Parameters:
        dataType - the type of the data being written to the object.
        out - the output stream to write the CMS structure to
        encryptor - the cipher to use for encryption
        Returns:
        an output stream that writes encrypted and authenticated content
        Throws:
        CMSException
        java.io.IOException