50 releases (19 breaking)

0.21.0 Mar 10, 2025
0.20.0 Nov 21, 2024
0.19.0 Nov 17, 2024
0.16.2 Jun 2, 2024
0.1.0 Jul 21, 2015

#58 in Parser implementations

Download history 60687/week @ 2024-11-28 60970/week @ 2024-12-05 64617/week @ 2024-12-12 49572/week @ 2024-12-19 36275/week @ 2024-12-26 60217/week @ 2025-01-02 65562/week @ 2025-01-09 64759/week @ 2025-01-16 66492/week @ 2025-01-23 71092/week @ 2025-01-30 75459/week @ 2025-02-06 70519/week @ 2025-02-13 76707/week @ 2025-02-20 71702/week @ 2025-02-27 75088/week @ 2025-03-06 56666/week @ 2025-03-13

292,529 downloads per month
Used in 7 crates

BSD-3-Clause

195KB
5K SLoC

rust-asn1

Dependency Status Documentation

This is a Rust library for parsing and generating ASN.1 data (DER only).

Installation

Add asn1 to your Cargo.toml:

$ cargo add asn1

Builds on Rust 1.65.0 and newer.

rust-asn1 is compatible with #![no_std] environments:

$ cargo add asn1 --no-default-features

Changelog

[0.21.0]

Changes

  • Updated MSRV to 1.65.0.

Fixes

  • Fixed "perfect derives" in conjunction with #[derive(Asn1DefinedByRead)] and #[derive(Asn1DefinedByWrite)]. (#506)

[0.20.0]

🚨 Breaking changes

  • Removed Writer::{write_explicit_element, write_optional_explicit_element, write_implicit_element, write_optional_implicit_element}. These can all be better accomplished with the asn1::Explicit and asn1::Implicit types.

Fixes

[0.19.0]

🚨 Breaking changes

  • GeneralizedTime has been renamed to X509GeneralizedTime. The type does not allow fractional seconds, however this restriction is not actually a DER rule, it is specific to X.509. (#494)

  • GeneralizedTime is a new type that accepts fractional seconds replacing the old GeneralizedTime. (#492)

  • #[derive(asn1::Asn1Read)] and #[derive(asn1::Asn1Write)] now implement "perfect derives". (#496)

Dependencies

~220–660KB
~16K SLoC