PackageTrack
Sign in Get early access

asn1-rs

Parser/encoder for ASN.1 BER/DER data

0.7.2 142M downloads/mo #637 most downloaded on crates.io rusticata/asn1-rs

What this package is like to depend on

Last release 3 months ago

18 May 2026

Release timing varies

gaps range from 2 weeks to 13 months

Most releases are documented

notes for 12 of 16 stable releases

Nothing withdrawn

no release was ever pulled

5 years old

18 releases · first in 2021

2 releases in the last 12 months

see the full history below

Release timeline

18 releases · Jul 2021 to May 2026
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 18
  1. 0.8.0-beta.2 18 May 2026 pre-release
    Release notes

    Release asn1-rs-0.8.0-beta.2

    Open source →
  2. 0.8.0-beta.1 14 Apr 2025 pre-release
    Release notes

    Release asn1-rs-0.8.0-beta.1

    Open source →
  3. 0.7.2 18 May 2026
    Release notes

    Changed/Fixed

    • Fix potential denial of service when REAL from NaN

    Encoding of "Real" type does not handle NaN (Not a Number) special case, and attempting to call Real::new(f64::NaN) will:

    • on a release build, enter an infinite loop (due to an underflow in exponent encoding)
    • on a debug build, trigger a panic

    This is considered as low-severity.

    Thanks to Domen Puncer Kugler [email protected] for the report.

    • Bump dependency on time, and update Cargo.lock to use 0.3.47 Previous versions of time are affected by 'RUSTSEC-2026-0009' and cause cargo audit to fail

      Note: features from this advisory are not used in asn1-rs, which is not affected. This changed is only required because it causes failures in CI runs of dependant software.

      As a side-effect, time requires an update of the MSRV, which is now 1.68

    Open source →
  4. 0.7.1 17 Mar 2025
    Release notes Open source →
    Release notes

    Changed/Fixed

    • Update lock file
    • Update features trace and debug to depend on std (#70)
    • Fix doctests with --no-default-features
    • Make some tests conditional if std is not enabled
    • Fix misc clippy (nightly) warnings
    Open source →
  5. 0.7.0 16 Jan 2025
    Release notes

    What's Changed

    New Contributors

    Full Changelog: asn1-rs-0.5.2...asn1-rs-0.7.0

    Open source →
    Release notes

    Changed/Fixed

    • Update thiserror to 2.0 and derive Error for error types (even with no_std)

    Added

    • Add ToStatic custom derive attribute
    • Add ToDerSequence custom derive attribute (#44)
    Open source →
  6. 0.6.2 31 Jul 2024
    Release notes

    Changed/Fixed

    Important:

    • Fix a potential panic when using derived parsers, when using custom errors (see #40) This affects only auto-derived parsers specifying a custom error, and parsing incomplete data.

    Fixed:

    • Fix wrong encoding of large tags (#43)
    • Fix wrong encoding of optional TaggedImplicit object (#42)

    General:

    • Add licences to sub-crates (#38)
    • Refactor CI (#36, #41)
    • Updates license field to valid SPDX format (#34)

    Thanks

    • Daniel McCarney, Łukasz Wojniłowicz, Isaiah Becker-Mayer, Philip Ye
    Open source →
  7. 0.6.1 27 Feb 2024
    Release notes

    Changed/Fixed

    • Provide implementations for Option<Any>::from_der
    Open source →
  8. 0.6.0 23 Feb 2024
    Release notes

    Changed/Fixed

    General:

    • Set MSRV to 1.67.0
    • Add PartialEq to SequenceOf and SetOf
    • Implement traits for SequenceOf and SetOf to improve usability
    • Fix receiver lifetimes in Any methods
    • Implement BmpString::try_from for &Any (so it does not need to consume input) (#26)
    • oid: change macro to expect dot-separated literals (#28)
    • Fix wrong tag in encoding of SET OF (#30)
    • Option: require T::Tagged, and check tag before constraints (#27)
    • Add missing constructed bit when serializing [2] IMPLICIT) (#18)
    • Add methods to convert Any to Real
    • Add tag for CHARACTER STRING (29)
    • Fix method Any::as_generalstring (wrong return type)
    • Add method Any::as_bmpstring
    • Fix clippy warnings (1.76.0)

    Dependencies updates:

    • pem to 3.0
    • hex-literal to 0.4
    • syn to 2.0
    • examples: drop circular dev-dependency caused by oid-registry

    Thanks

    • Sergio Benitez, Andrey Chesnokov
    Open source →
  9. 0.5.2 07 Mar 2023
    Release notes

    What's Changed

    • Fix decoding of integers: check if value will wrap if integer is signed
    • Fix encoding of integers (add 0x00 prefix when required, and remove extra 0xff for negative integers)
    • Fix a small math error in GeneralizedTime
    • Introduce trait GetObjectContent, use from_ber when skipping BER content (closes #14)

    New Contributors

    Full Changelog: asn1-rs-0.5.1...asn1-rs-0.5.2

    Open source →
    Release notes

    Changed/Fixed

    • Fix decoding of integers: check if value will wrap if integer is signed
    • Fix encoding of integers (add 0x00 prefix when required, and remove extra 0xff for negative integers)
    • Fix a small math error in GeneralizedTime
    • Introduce trait GetObjectContent, use from_ber when skipping BER content (closes #14)

    Thanks

    • Nadja Reitzenstein, Christian Speich
    Open source →
  10. 0.5.1 20 Jun 2022
    Release notes

    Minor fixes:

    • Fix constraints too strict on TaggedValue::FromDer, do not auto-derive
    • Update oid-registry
    • Fix Any::as_relative_oid to take a reference (and not consume input)

    derive:

    • Add special case handler for alias to Any
    • Add support for DEFAULT attribute
    Open source →
    Release notes

    Minor fixes:

    • Fix constraints too strict on TaggedValue::FromDer, do not auto-derive
    • Update oid-registry
    • Fix Any::as_relative_oid to take a reference (and not consume input)

    derive:

    • Add special case handler for alias to Any
    • Add support for DEFAULT attribute
    Open source →
  11. 0.5.0 24 May 2022
    Release notes

    This release adds some new methods and custom derive attributes. It also adds a lot of tests to improve code coverage.

    asn1-rs:

    • Add helper types for Application/Private tagged values
    • Any: add methods from_ber_and_then (and _der)
    • TaggedParser: add documentation for from_ber_and_then (and _der)
    • Oid: add method starts_with
    • Fix documentation of application and private tagged helpers
    • Fix clippy warnings

    derive:

    • Add custom derive BerAlias and DerAlias

    coverage:

    • Add many tests to improve coverage
    Open source →
  12. 0.4.2 08 May 2022
    Release notes

    Bugfix release:

    • Remove explicit output lifetime in traits
    • Fix wrong encoding BmpString when using ToDer
    • Fix parsing of some EmbeddedPdv subtypes
    • Fix encoded length for Enumerated
    • Add missing DerAutoDerive impl for bool
    • Add missing DerAutoDerive impl for f32/f64
    • Remove redundant check, Any::from_der checks than length is definite
    • Length: fix potential bug when adding Length + Indefinite
    • Fix inverted logic in Header::assert_definite()
    Open source →
  13. 0.4.1 11 Apr 2022
    Release notes

    Minor fix:

    • add missing file in distribution (fix docs.rs build)
    Open source →
  14. 0.4.0 11 Apr 2022
    Release notes

    asn1-rs:

    • Add generic error parameter in traits and in types
      • This was added for all types except a few (like Vec<T> or BTreeSet<T>) due to Rust compiler limitations
    • Add DerAutoDerive trait to control manual/automatic implementation of FromDer
      • This allow controlling automatic trait implementation, and providing manual implementations of both FromDer and CheckDerConstraints
    • UtcTime: Introduce utc_adjusted_date() to map 2 chars years date to 20/21 centuries date (#9)

    derive:

    • Add attributes to simplify deriving EXPLICIT, IMPLICIT and OPTIONAL
    • Add support for different tag classes (like APPLICATION or PRIVATE)
    • Add support for custom errors and mapping errors
    • Add support for deriving BER/DER SET
    • DerDerive: derive both CheckDerConstraints and FromDer

    documentation:

    • Add doc modules for recipes and for custom derive attributes
    • Add note on trailing bytes being ignored in sequence
    • Improve documentation for notation with braces in TaggedValue
    • Improve documentation
    Open source →
  15. 0.3.1 09 Feb 2022

    Nothing published for this version

  16. 0.3.0 31 Jan 2022

    Nothing published for this version

  17. 0.2.0 20 Jul 2021

    Nothing published for this version

  18. 0.1.0 06 Jul 2021

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive