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.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CMSEnvelopedDataParser
public CMSEnvelopedDataParser(byte[] envelopedData)
throws CMSException,
java.io.IOException
CMSEnvelopedDataParser
public CMSEnvelopedDataParser(java.io.InputStream envelopedData)
throws CMSException,
java.io.IOException
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
-