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

org.bouncycastle.cms

## Class CMSEnvelopedData

- java.lang.Object
- - org.bouncycastle.cms.CMSEnvelopedData

- All Implemented Interfaces:
    org.bouncycastle.util.Encodable

      public class CMSEnvelopedData
      extends java.lang.Object
      implements org.bouncycastle.util.Encodable

  containing class for an CMS Enveloped Data object

  Example of use - assuming the first recipient matches the private key we have.

            CMSEnvelopedData     ed = new CMSEnvelopedData(inputStream);

            RecipientInformationStore  recipients = ed.getRecipientInfos();

            Collection  c = recipients.getRecipients();
            Iterator    it = c.iterator();

            if (it.hasNext())
            {
                RecipientInformation   recipient = (RecipientInformation)it.next();

                byte[] recData = recipient.getContent(new JceKeyTransEnvelopedRecipient(privateKey).setProvider("BC"));

                processData(recData);
            }

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CMSEnvelopedData(byte[] envelopedData)`
    `CMSEnvelopedData(org.bouncycastle.asn1.cms.ContentInfo contentInfo)` Construct a CMSEnvelopedData object from a content info object.
    `CMSEnvelopedData(java.io.InputStream envelopedData)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `org.bouncycastle.asn1.x509.AlgorithmIdentifier` | `getContentEncryptionAlgorithm()` Return the content encryption algorithm details for the data in this object.
    `byte[]` | `getEncoded()` return the ASN.1 encoded representation of this object.
    `java.lang.String` | `getEncryptionAlgOID()` return the object identifier for the content encryption algorithm.
    `byte[]` | `getEncryptionAlgParams()` return the ASN.1 encoded encryption algorithm parameters, or null if there aren't any.
    `OriginatorInformation` | `getOriginatorInfo()` Return the originator information associated with this message if present.
    `RecipientInformationStore` | `getRecipientInfos()` return a store of the intended recipients for this message
    `org.bouncycastle.asn1.cms.AttributeTable` | `getUnprotectedAttributes()` return a table of the unprotected attributes indexed by the OID of the attribute.
    `org.bouncycastle.asn1.cms.ContentInfo` | `toASN1Structure()` return the ContentInfo

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

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

- - ### Constructor Detail

    - #### CMSEnvelopedData

          public CMSEnvelopedData(byte[] envelopedData)
                           throws CMSException

      Throws:
        `CMSException`

    - #### CMSEnvelopedData

          public CMSEnvelopedData(java.io.InputStream envelopedData)
                           throws CMSException

      Throws:
        `CMSException`

    - #### CMSEnvelopedData

          public CMSEnvelopedData(org.bouncycastle.asn1.cms.ContentInfo contentInfo)
                           throws CMSException

      Construct a CMSEnvelopedData object from a content info object.
      Parameters:
        `contentInfo` - the contentInfo containing the CMS EnvelopedData object.
      Throws:
        `CMSException` - in the case where malformed content is encountered.

  - ### Method Detail

    - #### getOriginatorInfo

          public OriginatorInformation getOriginatorInfo()

      Return the originator information associated with this message if present.
      Returns:
        OriginatorInformation, null if not present.

    - #### getContentEncryptionAlgorithm

          public org.bouncycastle.asn1.x509.AlgorithmIdentifier getContentEncryptionAlgorithm()

      Return the content encryption algorithm details for the data in this object.
      Returns:
        AlgorithmIdentifier representing the content encryption algorithm.

    - #### getEncryptionAlgOID

          public java.lang.String getEncryptionAlgOID()

      return the object identifier for the content encryption algorithm.

    - #### getEncryptionAlgParams

          public byte[] getEncryptionAlgParams()

      return the ASN.1 encoded encryption algorithm parameters, or null if there aren't any.

    - #### getRecipientInfos

          public RecipientInformationStore getRecipientInfos()

      return a store of the intended recipients for this message

    - #### toASN1Structure

          public org.bouncycastle.asn1.cms.ContentInfo toASN1Structure()

      return the ContentInfo

    - #### getUnprotectedAttributes

          public org.bouncycastle.asn1.cms.AttributeTable getUnprotectedAttributes()

      return a table of the unprotected attributes indexed by the OID of the attribute.

    - #### getEncoded

          public byte[] getEncoded()
                            throws java.io.IOException

      return the ASN.1 encoded representation of this object.
      Specified by:
        `getEncoded` in interface `org.bouncycastle.util.Encodable`
      Throws:
        `java.io.IOException`