Crate rasn_cms[][src]

Expand description

Cryptographic Message Syntax

rasn-cms is an implementation of the data types defined in IETF RFC 5652 also known as CMS or PKCS#7. This does not provide an implementation of a CMS generator or validator, rasn-cms provides an implementation of the underlying data types used to decode and encode the CMS structures from/to DER or BER.

Structs

AuthenticatedData represents an authenticated-data content type

ContentInfo encapsulates a single identified content type, and the identified type may provide further encapsulation.

DigestedData represents a digested-data content type

The content is represented in the type EncapsulatedContentInfo

EncryptedContentInfo is the encrypted content information

EncryptedData represents an encrypted-data content type

EnvelopedData represents an enveloped-data content type

The IssuerAndSerialNumber type identifies a certificate, and thereby an entity and a public key, by the distinguished name of the certificate issuer and an issuer-specific certificate serial number.

KekIdentifier specifies a symmetric key-encryption key that was previously distributed to the sender and one or more recipients.

Recipient information using previously distributed symmetric keys is represented in the type KEKRecipientInfo.

Recipient information using key agreement is represented in the type KeyAgreeRecipientInfo.

Per-recipient information using key transport is represented in the type KeyTransRecipientInfo. Each instance of KeyTransRecipientInfo transfers the content-encryption key to one recipient.

OriginatorInfo optionally provides information about the originator. It is present only if required by the key management algorithm.

The OriginatorPublicKey alternative includes the algorithm identifier and sender’s key agreement public key.

OtherCertificateFormat represents a custom certificate format

Additional information used by the recipient to determine the key-encryption key used by the sender.

Recipient information for additional key management techniques are represented in the type OtherRecipientInfo.

The OtherRevocationInfoFormat alternative is provided to support any other revocation information format without further modifications to the CMS.

Recipient information using a password or shared secret value is represented in the type PasswordRecipientInfo.

RecipientEncryptedKey includes a recipient identifier and encrypted key for one or more recipients.

RecipientKeyIdentifier identifies the recipient’s key.

SignedData represents a signed-data content type

Per-signer information is represented in the type SignerInfo

Enums

The CertificateChoices type gives either a PKCS #6 extended certificate [PKCS#6], an X.509 certificate, a version 1 X.509 attribute certificate (ACv1) [X.509-97], a version 2 X.509 attribute certificate (ACv2) [X.509-00], or any other certificate format. This implementation only supports either X.509 or custom certificate formats.

KeyAgreeRecipientIdentifier is a CHOICE with two alternatives specifying the recipient’s certificate, and thereby the recipient’s public key, that was used by the sender to generate a pairwise key-encryption key.

OriginatorIdentifierOrKey is a CHOICE with three alternatives specifying the sender’s key agreement public key.

RecipientIdentifier specifies the recipient’s certificate or key that was used by the sender to protect the content-encryption key.

RecipientInfo is a per-recipient information.

The RevocationInfoChoice type gives a revocation status information alternatives. It is intended that the set contain information sufficient to determine whether the certificates and attribute certificates with which the set is associated are revoked.

SignerIdentifier data type represents the choice of signer identifications

Constants

OID of AuthenticatedData content type

OID of Data content type

OID of DigestedData content type

OID of EncryptedData content type

OID of EnvelopedData content type

OID of top-level CMS ContentInfo

OID of SignedData content type

OID of CMS ContentType

OID of CounterSignature

OID of MessageDigest

OID of SigningTime

Type Definitions