rasn
rasn copied to clipboard
A Safe #[no_std] ASN.1 Codec Framework
The compiler should be able to be used as a standalone executable to compile ASN.1 to a variety of languages (currently just Rust). Ideally we'd have a much more fully...
Playground link: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=3f86d7648af09a1fb561b0c510fe0c9e I didn't notice any MSRV policy, but if you're not concerned with supporting older Rust versions, `ConstOid` can be removed and replaced with `const` associated functions on...
Any plan on adding PER/UPER encoding scheme to your nice crate?
Similar to #101 ideally we’d have a public codegen API that allows the compiler to generate languages other than Rust, and we’d have an API for generating ASN.1 notation back...
This is a non-trivial amount of work and I would not at all mind if it was declared out-of-scope, but it would be nice for rasn to be a full-fledged...
Currently the compiler does not support parameterisation which prevents it from being able to support many modern ASN.1 modules. These should be translated into type or const generics in Rust.
As a way to know when the compiler is ready for release, we should replace some of the handwritten implementations in this crate with compiler generated implementations. This is also...
[Section 3](https://datatracker.ietf.org/doc/html/rfc3416#section-3) of the [Version 2 of the Protocol Operations for the Simple Network Management Protocol (SNMP)](https://datatracker.ietf.org/doc/html/rfc3416) RFC specifies `IpAddress` as the following: `IpAddress ::= [APPLICATION 0] IMPLICIT OCTET STRING...
Instead of directly reexporting types such as `BigInt as Integer` and `Bytes as OctetString`, I think it makes a lot more sense to newtype these and provide a more stable...
[BACnet](http://www.bacnet.org/) uses ASN.1 to encode it's datastructures. It also defines an encoding that is similar but not the same as the standard BER encoding. The following are the main difference...