# Package org.bouncycastle.asn1.cms

Support classes useful for encoding and supporting Cryptographic Message Syntax as described in PKCS#7 and RFC 3369 (formerly RFC 2630).

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  CMSAttributes | RFC 5652 CMS attribute OID constants, RFC 6019 Binary Time, and RFC 6211 Algorithm Protection Attribute.
  CMSObjectIdentifiers |

- Class Summary
  Class | Description
  --- | ---
  Attribute | RFC 5652: Attribute is a pair of OID (as type identifier) + set of values.
  Attributes | RFC 5652 defines 5 "SET OF Attribute" entities with 5 different names.
  AttributeTable | This is helper tool to construct `Attributes` sets.
  AuthenticatedData | RFC 5652 section 9.1: The AuthenticatedData carries AuthAttributes and other data which define what really is being signed.
  AuthenticatedDataParser | Parse `AuthenticatedData` stream.
  AuthEnvelopedData | RFC 5083: CMS AuthEnveloped Data object.
  AuthEnvelopedDataParser | Parse `AuthEnvelopedData` input stream.
  BinaryTime | RFC 6019 `BinaryTime` type — the unsigned integer count of seconds since 1970-01-01T00:00:00Z (UTC).
  CCMParameters | RFC 5084: CCMParameters object.
  CMSAlgorithmProtection | From RFC 6211 CMSAlgorithmProtection ::= SEQUENCE { digestAlgorithm DigestAlgorithmIdentifier, signatureAlgorithm [1] SignatureAlgorithmIdentifier OPTIONAL, macAlgorithm [2] MessageAuthenticationCodeAlgorithm OPTIONAL } (WITH COMPONENTS { signatureAlgorithm PRESENT, macAlgorithm ABSENT } | WITH COMPONENTS { signatureAlgorithm ABSENT, macAlgorithm PRESENT })
  CMSORIforKEMOtherInfo | CMSORIforKEMOtherInfo ::= SEQUENCE { wrap KeyEncryptionAlgorithmIdentifier, kekLength INTEGER (1..65535), ukm [0] EXPLICIT UserKeyingMaterial OPTIONAL } UserKeyingMaterial ::= OCTET STRING
  CompressedData | RFC 3274: CMS Compressed Data.
  CompressedDataParser | Parser of RFC 3274 `CompressedData` object.
  ContentInfo | RFC 5652 ContentInfo, and RFC 5652 EncapsulatedContentInfo objects.
  ContentInfoParser | RFC 5652 `ContentInfo` object parser.
  DigestedData | RFC 5652 DigestedData object.
  EncryptedContentInfo | RFC 5652 EncryptedContentInfo object.
  EncryptedContentInfoParser | Parser for RFC 5652 EncryptedContentInfo object.
  EncryptedData | RFC 5652 EncryptedData object.
  EnvelopedData | RFC 5652 EnvelopedData object.
  EnvelopedDataParser | Parser of RFC 5652 `EnvelopedData` object.
  Evidence | RFC 5544: Binding Documents with Time-Stamps; Evidence object.
  GCMParameters | RFC 5084: GCMParameters object.
  GenericHybridParameters | RFC 5990 GenericHybridParameters class.
  IssuerAndSerialNumber | RFC 5652: IssuerAndSerialNumber object.
  KEKIdentifier | RFC 5652: Content encryption key delivery mechanisms.
  KEKRecipientInfo | RFC 5652: Content encryption key delivery mechanisms.
  KEMRecipientInfo | Defined in RFC 9629.
  KeyAgreeRecipientIdentifier | RFC 5652: Content encryption key delivery mechanisms.
  KeyAgreeRecipientInfo | RFC 5652: Content encryption key delivery mechanisms.
  KeyTransRecipientInfo | RFC 5652: Content encryption key delivery mechanisms.
  MetaData | RFC 5544: Binding Documents with Time-Stamps; MetaData object.
  OriginatorIdentifierOrKey | RFC 5652: Content encryption key delivery mechanisms.
  OriginatorInfo | RFC 5652: OriginatorInfo object.
  OriginatorPublicKey | RFC 5652: Content encryption key delivery mechanisms.
  OtherKeyAttribute | RFC 5652: OtherKeyAttribute object.
  OtherRecipientInfo | RFC 5652: Content encryption key delivery mechanisms.
  OtherRevocationInfoFormat | RFC 5652: OtherRevocationInfoFormat object.
  PasswordRecipientInfo | RFC 5652: Content encryption key delivery mechanisms.
  RecipientEncryptedKey | RFC 5652: Content encryption key delivery mechanisms.
  RecipientIdentifier | RFC 5652: Content encryption key delivery mechanisms.
  RecipientInfo | RFC 5652: Content encryption key delivery mechanisms.
  RecipientKeyIdentifier | RFC 5652: Content encryption key delivery mechanisms.
  RequesterCertificate | RFC 9763 sec. 4 `RequesterCertificate` CSR attribute value carrying the `id-aa-relatedCertRequest` request.
  RsaKemParameters | RFC 5990 RSA KEM parameters class.
  SCVPReqRes | RFC 5940: Additional Cryptographic Message Syntax (CMS) Revocation Information Choices.
  SignedData | RFC 5652: A signed data object containing multitude of `SignerInfo`s.
  SignedDataParser | Parser for RFC 5652: `SignedData` object.
  SignerIdentifier | RFC 5652: Identify who signed the containing `SignerInfo` object.
  SignerInfo | RFC 5652: Signature container per Signer, see `SignerIdentifier`.
  Time | RFC 5652: Dual-mode timestamp format producing either UTCTIme or GeneralizedTime.
  TimeStampAndCRL | RFC 5544 Binding Documents with Time-Stamps; TimeStampAndCRL object.
  TimeStampedData | RFC 5544: Binding Documents with Time-Stamps; TimeStampedData object.
  TimeStampedDataParser | Parser for RFC 5544: `TimeStampedData` object.
  TimeStampTokenEvidence | RFC 5544 Binding Documents with Time-Stamps; TimeStampTokenEvidence object.

## Package org.bouncycastle.asn1.cms Description

Support classes useful for encoding and supporting Cryptographic Message Syntax as described in PKCS#7 and RFC 3369 (formerly RFC 2630).