Class CMSAuthEnvelopedDataParser

java.lang.Object
org.bouncycastle.cms.CMSContentInfoParser
org.bouncycastle.cms.CMSAuthEnvelopedDataParser

public class CMSAuthEnvelopedDataParser extends CMSContentInfoParser
Parser for authenticated enveloped CMS data structures.

Important usage notes:

  • The constructor fully drains and closes the provided InputStream
  • Plaintext content is buffered in memory and available via RecipientInformation
  • Do not reuse the input stream after parsing
  • Constructor Details

    • CMSAuthEnvelopedDataParser

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

      Note: The input is fully consumed during parsing. Plaintext content is buffered in memory.

      Parameters:
      envelopedData - the CMS auth enveloped data bytes
      Throws:
      CMSException
      IOException
    • CMSAuthEnvelopedDataParser

      public CMSAuthEnvelopedDataParser(InputStream envelopedData) throws CMSException, IOException
      Create a parser from an input stream.

      Stream handling note: This constructor fully reads and closes the input stream before returning. The plaintext content is buffered in memory and accessible via RecipientInformation.getContentStream(Recipient).

      Parameters:
      envelopedData - the CMS auth enveloped data stream
      Throws:
      CMSException
      IOException
  • Method Details

    • 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 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 IOException
      Throws:
      IOException
    • getAuthAttrs

      public org.bouncycastle.asn1.cms.AttributeTable getAuthAttrs() throws IOException
      return a table of the unauthenticated attributes indexed by the OID of the attribute.
      Throws:
      IOException
    • getUnauthAttrs

      public org.bouncycastle.asn1.cms.AttributeTable getUnauthAttrs() throws IOException
      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.