Package org.bouncycastle.cms
Class CMSAuthenticatedDataParser
- java.lang.Object
 - 
- org.bouncycastle.cms.CMSContentInfoParser
 - 
- org.bouncycastle.cms.CMSAuthenticatedDataParser
 
 
 
- 
public class CMSAuthenticatedDataParser extends CMSContentInfoParser
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
Constructors Constructor Description CMSAuthenticatedDataParser(byte[] envelopedData)CMSAuthenticatedDataParser(byte[] envelopedData, DigestCalculatorProvider digestCalculatorProvider)CMSAuthenticatedDataParser(java.io.InputStream envelopedData)CMSAuthenticatedDataParser(java.io.InputStream envelopedData, DigestCalculatorProvider digestCalculatorProvider) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.bouncycastle.asn1.cms.AttributeTablegetAuthAttrs()return a table of the unauthenticated attributes indexed by the OID of the attribute.byte[]getContentDigest()This will only be valid after the content has been read.byte[]getMac()java.lang.StringgetMacAlgOID()return the object identifier for the mac algorithm.org.bouncycastle.asn1.x509.AlgorithmIdentifiergetMacAlgorithm()Return the MAC algorithm details for the MAC associated with the data in this object.byte[]getMacAlgParams()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.AttributeTablegetUnauthAttrs()return a table of the unauthenticated attributes indexed by the OID of the attribute.- 
Methods inherited from class org.bouncycastle.cms.CMSContentInfoParser
close 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
CMSAuthenticatedDataParser
public CMSAuthenticatedDataParser(byte[] envelopedData) throws CMSException, java.io.IOException- Throws:
 CMSExceptionjava.io.IOException
 
- 
CMSAuthenticatedDataParser
public CMSAuthenticatedDataParser(byte[] envelopedData, DigestCalculatorProvider digestCalculatorProvider) throws CMSException, java.io.IOException- Throws:
 CMSExceptionjava.io.IOException
 
- 
CMSAuthenticatedDataParser
public CMSAuthenticatedDataParser(java.io.InputStream envelopedData) throws CMSException, java.io.IOException- Throws:
 CMSExceptionjava.io.IOException
 
- 
CMSAuthenticatedDataParser
public CMSAuthenticatedDataParser(java.io.InputStream envelopedData, DigestCalculatorProvider digestCalculatorProvider) throws CMSException, java.io.IOException- Throws:
 CMSExceptionjava.io.IOException
 
 - 
 
- 
Method Detail
- 
getOriginatorInfo
public OriginatorInformation 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
public java.lang.String 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
public RecipientInformationStore getRecipientInfos()
return a store of the intended recipients for this message 
- 
getMac
public byte[] getMac() throws java.io.IOException- Throws:
 java.io.IOException
 
- 
getAuthAttrs
public org.bouncycastle.asn1.cms.AttributeTable getAuthAttrs() throws java.io.IOExceptionreturn a table of the unauthenticated attributes indexed by the OID of the attribute.- Throws:
 java.io.IOException
 
- 
getUnauthAttrs
public org.bouncycastle.asn1.cms.AttributeTable getUnauthAttrs() throws java.io.IOExceptionreturn a table of the unauthenticated attributes indexed by the OID of the attribute.- Throws:
 java.io.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.
 
 
 - 
 
 -