aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYiming Jing <yimingjing@google.com>2021-07-29 20:11:04 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-07-29 20:11:04 +0000
commit1e06b57488ff3e0be57b50718e7adb49835a6fd0 (patch)
tree19464d74a0639185b4aa4b36308508ba95346c72
parente26ec07e6f22126865bf35b80413e86b18bb6524 (diff)
parent0e84fd5f629711719bffc112a2824a5eb95fed46 (diff)
downloadoid-registry-1e06b57488ff3e0be57b50718e7adb49835a6fd0.tar.gz
Add Android.bp and auto-generated Rust code am: ef28ecd909 am: 0e84fd5f62
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/oid-registry/+/1775450 Change-Id: Icfb43b9cb8c5a7725234ceb4bc835f737e38e347
-rw-r--r--Android.bp75
-rw-r--r--cargo2android.json7
-rw-r--r--out/oid_db.rs388
3 files changed, 470 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..0ea8931
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,75 @@
+// This file is generated by cargo2android.py --config cargo2android.json.
+// Do not modify this file as changes will be overridden on upgrade.
+
+
+
+genrule {
+ name: "copy_oid-registry_build_out",
+ srcs: ["out/*"],
+ cmd: "cp $(in) $(genDir)",
+ out: ["oid_db.rs"],
+}
+
+rust_library {
+ name: "liboid_registry",
+ host_supported: true,
+ crate_name: "oid_registry",
+ srcs: [
+ "src/lib.rs",
+ ":copy_oid-registry_build_out",
+ ],
+ edition: "2018",
+ features: [
+ "crypto",
+ "kdf",
+ "nist_algs",
+ "pkcs1",
+ "pkcs12",
+ "pkcs7",
+ "pkcs9",
+ "x509",
+ "x962",
+ ],
+ rustlibs: [
+ "libder_parser",
+ ],
+}
+
+rust_defaults {
+ name: "oid-registry_test_defaults",
+ crate_name: "oid_registry",
+ srcs: [
+ "src/lib.rs",
+ ":copy_oid-registry_build_out",
+ ],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ edition: "2018",
+ features: [
+ "crypto",
+ "kdf",
+ "nist_algs",
+ "pkcs1",
+ "pkcs12",
+ "pkcs7",
+ "pkcs9",
+ "x509",
+ "x962",
+ ],
+ rustlibs: [
+ "libder_parser",
+ ],
+}
+
+rust_test_host {
+ name: "oid-registry_host_test_src_lib",
+ defaults: ["oid-registry_test_defaults"],
+ test_options: {
+ unit_test: true,
+ },
+}
+
+rust_test {
+ name: "oid-registry_device_test_src_lib",
+ defaults: ["oid-registry_test_defaults"],
+}
diff --git a/cargo2android.json b/cargo2android.json
new file mode 100644
index 0000000..69d8a6b
--- /dev/null
+++ b/cargo2android.json
@@ -0,0 +1,7 @@
+{
+ "copy-out": true,
+ "device": true,
+ "features": "crypto,x509",
+ "run": true,
+ "tests": true
+}
diff --git a/out/oid_db.rs b/out/oid_db.rs
new file mode 100644
index 0000000..029adfe
--- /dev/null
+++ b/out/oid_db.rs
@@ -0,0 +1,388 @@
+/// 1.3.133.16.840.63.0.2
+pub const OID_KDF_SHA1_SINGLE: Oid<'static> = oid!(1.3.133.16.840.63.0.2);
+/// 1.3.6.1.4.1.311.2.1.4
+pub const SPC_INDIRECT_DATA_OBJID: Oid<'static> = oid!(1.3.6.1.4.1.311.2.1.4);
+/// 1.3.6.1.4.1.311.2.1.11
+pub const SPC_STATEMENT_TYPE_OBJID: Oid<'static> = oid!(1.3.6.1.4.1.311.2.1.11);
+/// 1.3.6.1.4.1.311.2.1.12
+pub const SPC_SP_OPUS_INFO_OBJID: Oid<'static> = oid!(1.3.6.1.4.1.311.2.1.12);
+/// 1.3.6.1.4.1.311.2.1.15
+pub const SPC_PE_IMAGE_DATA: Oid<'static> = oid!(1.3.6.1.4.1.311.2.1.15);
+/// 1.3.6.1.4.1.311.2.1.21
+pub const SPC_INDIVIDUAL_SP_KEY_PURPOSE_OBJID : Oid<'static> = oid!(1.3.6.1.4.1.311.2.1.21);
+/// 1.3.6.1.4.1.311.10.1
+pub const MS_CTL: Oid<'static> = oid!(1.3.6.1.4.1.311.10.1);
+/// 1.3.14.3.2.26
+pub const OID_HASH_SHA1: Oid<'static> = oid!(1.3.14.3.2.26);
+/// 2.16.840.1.101.3.4.1.42
+pub const OID_NIST_ENC_AES256_CBC: Oid<'static> = oid!(2.16.840.1.101.3.4.1.42);
+/// 2.16.840.1.101.3.4.2.1
+pub const OID_NIST_HASH_SHA256: Oid<'static> = oid!(2.16.840.1.101.3.4.2.1);
+/// 1.2.840.113549.1.1.1
+pub const OID_PKCS1_RSAENCRYPTION: Oid<'static> = oid!(1.2.840.113549.1.1.1);
+/// 1.2.840.113549.1.1.2
+pub const OID_PKCS1_MD2WITHRSAENC: Oid<'static> = oid!(1.2.840.113549.1.1.2);
+/// 1.2.840.113549.1.1.3
+pub const OID_PKCS1_MD4WITHRSAENC: Oid<'static> = oid!(1.2.840.113549.1.1.3);
+/// 1.2.840.113549.1.1.4
+pub const OID_PKCS1_MD5WITHRSAENC: Oid<'static> = oid!(1.2.840.113549.1.1.4);
+/// 1.2.840.113549.1.1.5
+pub const OID_PKCS1_SHA1WITHRSA: Oid<'static> = oid!(1.2.840.113549.1.1.5);
+/// 1.2.840.113549.1.1.10
+pub const OID_PKCS1_RSASSAPSS: Oid<'static> = oid!(1.2.840.113549.1.1.10);
+/// 1.2.840.113549.1.1.11
+pub const OID_PKCS1_SHA256WITHRSA: Oid<'static> = oid!(1.2.840.113549.1.1.11);
+/// 1.2.840.113549.1.1.12
+pub const OID_PKCS1_SHA384WITHRSA: Oid<'static> = oid!(1.2.840.113549.1.1.12);
+/// 1.2.840.113549.1.1.13
+pub const OID_PKCS1_SHA512WITHRSA: Oid<'static> = oid!(1.2.840.113549.1.1.13);
+/// 1.2.840.113549.1.1.14
+pub const OID_PKCS1_SHA224WITHRSA: Oid<'static> = oid!(1.2.840.113549.1.1.14);
+/// 1.2.840.113549.1.12
+pub const OID_PKCS12: Oid<'static> = oid!(1.2.840.113549.1.12);
+/// 1.2.840.113549.1.12.1
+pub const OID_PKCS12_PBEIDS: Oid<'static> = oid!(1.2.840.113549.1.12.1);
+/// 1.2.840.113549.1.12.1.1
+pub const OID_PKCS12_PBE_SHA1_128RC4: Oid<'static> = oid!(1.2.840.113549.1.12.1.1);
+/// 1.2.840.113549.1.12.1.2
+pub const OID_PKCS12_PBE_SHA1_40RC4: Oid<'static> = oid!(1.2.840.113549.1.12.1.2);
+/// 1.2.840.113549.1.12.1.3
+pub const OID_PKCS12_PBE_SHA1_3K_3DES_CBC: Oid<'static> = oid!(1.2.840.113549.1.12.1.3);
+/// 1.2.840.113549.1.12.1.4
+pub const OID_PKCS12_PBE_SHA1_2K_3DES_CBC: Oid<'static> = oid!(1.2.840.113549.1.12.1.4);
+/// 1.2.840.113549.1.12.1.5
+pub const OID_PKCS12_PBE_SHA1_128RC2_CBC: Oid<'static> = oid!(1.2.840.113549.1.12.1.5);
+/// 1.2.840.113549.1.12.1.6
+pub const OID_PKCS12_PBE_SHA1_40RC2_CBC: Oid<'static> = oid!(1.2.840.113549.1.12.1.6);
+/// 1.2.840.113549.1.7.1
+pub const OID_PKCS7_ID_DATA: Oid<'static> = oid!(1.2.840.113549.1.7.1);
+/// 1.2.840.113549.1.7.2
+pub const OID_PKCS7_ID_SIGNED_DATA: Oid<'static> = oid!(1.2.840.113549.1.7.2);
+/// 1.2.840.113549.1.7.3
+pub const OID_PKCS7_ID_ENVELOPED_DATA: Oid<'static> = oid!(1.2.840.113549.1.7.3);
+/// 1.2.840.113549.1.7.4
+pub const OID_PKCS7_ID_SIGNED_ENVELOPED_DATA: Oid<'static> = oid!(1.2.840.113549.1.7.4);
+/// 1.2.840.113549.1.7.5
+pub const OID_PKCS7_ID_DIGESTED_DATA: Oid<'static> = oid!(1.2.840.113549.1.7.5);
+/// 1.2.840.113549.1.7.6
+pub const OID_PKCS7_ID_ENCRYPTED_DATA: Oid<'static> = oid!(1.2.840.113549.1.7.6);
+/// 1.2.840.113549.1.9.1
+pub const OID_PKCS9_EMAIL_ADDRESS: Oid<'static> = oid!(1.2.840.113549.1.9.1);
+/// 1.2.840.113549.1.9.2
+pub const OID_PKCS9_UNSTRUCTURED_NAME: Oid<'static> = oid!(1.2.840.113549.1.9.2);
+/// 1.2.840.113549.1.9.3
+pub const OID_PKCS9_CONTENT_TYPE: Oid<'static> = oid!(1.2.840.113549.1.9.3);
+/// 1.2.840.113549.1.9.4
+pub const OID_PKCS9_ID_MESSAGE_DIGEST: Oid<'static> = oid!(1.2.840.113549.1.9.4);
+/// 1.2.840.113549.1.9.5
+pub const OID_PKCS9_SIGNING_TIME: Oid<'static> = oid!(1.2.840.113549.1.9.5);
+/// 1.2.840.113549.1.9.14
+pub const OID_PKCS9_EXTENSION_REQUEST: Oid<'static> = oid!(1.2.840.113549.1.9.14);
+/// 1.2.840.113549.1.9.15
+pub const OID_PKCS9_SMIME_CAPABILITIES: Oid<'static> = oid!(1.2.840.113549.1.9.15);
+/// 2.5
+pub const OID_X500: Oid<'static> = oid!(2.5);
+/// 0.9.2342.19200300.100.1.25
+pub const OID_DOMAIN_COMPONENT: Oid<'static> = oid!(0.9.2342.19200300.100.1.25);
+/// 1.3.101.112
+pub const OID_SIG_ED25519: Oid<'static> = oid!(1.3.101.112);
+/// 1.3.6.1.4.1.11129.2.4.2
+pub const OID_CT_LIST_SCT: Oid<'static> = oid!(1.3.6.1.4.1.11129.2.4.2);
+/// 1.3.6.1.5.5.7.1.1
+pub const OID_PKIX_AUTHORITY_INFO_ACCESS: Oid<'static> = oid!(1.3.6.1.5.5.7.1.1);
+/// 1.3.6.1.5.5.7.48.1
+pub const OID_PKIX_ACCESS_DESCRIPTOR_OCSP: Oid<'static> = oid!(1.3.6.1.5.5.7.48.1);
+/// 1.3.6.1.5.5.7.48.2
+pub const OID_PKIX_ACCESS_DESCRIPTOR_CA_ISSUERS: Oid<'static> = oid!(1.3.6.1.5.5.7.48.2);
+/// 1.3.6.1.5.5.7.48.3
+pub const OID_PKIX_ACCESS_DESCRIPTOR_TIMESTAMPING: Oid<'static> = oid!(1.3.6.1.5.5.7.48.3);
+/// 1.3.6.1.5.5.7.48.4
+pub const OID_PKIX_ACCESS_DESCRIPTOR_DVCS: Oid<'static> = oid!(1.3.6.1.5.5.7.48.4);
+/// 1.3.6.1.5.5.7.48.5
+pub const OID_PKIX_ACCESS_DESCRIPTOR_CA_REPOSITORY: Oid<'static> = oid!(1.3.6.1.5.5.7.48.5);
+/// 1.3.6.1.5.5.7.48.6
+pub const OID_PKIX_ACCESS_DESCRIPTOR_HTTP_CERTS: Oid<'static> = oid!(1.3.6.1.5.5.7.48.6);
+/// 1.3.6.1.5.5.7.48.7
+pub const OID_PKIX_ACCESS_DESCRIPTOR_HTTP_CRLS: Oid<'static> = oid!(1.3.6.1.5.5.7.48.7);
+/// 1.3.6.1.5.5.7.48.10
+pub const OID_PKIX_ACCESS_DESCRIPTOR_RPKI_MANIFEST: Oid<'static> = oid!(1.3.6.1.5.5.7.48.10);
+/// 1.3.6.1.5.5.7.48.11
+pub const OID_PKIX_ACCESS_DESCRIPTOR_SIGNED_OBJECT: Oid<'static> = oid!(1.3.6.1.5.5.7.48.11);
+/// 1.3.6.1.5.5.7.48.12
+pub const OID_PKIX_ACCESS_DESCRIPTOR_CMC: Oid<'static> = oid!(1.3.6.1.5.5.7.48.12);
+/// 1.3.6.1.5.5.7.48.13
+pub const OID_PKIX_ACCESS_DESCRIPTOR_RPKI_NOTIFY: Oid<'static> = oid!(1.3.6.1.5.5.7.48.13);
+/// 1.3.6.1.5.5.7.48.14
+pub const OID_PKIX_ACCESS_DESCRIPTOR_STIRTNLIST: Oid<'static> = oid!(1.3.6.1.5.5.7.48.14);
+/// 2.5.4
+pub const OID_X509: Oid<'static> = oid!(2.5.4);
+/// 2.5.4.0
+pub const OID_X509_OBJECT_CLASS: Oid<'static> = oid!(2.5.4.0);
+/// 2.5.4.1
+pub const OID_X509_ALIASED_ENTRY_NAME: Oid<'static> = oid!(2.5.4.1);
+/// 2.5.4.2
+pub const OID_X509_KNOWLEDGE_INFORMATION: Oid<'static> = oid!(2.5.4.2);
+/// 2.5.4.3
+pub const OID_X509_COMMON_NAME: Oid<'static> = oid!(2.5.4.3);
+/// 2.5.4.4
+pub const OID_X509_SURNAME: Oid<'static> = oid!(2.5.4.4);
+/// 2.5.4.6
+pub const OID_X509_COUNTRY_NAME: Oid<'static> = oid!(2.5.4.6);
+/// 2.5.4.7
+pub const OID_X509_LOCALITY_NAME: Oid<'static> = oid!(2.5.4.7);
+/// 2.5.4.8
+pub const OID_X509_STATE_OR_PROVINCE_NAME: Oid<'static> = oid!(2.5.4.8);
+/// 2.5.4.9
+pub const OID_X509_STREET_ADDRESS: Oid<'static> = oid!(2.5.4.9);
+/// 2.5.4.10
+pub const OID_X509_ORGANIZATION_NAME: Oid<'static> = oid!(2.5.4.10);
+/// 2.5.4.11
+pub const OID_X509_ORGANIZATIONAL_UNIT: Oid<'static> = oid!(2.5.4.11);
+/// 2.5.4.12
+pub const OID_X509_TITLE: Oid<'static> = oid!(2.5.4.12);
+/// 2.5.4.13
+pub const OID_X509_DESCRIPTION: Oid<'static> = oid!(2.5.4.13);
+/// 2.5.4.14
+pub const OID_X509_SEARCH_GUIDE: Oid<'static> = oid!(2.5.4.14);
+/// 2.5.4.15
+pub const OID_X509_BUSINESS_CATEGORY: Oid<'static> = oid!(2.5.4.15);
+/// 2.5.4.16
+pub const OID_X509_POSTAL_ADDRESS: Oid<'static> = oid!(2.5.4.16);
+/// 2.5.4.17
+pub const OID_X509_POSTAL_CODE: Oid<'static> = oid!(2.5.4.17);
+/// 2.5.4.42
+pub const OID_X509_GIVEN_NAME: Oid<'static> = oid!(2.5.4.42);
+/// 2.5.4.45
+pub const OID_X509_UNIQUE_IDENTIFIER: Oid<'static> = oid!(2.5.4.45);
+/// 2.5.29.14
+pub const OID_X509_EXT_SUBJECT_KEY_IDENTIFIER: Oid<'static> = oid!(2.5.29.14);
+/// 2.5.29.15
+pub const OID_X509_EXT_KEY_USAGE: Oid<'static> = oid!(2.5.29.15);
+/// 2.5.29.16
+pub const OID_X509_EXT_PRIVATE_KEY_USAGE_PERIOD: Oid<'static> = oid!(2.5.29.16);
+/// 2.5.29.17
+pub const OID_X509_EXT_SUBJECT_ALT_NAME: Oid<'static> = oid!(2.5.29.17);
+/// 2.5.29.18
+pub const OID_X509_EXT_ISSUER_ALT_NAME: Oid<'static> = oid!(2.5.29.18);
+/// 2.5.29.19
+pub const OID_X509_EXT_BASIC_CONSTRAINTS: Oid<'static> = oid!(2.5.29.19);
+/// 2.5.29.20
+pub const OID_X509_EXT_CRL_NUMBER: Oid<'static> = oid!(2.5.29.20);
+/// 2.5.29.21
+pub const OID_X509_EXT_REASON_CODE: Oid<'static> = oid!(2.5.29.21);
+/// 2.5.29.23
+pub const OID_X509_EXT_HOLD_INSTRUCTION_CODE: Oid<'static> = oid!(2.5.29.23);
+/// 2.5.29.24
+pub const OID_X509_EXT_INVALIDITY_DATE: Oid<'static> = oid!(2.5.29.24);
+/// 2.5.29.27
+pub const OID_X509_EXT_DELTA_CRL_INDICATOR: Oid<'static> = oid!(2.5.29.27);
+/// 2.5.29.28
+pub const OID_X509_EXT_ISSUER_DISTRIBUTION_POINT: Oid<'static> = oid!(2.5.29.28);
+/// 2.5.29.29
+pub const OID_X509_EXT_ISSUER: Oid<'static> = oid!(2.5.29.29);
+/// 2.5.29.30
+pub const OID_X509_EXT_NAME_CONSTRAINTS: Oid<'static> = oid!(2.5.29.30);
+/// 2.5.29.31
+pub const OID_X509_EXT_CRL_DISTRIBUTION_POINTS: Oid<'static> = oid!(2.5.29.31);
+/// 2.5.29.32
+pub const OID_X509_EXT_CERTIFICATE_POLICIES: Oid<'static> = oid!(2.5.29.32);
+/// 2.5.29.33
+pub const OID_X509_EXT_POLICY_MAPPINGS: Oid<'static> = oid!(2.5.29.33);
+/// 2.5.29.35
+pub const OID_X509_EXT_AUTHORITY_KEY_IDENTIFIER: Oid<'static> = oid!(2.5.29.35);
+/// 2.5.29.36
+pub const OID_X509_EXT_POLICY_CONSTRAINTS: Oid<'static> = oid!(2.5.29.36);
+/// 2.5.29.37
+pub const OID_X509_EXT_EXTENDED_KEY_USAGE: Oid<'static> = oid!(2.5.29.37);
+/// 2.5.29.46
+pub const OID_X509_EXT_FRESHEST_CRL: Oid<'static> = oid!(2.5.29.46);
+/// 2.5.29.54
+pub const OID_X509_EXT_INHIBITANT_ANY_POLICY: Oid<'static> = oid!(2.5.29.54);
+/// 2.16.840.1.113730.1.1
+pub const OID_X509_EXT_CERT_TYPE: Oid<'static> = oid!(2.16.840.1.113730.1.1);
+/// 1.2.840.10045.2.1
+pub const OID_KEY_TYPE_EC_PUBLIC_KEY: Oid<'static> = oid!(1.2.840.10045.2.1);
+/// 1.2.840.10045.4.3.1
+pub const OID_SIG_ECDSA_WITH_SHA224: Oid<'static> = oid!(1.2.840.10045.4.3.1);
+/// 1.2.840.10045.4.3.2
+pub const OID_SIG_ECDSA_WITH_SHA256: Oid<'static> = oid!(1.2.840.10045.4.3.2);
+/// 1.2.840.10045.4.3.3
+pub const OID_SIG_ECDSA_WITH_SHA384: Oid<'static> = oid!(1.2.840.10045.4.3.3);
+
+impl<'a> OidRegistry<'a> {
+ #[cfg(feature = "kdf")]
+ #[cfg_attr(docsrs, doc(cfg(feature = "kdf")))]
+ #[doc = "Load all known OIDs for feature `kdf` in the registry."]
+ pub fn with_kdf(mut self) -> Self {
+ self.insert(oid!(1.3.133.16.840.63.0.2), OidEntry::new("dhSinglePass-stdDH-sha1kdf-scheme", "Single pass Secure Hash Algorithm 1 (SHA1) key derivation"));
+ self
+ }
+
+ #[cfg(feature = "ms_spc")]
+ #[cfg_attr(docsrs, doc(cfg(feature = "ms_spc")))]
+ #[doc = "Load all known OIDs for feature `ms_spc` in the registry."]
+ pub fn with_ms_spc(mut self) -> Self {
+ self.insert(oid!(1.3.6.1.4.1.311.2.1.4), OidEntry::new("spcIndirectData", "The SPC_INDIRECT_DATA_CONTENT structure is used in Authenticode signatures to store the digest and other attributes of the signed file"));
+ self.insert(oid!(1.3.6.1.4.1.311.2.1.11), OidEntry::new("spcStatementType", "spcStatementType"));
+ self.insert(oid!(1.3.6.1.4.1.311.2.1.12), OidEntry::new("spcSpOpusInfo", "SpcSpOpusInfo"));
+ self.insert(oid!(1.3.6.1.4.1.311.2.1.15), OidEntry::new("spcPEImageData", "spcPEImageData"));
+ self.insert(oid!(1.3.6.1.4.1.311.2.1.21), OidEntry::new("msCodeInd", "MsCodeInd (SPC_INDIVIDUAL_SP_KEY_PURPOSE_OBJID) is a ExtendedKeyUsage for Certificate Extensions which indicates Microsoft Individual Code Signing (authenticode)"));
+ self.insert(oid!(1.3.6.1.4.1.311.10.1), OidEntry::new("szOID_CTL", "MS_CTL"));
+ self
+ }
+
+ #[cfg(feature = "nist_algs")]
+ #[cfg_attr(docsrs, doc(cfg(feature = "nist_algs")))]
+ #[doc = "Load all known OIDs for feature `nist_algs` in the registry."]
+ pub fn with_nist_algs(mut self) -> Self {
+ self.insert(oid!(1.3.14.3.2.26), OidEntry::new("id-SHA1", "SHA-1 hash algorithm"));
+ self.insert(oid!(2.16.840.1.101.3.4.1.42), OidEntry::new("aes-256-cbc", "256-bit Advanced Encryption Standard (AES) algorithm with Cipher-Block Chaining (CBC) mode of operation"));
+ self.insert(oid!(2.16.840.1.101.3.4.2.1), OidEntry::new("sha256", "Secure Hash Algorithm that uses a 256 bit key (SHA256)"));
+ self
+ }
+
+ #[cfg(feature = "pkcs1")]
+ #[cfg_attr(docsrs, doc(cfg(feature = "pkcs1")))]
+ #[doc = "Load all known OIDs for feature `pkcs1` in the registry."]
+ pub fn with_pkcs1(mut self) -> Self {
+ self.insert(oid!(1.2.840.113549.1.1.1), OidEntry::new("rsaEncryption", "RSAES-PKCS1-v1_5 encryption scheme"));
+ self.insert(oid!(1.2.840.113549.1.1.2), OidEntry::new("md2WithRSAEncryption", "MD2 with RSA encryption"));
+ self.insert(oid!(1.2.840.113549.1.1.3), OidEntry::new("md4WithRSAEncryption", "MD4 with RSA encryption"));
+ self.insert(oid!(1.2.840.113549.1.1.4), OidEntry::new("md5WithRSAEncryption", "MD5 with RSA encryption"));
+ self.insert(oid!(1.2.840.113549.1.1.5), OidEntry::new("sha1WithRSAEncryption", "SHA1 with RSA encryption"));
+ self.insert(oid!(1.2.840.113549.1.1.10), OidEntry::new("rsassa-pss", "RSA Signature Scheme with Probabilistic Signature Scheme (RSASSA-PSS)"));
+ self.insert(oid!(1.2.840.113549.1.1.11), OidEntry::new("sha256WithRSAEncryption", "SHA256 with RSA encryption"));
+ self.insert(oid!(1.2.840.113549.1.1.12), OidEntry::new("sha384WithRSAEncryption", "SHA384 with RSA encryption"));
+ self.insert(oid!(1.2.840.113549.1.1.13), OidEntry::new("sha512WithRSAEncryption", "SHA512 with RSA encryption"));
+ self.insert(oid!(1.2.840.113549.1.1.14), OidEntry::new("sha224WithRSAEncryption", "SHA224 with RSA encryption"));
+ self
+ }
+
+ #[cfg(feature = "pkcs12")]
+ #[cfg_attr(docsrs, doc(cfg(feature = "pkcs12")))]
+ #[doc = "Load all known OIDs for feature `pkcs12` in the registry."]
+ pub fn with_pkcs12(mut self) -> Self {
+ self.insert(oid!(1.2.840.113549.1.12), OidEntry::new("pkcs-12", "Public-Key Cryptography Standard (PKCS) #12"));
+ self.insert(oid!(1.2.840.113549.1.12.1), OidEntry::new("pkcs-12PbeIds", "PKCS #12 Password Based Encryption IDs"));
+ self.insert(oid!(1.2.840.113549.1.12.1.1), OidEntry::new("pbeWithSHAAnd128BitRC4", "PKCS #12 Password Based Encryption With SHA-1 and 128-bit RC4"));
+ self.insert(oid!(1.2.840.113549.1.12.1.2), OidEntry::new("pbeWithSHAAnd40BitRC4", "PKCS #12 Password Based Encryption With SHA-1 and 40-bit RC4"));
+ self.insert(oid!(1.2.840.113549.1.12.1.3), OidEntry::new("pbeWithSHAAnd3-KeyTripleDES-CBC", "PKCS #12 Password Based Encryption With SHA-1 and 3-key Triple DES in CBC mode"));
+ self.insert(oid!(1.2.840.113549.1.12.1.4), OidEntry::new("pbeWithSHAAnd2-KeyTripleDES-CBC", "PKCS #12 Password Based Encryption With SHA-1 and 2-key Triple DES in CBC mode"));
+ self.insert(oid!(1.2.840.113549.1.12.1.5), OidEntry::new("pbeWithSHAAnd128BitRC2-CBC", "PKCS #12 Password Based Encryption With SHA-1 and 128-bit RC2-CBC"));
+ self.insert(oid!(1.2.840.113549.1.12.1.6), OidEntry::new("pbeWithSHAAnd40BitRC2-CBC", "PKCS #12 Password Based Encryption With SHA-1 and 40-bit RC2-CBC"));
+ self
+ }
+
+ #[cfg(feature = "pkcs7")]
+ #[cfg_attr(docsrs, doc(cfg(feature = "pkcs7")))]
+ #[doc = "Load all known OIDs for feature `pkcs7` in the registry."]
+ pub fn with_pkcs7(mut self) -> Self {
+ self.insert(oid!(1.2.840.113549.1.7.1), OidEntry::new("pkcs7-data", "pkcs7-data"));
+ self.insert(oid!(1.2.840.113549.1.7.2), OidEntry::new("pkcs7-signedData", "PKCS#7 Signed Data"));
+ self.insert(oid!(1.2.840.113549.1.7.3), OidEntry::new("pkcs7-envelopedData", "PKCS#7 Enveloped Data"));
+ self.insert(oid!(1.2.840.113549.1.7.4), OidEntry::new("pkcs7-signedAndEnvelopedData", "PKCS#7 Signed and Enveloped Data"));
+ self.insert(oid!(1.2.840.113549.1.7.5), OidEntry::new("pkcs7-digestedData", "PKCS#7 Digested Data"));
+ self.insert(oid!(1.2.840.113549.1.7.6), OidEntry::new("pkcs7-encryptedData", "PKCS#7 Encrypted Data"));
+ self
+ }
+
+ #[cfg(feature = "pkcs9")]
+ #[cfg_attr(docsrs, doc(cfg(feature = "pkcs9")))]
+ #[doc = "Load all known OIDs for feature `pkcs9` in the registry."]
+ pub fn with_pkcs9(mut self) -> Self {
+ self.insert(oid!(1.2.840.113549.1.9.1), OidEntry::new("emailAddress", "Email Address attribute for use in signatures"));
+ self.insert(oid!(1.2.840.113549.1.9.2), OidEntry::new("unstructuredName", "PKCS#9 unstructuredName"));
+ self.insert(oid!(1.2.840.113549.1.9.3), OidEntry::new("contentType", "id-contentType"));
+ self.insert(oid!(1.2.840.113549.1.9.4), OidEntry::new("id-messageDigest", "id-messageDigest"));
+ self.insert(oid!(1.2.840.113549.1.9.5), OidEntry::new("signing-time", "id-signingTime"));
+ self.insert(oid!(1.2.840.113549.1.9.14), OidEntry::new("extensionRequest", "Extension list for Certification Requests"));
+ self.insert(oid!(1.2.840.113549.1.9.15), OidEntry::new("smimeCapabilities", "aa-smimeCapabilities"));
+ self
+ }
+
+ #[cfg(feature = "x500")]
+ #[cfg_attr(docsrs, doc(cfg(feature = "x500")))]
+ #[doc = "Load all known OIDs for feature `x500` in the registry."]
+ pub fn with_x500(mut self) -> Self {
+ self.insert(oid!(2.5), OidEntry::new("x500", "X.500"));
+ self
+ }
+
+ #[cfg(feature = "x509")]
+ #[cfg_attr(docsrs, doc(cfg(feature = "x509")))]
+ #[doc = "Load all known OIDs for feature `x509` in the registry."]
+ pub fn with_x509(mut self) -> Self {
+ self.insert(oid!(0.9.2342.19200300.100.1.25), OidEntry::new("domainComponent", "Domain component"));
+ self.insert(oid!(1.3.101.112), OidEntry::new("ed25519", "Edwards-curve Digital Signature Algorithm (EdDSA) Ed25519"));
+ self.insert(oid!(1.3.6.1.4.1.11129.2.4.2), OidEntry::new("ctSCTList", "Certificate Transparency Signed Certificate Timestamp List"));
+ self.insert(oid!(1.3.6.1.5.5.7.1.1), OidEntry::new("authorityInfoAccess", "Certificate Authority Information Access"));
+ self.insert(oid!(1.3.6.1.5.5.7.48.1), OidEntry::new("id-ad-ocsp", "PKIX Access Descriptor OCSP"));
+ self.insert(oid!(1.3.6.1.5.5.7.48.2), OidEntry::new("id-ad-caIssuers", "PKIX Access Descriptor CA Issuers"));
+ self.insert(oid!(1.3.6.1.5.5.7.48.3), OidEntry::new("id-ad-timestamping", "PKIX Access Descriptor Timestamping"));
+ self.insert(oid!(1.3.6.1.5.5.7.48.4), OidEntry::new("id-ad-dvcs", "PKIX Access Descriptor DVCS"));
+ self.insert(oid!(1.3.6.1.5.5.7.48.5), OidEntry::new("id-ad-caRepository", "PKIX Access Descriptor CA Repository"));
+ self.insert(oid!(1.3.6.1.5.5.7.48.6), OidEntry::new("id-ad-http-certs", "PKIX Access Descriptor HTTP Certificates"));
+ self.insert(oid!(1.3.6.1.5.5.7.48.7), OidEntry::new("id-ad-http-crls", "PKIX Access Descriptor HTTP Certificate Revocation Lists"));
+ self.insert(oid!(1.3.6.1.5.5.7.48.10), OidEntry::new("id-ad-rpki-manifest", "PKIX Access Descriptor RPKI Manifest"));
+ self.insert(oid!(1.3.6.1.5.5.7.48.11), OidEntry::new("id-ad-signed-object", "PKIX Access Descriptor Signed Object"));
+ self.insert(oid!(1.3.6.1.5.5.7.48.12), OidEntry::new("id-ad-cmc", "PKIX Access Descriptor CMC"));
+ self.insert(oid!(1.3.6.1.5.5.7.48.13), OidEntry::new("id-ad-rpki-notify", "PKIX Access Descriptor RPKI Notify"));
+ self.insert(oid!(1.3.6.1.5.5.7.48.14), OidEntry::new("id-ad-stirTNList", "PKIX Access Descriptor STIRTNLIST"));
+ self.insert(oid!(2.5.4), OidEntry::new("x509", "X.509"));
+ self.insert(oid!(2.5.4.0), OidEntry::new("objectClass", "Object classes"));
+ self.insert(oid!(2.5.4.1), OidEntry::new("aliasedEntryName", "Aliased entry/object name"));
+ self.insert(oid!(2.5.4.2), OidEntry::new("knowledgeInformation", "'knowledgeInformation' attribute type"));
+ self.insert(oid!(2.5.4.3), OidEntry::new("commonName", "Common Name"));
+ self.insert(oid!(2.5.4.4), OidEntry::new("surname", "Surname"));
+ self.insert(oid!(2.5.4.6), OidEntry::new("countryName", "Country Name"));
+ self.insert(oid!(2.5.4.7), OidEntry::new("localityName", "Locality Name"));
+ self.insert(oid!(2.5.4.8), OidEntry::new("stateOrProvinceName", "State or Province name"));
+ self.insert(oid!(2.5.4.9), OidEntry::new("streetAddress", "Street Address"));
+ self.insert(oid!(2.5.4.10), OidEntry::new("organizationName", "Organization Name"));
+ self.insert(oid!(2.5.4.11), OidEntry::new("organizationalUnit", "Organizational Unit"));
+ self.insert(oid!(2.5.4.12), OidEntry::new("title", "Title"));
+ self.insert(oid!(2.5.4.13), OidEntry::new("description", "Description"));
+ self.insert(oid!(2.5.4.14), OidEntry::new("searchGuide", "Search Guide"));
+ self.insert(oid!(2.5.4.15), OidEntry::new("businessCategory", "Business Category"));
+ self.insert(oid!(2.5.4.16), OidEntry::new("postalAddress", "Postal Address"));
+ self.insert(oid!(2.5.4.17), OidEntry::new("postalCode", "Postal Code"));
+ self.insert(oid!(2.5.4.42), OidEntry::new("givenName", "Given Name"));
+ self.insert(oid!(2.5.4.45), OidEntry::new("uniqueIdentifier", "Bit String Unique Identifier"));
+ self.insert(oid!(2.5.29.14), OidEntry::new("subjectKeyIdentifier", "X509v3 Subject Key Identifier"));
+ self.insert(oid!(2.5.29.15), OidEntry::new("keyUsage", "X509v3 Key Usage"));
+ self.insert(oid!(2.5.29.16), OidEntry::new("privateKeyUsagePeriod", "X509v3 Private Key Usage Period"));
+ self.insert(oid!(2.5.29.17), OidEntry::new("subjectAltName", "X509v3 Subject Alternative Name"));
+ self.insert(oid!(2.5.29.18), OidEntry::new("issuerAltName", "X509v3 Issuer Alternative Name"));
+ self.insert(oid!(2.5.29.19), OidEntry::new("basicConstraints", "X509v3 Basic Constraints"));
+ self.insert(oid!(2.5.29.20), OidEntry::new("crlNumber", "X509v3 CRL Number"));
+ self.insert(oid!(2.5.29.21), OidEntry::new("reasonCode", "X509v3 Reason Code"));
+ self.insert(oid!(2.5.29.23), OidEntry::new("holdInstructionCode", "X509v3 Hold Instruction Code"));
+ self.insert(oid!(2.5.29.24), OidEntry::new("invalidityDate", "X509v3 Invalidity Date"));
+ self.insert(oid!(2.5.29.27), OidEntry::new("deltaCRLIndicator", "X509v3 Delta CRL Indicator"));
+ self.insert(oid!(2.5.29.28), OidEntry::new("issuerDistributionPoint", "X509v3 Issuer Distribution Point"));
+ self.insert(oid!(2.5.29.29), OidEntry::new("issuer", "X509v3 Issuer"));
+ self.insert(oid!(2.5.29.30), OidEntry::new("nameConstraints", "X509v3 Name Constraints"));
+ self.insert(oid!(2.5.29.31), OidEntry::new("crlDistributionPoints", "X509v3 CRL Distribution Points"));
+ self.insert(oid!(2.5.29.32), OidEntry::new("certificatePolicies", "X509v3 Certificate Policies"));
+ self.insert(oid!(2.5.29.33), OidEntry::new("policyMappings", "X509v3 Policy Mappings"));
+ self.insert(oid!(2.5.29.35), OidEntry::new("authorityKeyIdentifier", "X509v3 Authority Key Identifier"));
+ self.insert(oid!(2.5.29.36), OidEntry::new("policyConstraints", "X509v3 Policy Constraints"));
+ self.insert(oid!(2.5.29.37), OidEntry::new("extendedKeyUsage", "X509v3 Extended Key Usage"));
+ self.insert(oid!(2.5.29.46), OidEntry::new("freshestCRL", "X509v3 Freshest CRL"));
+ self.insert(oid!(2.5.29.54), OidEntry::new("inhibitantAnyPolicy", "X509v3 Inhibit Any-policy"));
+ self.insert(oid!(2.16.840.1.113730.1.1), OidEntry::new("nsCertType", "X.509 v3 Certificate Type"));
+ self
+ }
+
+ #[cfg(feature = "x962")]
+ #[cfg_attr(docsrs, doc(cfg(feature = "x962")))]
+ #[doc = "Load all known OIDs for feature `x962` in the registry."]
+ pub fn with_x962(mut self) -> Self {
+ self.insert(oid!(1.2.840.10045.2.1), OidEntry::new("id-ecPublicKey", "Elliptic curve public key cryptography"));
+ self.insert(oid!(1.2.840.10045.4.3.1), OidEntry::new("ecdsa-with-SHA224", "Elliptic curve Digital Signature Algorithm (DSA) coupled with the Secure Hash Algorithm 224 (SHA224) algorithm"));
+ self.insert(oid!(1.2.840.10045.4.3.2), OidEntry::new("ecdsa-with-SHA256", "Elliptic curve Digital Signature Algorithm (DSA) coupled with the Secure Hash Algorithm 256 (SHA256) algorithm"));
+ self.insert(oid!(1.2.840.10045.4.3.3), OidEntry::new("ecdsa-with-SHA384", "Elliptic curve Digital Signature Algorithm (DSA) coupled with the Secure Hash Algorithm 384 (SHA384) algorithm"));
+ self
+ }
+
+}