| Crates.io | der |
| lib.rs | der |
| version | 0.8.0-rc.10 |
| created_at | 2020-12-17 19:20:36.976898+00 |
| updated_at | 2025-11-08 18:44:07.601629+00 |
| description | Pure Rust embedded-friendly implementation of the Distinguished Encoding Rules (DER) for Abstract Syntax Notation One (ASN.1) as described in ITU X.690 with full support for heapless no_std targets |
| homepage | https://github.com/RustCrypto/formats/tree/master/der |
| repository | https://github.com/RustCrypto/formats |
| max_upload_size | |
| id | 324007 |
| size | 518,856 |
Pure Rust embedded-friendly implementation of the Distinguished Encoding Rules (DER) for Abstract Syntax Notation One (ASN.1) as described in ITU X.690.
This crate provides a no_std-friendly implementation of a subset of ASN.1 DER
necessary for decoding/encoding the following cryptography-related formats
implemented as crates maintained by the RustCrypto project:
cms: Cryptographic Message Syntaxpkcs1: RSA Cryptography Specificationspkcs5: Password-Based Cryptography Specificationpkcs8: Private-Key Information Syntax Specificationpkcs12: Personal Information Exchange Syntaxsec1: Elliptic Curve Cryptographyspki: X.509 Subject Public Key Infox509-cert: Public Key Infrastructure Certificatex509-ocsp: Online Certificate Status ProtocolThe core implementation avoids any heap usage (with convenience methods
that allocate gated under the off-by-default alloc feature).
The DER decoder in this crate performs checks to ensure that the input document is in canonical form, and will return errors if non-canonical productions are encountered. There is currently no way to disable these checks.
no_std friendly: supports "heapless" usagealloc and std if desiredno_std friendly:
const-oid: const-friendly OID implementationpem-rfc7468: PKCS/PKIX-flavored PEM library with constant-time decoder/encoderstime crate: date/time libraryMSRV increases are not considered breaking changes and can happen in patch releases.
The crate MSRV accounts for all supported targets and crate feature combinations, excluding explicitly unstable features.
Licensed under either of:
at your option.
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.