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 Details

    • CMSAuthEnvelopedDataStreamGenerator

      public CMSAuthEnvelopedDataStreamGenerator()
  • Method Details

    • 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 OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType, OutputStream out, org.bouncycastle.asn1.ASN1EncodableVector recipientInfos, OutputAEADEncryptor encryptor) throws IOException
      Throws:
      IOException
    • open

      protected OutputStream open(OutputStream out, org.bouncycastle.asn1.ASN1EncodableVector recipientInfos, OutputAEADEncryptor encryptor) throws CMSException
      Throws:
      CMSException
    • open

      public OutputStream open(OutputStream out, OutputAEADEncryptor encryptor) throws CMSException, IOException
      generate an enveloped object that contains an CMS Enveloped Data object using the given encryptor.

      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
      IOException