From a0aa2307322cd47bbf416810ac0292925e03be87 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 19:39:49 +0200 Subject: Adding upstream version 1:7.0.3. Signed-off-by: Daniel Baumann --- rust/vendor/oid-registry/README.md | 94 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 rust/vendor/oid-registry/README.md (limited to 'rust/vendor/oid-registry/README.md') diff --git a/rust/vendor/oid-registry/README.md b/rust/vendor/oid-registry/README.md new file mode 100644 index 0000000..b058555 --- /dev/null +++ b/rust/vendor/oid-registry/README.md @@ -0,0 +1,94 @@ + + +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE-MIT) +[![Apache License 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](./LICENSE-APACHE) +[![docs.rs](https://docs.rs/oid-registry/badge.svg)](https://docs.rs/oid-registry) +[![crates.io](https://img.shields.io/crates/v/oid-registry.svg)](https://crates.io/crates/oid-registry) +[![Github CI](https://github.com/rusticata/oid-registry/workflows/Continuous%20integration/badge.svg)](https://github.com/rusticata/oid-registry/actions) +[![Minimum rustc version](https://img.shields.io/badge/rustc-1.53.0+-lightgray.svg)](#rust-version-requirements) +# OID Registry + +This crate is a helper crate, containing a database of OID objects. These objects are intended +for use when manipulating ASN.1 grammars and BER/DER encodings, for example. + +This crate provides only a simple registry (similar to a `HashMap`) by default. This object can +be used to get names and descriptions from OID. + +This crate provides default lists of known OIDs, that can be selected using the build features. +By default, the registry has no feature enabled, to avoid embedding a huge database in crates. + +It also declares constants for most of these OIDs. + +```rust +use oid_registry::OidRegistry; + +let mut registry = OidRegistry::default() + .with_crypto() // only if the 'crypto' feature is enabled +; + +let e = registry.get(&oid_registry::OID_PKCS1_SHA256WITHRSA); +if let Some(entry) = e { + // get sn: sha256WithRSAEncryption + println!("sn: {}", entry.sn()); + // get description: SHA256 with RSA encryption + println!("description: {}", entry.description()); +} + +``` + +## Extending the registry + +These provided lists are often incomplete, or may lack some specific OIDs. +This is why the registry allows adding new entries after construction: + +```rust +use asn1_rs::oid; +use oid_registry::{OidEntry, OidRegistry}; + +let mut registry = OidRegistry::default(); + +// entries can be added by creating an OidEntry object: +let entry = OidEntry::new("shortName", "description"); +registry.insert(oid!(1.2.3.4), entry); + +// when using static strings, a tuple can also be used directly for the entry: +registry.insert(oid!(1.2.3.5), ("shortName", "A description")); + +``` + +## Versions and compatibility with `asn1-rs` + +Versions of `oid-registry` must be chosen specifically, to depend on a precise version of `asn1-rs`. +The following table summarizes the matching versions: + +- `oid-registry` 0.6.x depends on `asn1-rs` 0.5.0 +- `oid-registry` 0.5.x depends on `asn1-rs` 0.4.0 + +## Contributing OIDs + +All OID values, constants, and features are derived from files in the `assets` directory in the +build script (see `build.rs`). +See `load_file` for documentation of the file format. + + +## Rust version requirements + +`oid-registry` requires **Rustc version 1.53 or greater**, based on proc-macro +attributes support and `asn1-rs`. + +# License + +Licensed under either of + + * Apache License, Version 2.0 + ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) + * MIT license + ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) + +at your option. + +## Contribution + +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. -- cgit v1.2.3