Class CMSEnvelopedDataParser

java.lang.Object
org.bouncycastle.cms.CMSContentInfoParser
org.bouncycastle.cms.CMSEnvelopedDataParser

public class CMSEnvelopedDataParser extends CMSContentInfoParser
Parsing class for an CMS Enveloped Data object from an input stream.

Note: that because we are in a streaming mode only one recipient can be tried and it is important that the methods on the parser are called in the appropriate order.

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

      CMSEnvelopedDataParser     ep = new CMSEnvelopedDataParser(inputStream);

      RecipientInformationStore  recipients = ep.getRecipientInfos();

      Collection  c = recipients.getRecipients();
      Iterator    it = c.iterator();
      
      if (it.hasNext())
      {
          RecipientInformation   recipient = (RecipientInformation)it.next();

          CMSTypedStream recData = recipient.getContentStream(new JceKeyTransEnvelopedRecipient(privateKey).setProvider("BC"));
          
          processDataStream(recData.getContentStream());
      }
  
Note: this class does not introduce buffering - if you are processing large files you should create the parser with:
          CMSEnvelopedDataParser     ep = new CMSEnvelopedDataParser(new BufferedInputStream(inputStream, bufSize));
  
where bufSize is a suitably large buffer size.
  • Constructor Details

  • Method Details

    • 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.
    • 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.
    • getOriginatorInfo

      public OriginatorInformation getOriginatorInfo()
      Return the originator information associated with this message if present.
      Returns:
      OriginatorInformation, null if not present.
    • getRecipientInfos

      public RecipientInformationStore getRecipientInfos()
      return a store of the intended recipients for this message
    • getUnprotectedAttributes

      public org.bouncycastle.asn1.cms.AttributeTable getUnprotectedAttributes() throws IOException
      return a table of the unprotected attributes indexed by the OID of the attribute.
      Throws:
      IOException