Class CMSEnvelopedData

java.lang.Object
org.bouncycastle.cms.CMSEnvelopedData
All Implemented Interfaces:
org.bouncycastle.util.Encodable

public class CMSEnvelopedData extends 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 Details

    • CMSEnvelopedData

      public CMSEnvelopedData(byte[] envelopedData) throws CMSException
      Throws:
      CMSException
    • CMSEnvelopedData

      public CMSEnvelopedData(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 Details

    • 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 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 IOException
      return the ASN.1 encoded representation of this object.
      Specified by:
      getEncoded in interface org.bouncycastle.util.Encodable
      Throws:
      IOException