|0.9.2||Feb 26, 2023|
|0.9.1||Nov 13, 2022|
|0.9.0||Mar 12, 2022|
|0.7.1||Nov 30, 2021|
|0.2.0||Sep 5, 2020|
#45 in Data structures
1,047,438 downloads per month
Used in 1,638 crates (9 directly)
RustCrypto: Object Identifiers (OIDs)
Const-friendly implementation of the ISO/IEC Object Identifier (OID) standard
as defined in ITU X.660, with support for BER/DER encoding/decoding as well
no_std (i.e. embedded) environments.
Object Identifiers, a.k.a. OIDs, are an International Telecommunications Union (ITU) and ISO/IEC standard for naming any object, concept, or "thing" with a globally unambiguous persistent name.
The ITU's X.660 standard provides the OID specification. Every OID is part of a hierarchical namespace which begins with a root OID, which is either the ITU's root OID (0), the ISO's root OID (1), or the joint ISO/ITU root OID (2).
The following is an example of an OID, in this case identifying the
For more information, see: https://en.wikipedia.org/wiki/Object_identifier
This library supports parsing OIDs in const contexts, e.g.:
use const_oid::ObjectIdentifier; pub const MY_OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.840.1135184.108.40.206");
The OID parser is implemented entirely in terms of
const fn and without the
use of proc macros.
Additionally, it also includes a
const fn OID serializer, and stores the OIDs
parsed from const contexts encoded using the BER/DER serialization
ObjectIdentifier to impl
AsRef<[u8]> which can be used to
obtain the BER/DER serialization of an OID, even one declared
Additionally, it impls
TryFrom<&[u8]> and functions just as
well as a runtime OID library.
Minimum Supported Rust Version
This crate requires Rust 1.57 at a minimum.
We may change the MSRV in the future, but it will be accompanied by a minor version bump.
Licensed under either of:
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.