Rasn 0.5
Hello everyone, I'm proud to announce the 0.5 version of rasn! rasn is a code-first #[no_std]
codec framework for ASN.1 & Rust. Rasn make it easy to model ASN.1 schemas and support multiple encoding rules, allowing you to safely and easily parse ASN.1 data formats such as BER, CER, and DER in 100% safe Rust.
Sponsorship
Work on rasn is partially funded through the support of contributors on GitHub Sponsors. If you would like support work on rasn, tokei, and/or my other open source projects, contributions are always welcome, appreciated, and make a direct impact on my ability to build new projects as well as support existing ones.
New RFC Implementations
The main feature of this release is the addition several new crates and support for several RFC implementations, including support for CMS, S/MIME, CMS, and Kerberos authentication. Like the other core crates, these are the data types for the creating messages for these protocols, these crates, like rasn
are #[no_std]
, and completely I/O and transport protocol agnostic. Check out the documentation for more information on the specific crates.
- CMS: Cryptographic Message Syntax
- Kerberos Authentication Framework
- OCSP: Online Certificate Status Protocol
- S/MIME: Secure/Multipurpose Internet Mail Extensions
Funding Announcement
While not technically part of this release, I'm also proud to announce that rasn
has received a grant from the NGI Assure Fund established by the NLnet foundation to add support for constraints, Packed Encoding Rules (PER) (both aligned and unaligned variants), and support for the Common Alerting Protocol. The addition of these features will make rasn
one of the only open source ASN.1 libraries that allow to write a single model that supports for both X.690 and X.691, and open the possibility for supporting a variety protocols used in mission-critical systems. Support for these features will be added in the coming months, if you'd also like to help support the development of features, GitHub Sponsors are always welcome and appreciated.
Minor Changes
- Renamed
rasn_smi::IntoOpaque
toToOpaque
. - Add Attribute Certificate support in PKIX.
- Implement
Hash
on all PKIX types. - Replaced use of
static_assertions
with 1.57'sconst
asserts. This should provide better error messages for invalid encodings. - Fixed long form tag decoding.
- Added
Decoder::decoded_len
to better support stream-oriented protocols.