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.
-
-
Field Summary
-
Fields inherited from class org.bouncycastle.cms.CMSContentInfoParser
_contentInfo, _data
-
-
Constructor Summary
Constructors Constructor Description CMSEnvelopedDataParser(byte[] envelopedData)
CMSEnvelopedDataParser(java.io.InputStream envelopedData)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.bouncycastle.asn1.x509.AlgorithmIdentifier
getContentEncryptionAlgorithm()
Return the content encryption algorithm details for the data in 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 messageorg.bouncycastle.asn1.cms.AttributeTable
getUnprotectedAttributes()
return a table of the unprotected attributes indexed by the OID of the attribute.-
Methods inherited from class org.bouncycastle.cms.CMSContentInfoParser
close
-
-
-
-
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
-
-