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

org.bouncycastle.cms

## Class CMSEnvelopedDataGenerator

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

-     public class CMSEnvelopedDataGenerator
      extends CMSEnvelopedGenerator

  General class for generating a CMS enveloped-data message. A simple example of usage.

             CMSTypedData msg     = new CMSProcessableByteArray("Hello World!".getBytes());

             CMSEnvelopedDataGenerator edGen = new CMSEnvelopedDataGenerator();

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

             CMSEnvelopedData ed = edGen.generate(
                                             msg,
                                             new JceCMSContentEncryptorBuilder(CMSAlgorithm.DES_EDE3_CBC)
                                                    .setProvider("BC").build());

- - ### 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
    `CMSEnvelopedDataGenerator()` base constructor

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `CMSEnvelopedData` | `generate(CMSTypedData content, OutputEncryptor contentEncryptor)` generate an enveloped object that contains an CMS Enveloped Data object using the given provider.

    - ### 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

    - #### CMSEnvelopedDataGenerator

          public CMSEnvelopedDataGenerator()

      base constructor

  - ### Method Detail

    - #### generate

          public CMSEnvelopedData generate(CMSTypedData content,
                                  OutputEncryptor contentEncryptor)
                                    throws CMSException

      generate an enveloped object that contains an CMS Enveloped Data object using the given provider.
      Parameters:
        `content` - the content to be encrypted
        `contentEncryptor` - the symmetric key based encryptor to encrypt the content with.
      Throws:
        `CMSException`