Class 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 Detail

      • CMSEnvelopedDataParser

        public CMSEnvelopedDataParser​(byte[] envelopedData)
                               throws CMSException,
                                      java.io.IOException
        Throws:
        CMSException
        java.io.IOException
      • CMSEnvelopedDataParser

        public CMSEnvelopedDataParser​(java.io.InputStream envelopedData)
                               throws CMSException,
                                      java.io.IOException
        Throws:
        CMSException
        java.io.IOException
    • Method Detail

      • 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.
      • 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 java.io.IOException
        return a table of the unprotected attributes indexed by the OID of the attribute.
        Throws:
        java.io.IOException