50 releases (19 breaking)

new 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

#60 in Parser implementations

Download history 65262/week @ 2024-11-19 64372/week @ 2024-11-26 59840/week @ 2024-12-03 62736/week @ 2024-12-10 64237/week @ 2024-12-17 36201/week @ 2024-12-24 45187/week @ 2024-12-31 68864/week @ 2025-01-07 62087/week @ 2025-01-14 66798/week @ 2025-01-21 68798/week @ 2025-01-28 73374/week @ 2025-02-04 73080/week @ 2025-02-11 73194/week @ 2025-02-18 76039/week @ 2025-02-25 61909/week @ 2025-03-04

297,247 downloads per month
Used in 6 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 the [dependencies] section of your Cargo.toml:

[dependencies]
asn1 = "0.20"

Builds on Rust 1.59.0 and newer.

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

asn1 = { version = "0.20", default-features = false }

Changelog

[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–670KB
~16K SLoC