2 releases
0.1.1 | Aug 6, 2019 |
---|---|
0.1.0 | Jul 25, 2019 |
#9 in #encoding-rules
4KB
Abstract Syntax Notation One (ASN.1)
This crate is a collection of implementations for the ITU-T X.680–699 set of standards, also known as ASN.1. ASN.1 is divided between two areas: the notation language used to specify Protocol Data Units (PDUs) and the encoding/decoding rules for encoding the specification notation.
Use cases of ASN.1
ASN.1 is used in variety of applications, it's main use is in open standards for large organisations, as ASN.1 itself is an open standard, and the notation provides a language independent way to define protocol messages. The notation language also provides extensibility as a first-class citizen, allowing standards to be iterable, without breaking existing production applications. Below are some examples of areas where ASN.1 is in use today.
- Information sharing — X.500 Directory & LDAP
- Security — X.509 certificates, PKCS#12
- Wireless communication — LTE, 5G
- RFID — ISO 7816-4 (Organization, security and commands for interchange)
- Aviation — The Aeronautical Telecommunication Network
What the asn1
crate provides.
The asn1
is a facade crate over the asn1_core
, asn1_der
, and
asn1_notation
crates.
-
asn1_core
provides definitions ASN.1 data types for handling ASN.1 data as well for defining ASN.1 encoding rules. -
asn1_der
providesserde::{Deserialize, Serialize}
implementations for ASN.1 DER (Distingushed Encoding Rules). -
asn1_notation
provides a interface to an ASN.1 notation compiler. Note: The notation compiler is still a work in progress, and its use is not currently recommended.
Dependencies
~1–10MB
~102K SLoC