Crate rasn_cms

Source
Expand description

§Cryptographic Message Syntax

rasn-cms is an implementation of the data types defined in IETF RFC 4108, RFC 5083, RFC 5084, and RFC 5652. Also known as Cryptographic Message Syntax (CMS) or PKCS#7.

This does not provide an implementation of a CMS generator or validator, instead rasn-cms provides an implementation of the underlying data types used to decode and encode the CMS structures from/to DER or BER.

Modules§

algorithms
Algorithms used with CMS.
authenticode
Windows Authenticode Portable Executable Signature Format
firmware_wrapper
Firmware Package Wrappers
pkcs7_compat
PKCS7 compatibility module.

Structs§

AlgorithmIdentifier
Identifies what algorithm was used, along with any parameters used as input.
Attribute
AuthEnvelopedData
AuthenticatedData
AuthenticatedData represents an authenticated-data content type
Certificate
An X.509 certificate
CertificateList
A signed list of revoked certificates.
ContentInfo
ContentInfo encapsulates a single identified content type, and the identified type may provide further encapsulation.
DigestedData
DigestedData represents a digested-data content type
EncapsulatedContentInfo
The content is represented in the type EncapsulatedContentInfo
EncryptedContentInfo
EncryptedContentInfo is the encrypted content information
EncryptedData
EncryptedData represents an encrypted-data content type
EnvelopedData
EnvelopedData represents an enveloped-data content type
ExtendedCertificate
ExtendedCertificateInfo
IssuerAndSerialNumber
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
KekIdentifier specifies a symmetric key-encryption key that was previously distributed to the sender and one or more recipients.
KekRecipientInfo
Recipient information using previously distributed symmetric keys is represented in the type KEKRecipientInfo.
KeyAgreeRecipientInfo
Recipient information using key agreement is represented in the type KeyAgreeRecipientInfo.
KeyTransRecipientInfo
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
OriginatorInfo optionally provides information about the originator. It is present only if required by the key management algorithm.
OriginatorPublicKey
The OriginatorPublicKey alternative includes the algorithm identifier and sender’s key agreement public key.
OtherCertificateFormat
OtherCertificateFormat represents a custom certificate format
OtherKeyAttribute
Additional information used by the recipient to determine the key-encryption key used by the sender.
OtherRecipientInfo
Recipient information for additional key management techniques are represented in the type OtherRecipientInfo.
OtherRevocationInfoFormat
The OtherRevocationInfoFormat alternative is provided to support any other revocation information format without further modifications to the CMS.
PasswordRecipientInfo
Recipient information using a password or shared secret value is represented in the type PasswordRecipientInfo.
RecipientEncryptedKey
RecipientEncryptedKey includes a recipient identifier and encrypted key for one or more recipients.
RecipientKeyIdentifier
RecipientKeyIdentifier identifies the recipient’s key.
SignedData
SignedData represents a signed-data content type
SignerInfo
Per-signer information is represented in the type SignerInfo

Enums§

CertificateChoices
The `CertificateChoices`` type contains options for certificate formats.
ExtendedCertificateOrCertificate
KeyAgreeRecipientIdentifier
KeyAgreeRecipientIdentifier is a CHOICE with two alternatives.
Name
OriginatorIdentifierOrKey
OriginatorIdentifierOrKey is a CHOICE with three alternatives specifying the sender’s key agreement public key.
RecipientIdentifier
RecipientIdentifier specifies the recipient’s certificate or key that was used by the sender to protect the content-encryption key.
RecipientInfo
RecipientInfo is a per-recipient information.
RevocationInfoChoice
The RevocationInfoChoice type gives a revocation status information alternatives.
SignerIdentifier
SignerIdentifier data type represents the choice of signer identifications

Constants§

CONTENT_AUTHENTICATED_DATA
OID of AuthenticatedData content type
CONTENT_DATA
OID of Data content type
CONTENT_DIGESTED_DATA
OID of DigestedData content type
CONTENT_ENCRYPTED_DATA
OID of EncryptedData content type
CONTENT_ENVELOPED_DATA
OID of EnvelopedData content type
CONTENT_INFO
OID of top-level CMS ContentInfo
CONTENT_SIGNED_DATA
OID of SignedData content type
CONTENT_TYPE
OID of CMS ContentType
COUNTER_SIGNATURE
OID of CounterSignature
MESSAGE_DIGEST
OID of MessageDigest
SIGNING_TIME
OID of SigningTime

Type Aliases§

AuthAttributes
CertificateSerialNumber
CertificateSet
CmsVersion
ContentEncryptionAlgorithmIdentifier
ContentType
Digest
DigestAlgorithmIdentifier
DigestAlgorithmIdentifiers
EncryptedContent
EncryptedKey
KeyDerivationAlgorithmIdentifier
KeyEncryptionAlgorithmIdentifier
MessageAuthenticationCode
MessageAuthenticationCodeAlgorithm
RecipientEncryptedKeys
RecipientInfos
RevocationInfoChoices
Signature
SignatureAlgorithmIdentifier
SignatureValue
SignedAttributes
SignerInfos
SubjectKeyIdentifier
UnauthAttributes
UnprotectedAttributes
UnsignedAttributes
UserKeyingMaterial