CMSEnvelopedDataStreamGenerator (Bouncy Castle Library 1.54 API Specification)
Date: 2015-12-29

org.bouncycastle.cms

## Class CMSEnvelopedDataStreamGenerator

- java.lang.Object
- - org.bouncycastle.cms.CMSEnvelopedGenerator
  - - org.bouncycastle.cms.CMSEnvelopedDataStreamGenerator

-     public class CMSEnvelopedDataStreamGenerator
      extends CMSEnvelopedGenerator

  General class for generating a CMS enveloped-data message stream.

  A simple example of usage.

            CMSEnvelopedDataStreamGenerator edGen = new CMSEnvelopedDataStreamGenerator();

            edGen.addRecipientInfoGenerator(new JceKeyTransRecipientInfoGenerator(recipientCert).setProvider("BC"));

            ByteArrayOutputStream  bOut = new ByteArrayOutputStream();

            OutputStream out = edGen.open(
                                    bOut, new JceCMSContentEncryptorBuilder(CMSAlgorithm.DES_EDE3_CBC)
                                                    .setProvider("BC").build());
            out.write(data);

            out.close();

- - ### Field Summary

    - ### Fields inherited from class org.bouncycastle.cms.CMSEnvelopedGenerator

      `AES128_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, IDEA_CBC, originatorInfo, RC2_CBC, SEED_CBC, SEED_WRAP, unprotectedAttributeGenerator`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CMSEnvelopedDataStreamGenerator()` base constructor

  - ### Method Summary

    Methods
    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, OutputEncryptor encryptor)`
    `java.io.OutputStream` | `open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType, java.io.OutputStream out, OutputEncryptor encryptor)` generate an enveloped object that contains an CMS Enveloped Data object using the given encryptor and marking the data as being of the passed in type.
    `protected java.io.OutputStream` | `open(java.io.OutputStream out, org.bouncycastle.asn1.ASN1EncodableVector recipientInfos, OutputEncryptor encryptor)`
    `java.io.OutputStream` | `open(java.io.OutputStream out, OutputEncryptor encryptor)` generate an enveloped object that contains an CMS Enveloped Data object using the given encryptor.
    `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

    - ### Methods inherited from class org.bouncycastle.cms.CMSEnvelopedGenerator

      `addRecipientInfoGenerator, setOriginatorInfo, setUnprotectedAttributeGenerator`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CMSEnvelopedDataStreamGenerator

          public CMSEnvelopedDataStreamGenerator()

      base constructor

  - ### 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,
                                  OutputEncryptor encryptor)
                                       throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### open

          protected java.io.OutputStream open(java.io.OutputStream out,
                                  org.bouncycastle.asn1.ASN1EncodableVector recipientInfos,
                                  OutputEncryptor encryptor)
                                       throws CMSException

      Throws:
        `CMSException`

    - #### open

          public java.io.OutputStream open(java.io.OutputStream out,
                                  OutputEncryptor encryptor)
                                    throws CMSException,
                                           java.io.IOException

      generate an enveloped object that contains an CMS Enveloped Data object using the given encryptor.
      Throws:
        `CMSException`
        `java.io.IOException`

    - #### open

          public java.io.OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
                                  java.io.OutputStream out,
                                  OutputEncryptor encryptor)
                                    throws CMSException,
                                           java.io.IOException

      generate an enveloped object that contains an CMS Enveloped Data object using the given encryptor and marking the data as being of the passed in type.
      Throws:
        `CMSException`
        `java.io.IOException`