public class CMSEnvelopedDataParser extends CMSContentInfoParser
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._contentInfo, _data| Constructor and Description |
|---|
CMSEnvelopedDataParser(byte[] envelopedData) |
CMSEnvelopedDataParser(InputStream envelopedData) |
| Modifier and Type | Method and Description |
|---|---|
AlgorithmIdentifier |
getContentEncryptionAlgorithm()
Return the content encryption algorithm details for the data in this object.
|
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 message
|
AttributeTable |
getUnprotectedAttributes()
return a table of the unprotected attributes indexed by
the OID of the attribute.
|
closepublic CMSEnvelopedDataParser(byte[] envelopedData)
throws CMSException,
IOException
CMSExceptionIOExceptionpublic CMSEnvelopedDataParser(InputStream envelopedData) throws CMSException, IOException
CMSExceptionIOExceptionpublic String getEncryptionAlgOID()
public byte[] getEncryptionAlgParams()
public AlgorithmIdentifier getContentEncryptionAlgorithm()
public OriginatorInformation getOriginatorInfo()
public RecipientInformationStore getRecipientInfos()
public AttributeTable getUnprotectedAttributes() throws IOException
IOExceptionCopyright © 2015–2021 The veraPDF Consortium. All rights reserved.