Expand description
§RustCrypto: Cryptographic Message Syntax (CMS)
Pure Rust implementation of the Cryptographic Message Syntax (CMS) as described in RFC 5652, RFC 5911, and in RFC 3274.
§About
Cryptographic Message Syntax (CMS) is an IETF standard for encrypted messages, and can be used to sign and/or encrypt data. It uses a certificate-based architecture for authenticating principals who can exchange encrypted and/or signed messages.
CMS is based on the syntax of PKCS #7, itself based on the Privacy-Enhanced Mail (PEM) standard.
It’s used in many cryptographic standards, such as S/MIME, PKCS#12 and the RFC 3161 digital timestamping protocol.
§Minimum Supported Rust Version
This crate requires Rust 1.65 at a minimum.
We may change the MSRV in the future, but it will be accompanied by a minor version bump.
§License
Licensed under either of:
at your option.
§Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
§p7b
support
This crate can be used to convert an X.509 certificate into a certs-only
signed_data::SignedData
message, a.k.a .p7b
file.
Use a TryFrom
conversion between cert::x509::Certificate
and
content_info::ContentInfo
to generate the data structures, then use
to_der
to serialize it.
Modules§
- attr
- Attribute-related types
- authenticated_
data - AuthenticatedData-related types
- builder
builder
- CMS Builder
- cert
- Certificate-related types
- compressed_
data - CompressedData-related types
- content_
info - ContentInfo types
- digested_
data - DigestedData-related types
- encrypted_
data - EncryptedData-related types
- enveloped_
data - EnvelopedData-related types
- revocation
- Revocation-related types
- signed_
data - SignedData-related types
- timestamped_
data - TimeStampedData-related types