Package org.bouncycastle.cms
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.AlgorithmIdentifiergetContentEncryptionAlgorithm()Return the content encryption algorithm details for the data in this object.java.lang.StringgetEncryptionAlgOID()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.OriginatorInformationgetOriginatorInfo()Return the originator information associated with this message if present.RecipientInformationStoregetRecipientInfos()return a store of the intended recipients for this messageorg.bouncycastle.asn1.cms.AttributeTablegetUnprotectedAttributes()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:
 CMSExceptionjava.io.IOException
 
- 
CMSEnvelopedDataParser
public CMSEnvelopedDataParser(java.io.InputStream envelopedData) throws CMSException, java.io.IOException- Throws:
 CMSExceptionjava.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.IOExceptionreturn a table of the unprotected attributes indexed by the OID of the attribute.- Throws:
 java.io.IOException
 
 - 
 
 -