Bouncy Castle Cryptography Library 1.85

org.bouncycastle.cms
Class CMSAuthEnvelopedDataParser

java.lang.Object
  extended byorg.bouncycastle.cms.CMSContentInfoParser
      extended byorg.bouncycastle.cms.CMSAuthEnvelopedDataParser

public class CMSAuthEnvelopedDataParser
extends CMSContentInfoParser

Parser for authenticated enveloped CMS data structures.

Stream handling note: The constructor reads only enough of the supplied InputStream to expose the CMS structure metadata (originator info, recipient infos, content-encryption algorithm). The encrypted content and trailing MAC are drained lazily by the caller via RecipientInformation.getContentStream(org.bouncycastle.cms.Recipient) / RecipientInformation.getContent(org.bouncycastle.cms.Recipient); the MAC is verified when the content stream reaches EOF. The supplied InputStream is not closed automatically. Call CMSContentInfoParser.close() on this parser (inherited from CMSContentInfoParser) to close the underlying InputStream, or close it yourself. This class does not introduce buffering — if you are processing large inputs, wrap the InputStream in a BufferedInputStream.


Field Summary
 
Fields inherited from class org.bouncycastle.cms.CMSContentInfoParser
_contentInfo, _data
 
Constructor Summary
CMSAuthEnvelopedDataParser(byte[] envelopedData)
          Create a parser from a byte array.
CMSAuthEnvelopedDataParser(java.io.InputStream envelopedData)
          Create a parser from an input stream.
 
Method Summary
 org.bouncycastle.asn1.cms.AttributeTable getAuthAttrs()
          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.
 java.lang.String getEncAlgOID()
          return the object identifier for the mac algorithm.
 byte[] getEncAlgParams()
          return the ASN.1 encoded encryption algorithm parameters, or null if there aren't any.
 org.bouncycastle.asn1.x509.AlgorithmIdentifier getEncryptionAlgOID()
          Return the MAC algorithm details for the MAC associated with the data in this object.
 byte[] getMac()
           
 OriginatorInformation getOriginatorInfo()
          Return the originator information associated with this message if present.
 RecipientInformationStore getRecipientInfos()
          return a store of the intended recipients for this message
 org.bouncycastle.asn1.cms.AttributeTable getUnauthAttrs()
          return a table of the unauthenticated attributes indexed by the OID of the attribute.
 
Methods inherited from class org.bouncycastle.cms.CMSContentInfoParser
close, isBEREncoded
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CMSAuthEnvelopedDataParser

public CMSAuthEnvelopedDataParser(byte[] envelopedData)
                           throws CMSException,
                                  java.io.IOException
Create a parser from a byte array.

Parameters:
envelopedData - the CMS auth enveloped data bytes

CMSAuthEnvelopedDataParser

public CMSAuthEnvelopedDataParser(java.io.InputStream envelopedData)
                           throws CMSException,
                                  java.io.IOException
Create a parser from an input stream. See the class-level javadoc for the stream handling protocol — the content is drained lazily via RecipientInformation.getContentStream(org.bouncycastle.cms.Recipient), and the supplied InputStream is not closed automatically.

Parameters:
envelopedData - the CMS auth enveloped data stream
Method Detail

getOriginatorInfo

public OriginatorInformation getOriginatorInfo()
Return the originator information associated with this message if present.

Returns:
OriginatorInformation, null if not present.

getEncryptionAlgOID

public org.bouncycastle.asn1.x509.AlgorithmIdentifier getEncryptionAlgOID()
Return the MAC algorithm details for the MAC associated with the data in this object.

Returns:
AlgorithmIdentifier representing the MAC algorithm.

getEncAlgOID

public java.lang.String getEncAlgOID()
return the object identifier for the mac algorithm.


getEncAlgParams

public byte[] getEncAlgParams()
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.IOException
return 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.IOException
return 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.

Bouncy Castle Cryptography Library 1.85