Package org.bouncycastle.cms
Class CMSAuthenticatedDataParser
java.lang.Object
org.bouncycastle.cms.CMSContentInfoParser
org.bouncycastle.cms.CMSAuthenticatedDataParser
Parsing class for an CMS Authenticated 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.
CMSAuthenticatedDataParser ad = new CMSAuthenticatedDataParser(inputStream); RecipientInformationStore recipients = ad.getRecipientInfos(); Collection c = recipients.getRecipients(); Iterator it = c.iterator(); if (it.hasNext()) { RecipientInformation recipient = (RecipientInformation)it.next(); CMSTypedStream recData = recipient.getContentStream(new JceKeyTransAuthenticatedRecipient(privateKey).setProvider("BC")); processDataStream(recData.getContentStream()); if (!Arrays.equals(ad.getMac(), recipient.getMac()) { System.err.println("Data corrupted!!!!"); } }Note: this class does not introduce buffering - if you are processing large files you should create the parser with:
CMSAuthenticatedDataParser ep = new CMSAuthenticatedDataParser(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
ConstructorsConstructorDescriptionCMSAuthenticatedDataParser
(byte[] envelopedData) CMSAuthenticatedDataParser
(byte[] envelopedData, DigestCalculatorProvider digestCalculatorProvider) CMSAuthenticatedDataParser
(InputStream envelopedData) CMSAuthenticatedDataParser
(InputStream envelopedData, DigestCalculatorProvider digestCalculatorProvider) -
Method Summary
Modifier and TypeMethodDescriptionorg.bouncycastle.asn1.cms.AttributeTable
return a table of the unauthenticated attributes indexed by the OID of the attribute.byte[]
This will only be valid after the content has been read.byte[]
getMac()
return the object identifier for the mac algorithm.org.bouncycastle.asn1.x509.AlgorithmIdentifier
Return the MAC algorithm details for the MAC associated with the data in this object.byte[]
return the ASN.1 encoded encryption algorithm parameters, or null if there aren't any.Return the originator information associated with this message if present.return a store of the intended recipients for this messageorg.bouncycastle.asn1.cms.AttributeTable
return a table of the unauthenticated attributes indexed by the OID of the attribute.Methods inherited from class org.bouncycastle.cms.CMSContentInfoParser
close
-
Constructor Details
-
CMSAuthenticatedDataParser
- Throws:
CMSException
IOException
-
CMSAuthenticatedDataParser
public CMSAuthenticatedDataParser(byte[] envelopedData, DigestCalculatorProvider digestCalculatorProvider) throws CMSException, IOException - Throws:
CMSException
IOException
-
CMSAuthenticatedDataParser
- Throws:
CMSException
IOException
-
CMSAuthenticatedDataParser
public CMSAuthenticatedDataParser(InputStream envelopedData, DigestCalculatorProvider digestCalculatorProvider) throws CMSException, IOException - Throws:
CMSException
IOException
-
-
Method Details
-
getOriginatorInfo
Return the originator information associated with this message if present.- Returns:
- OriginatorInformation, null if not present.
-
getMacAlgorithm
public org.bouncycastle.asn1.x509.AlgorithmIdentifier getMacAlgorithm()Return the MAC algorithm details for the MAC associated with the data in this object.- Returns:
- AlgorithmIdentifier representing the MAC algorithm.
-
getMacAlgOID
return the object identifier for the mac algorithm. -
getMacAlgParams
public byte[] getMacAlgParams()return the ASN.1 encoded encryption algorithm parameters, or null if there aren't any. -
getRecipientInfos
return a store of the intended recipients for this message -
getMac
- Throws:
IOException
-
getAuthAttrs
return a table of the unauthenticated attributes indexed by the OID of the attribute.- Throws:
IOException
-
getUnauthAttrs
return a table of the unauthenticated attributes indexed by the OID of the attribute.- Throws:
IOException
-
getContentDigest
public byte[] getContentDigest()This will only be valid after the content has been read.- Returns:
- the contents of the messageDigest attribute, if available. Null if not present.
-