aboutsummaryrefslogtreecommitdiffstats
path: root/src/asn1/oid_lookup/default.cpp
diff options
context:
space:
mode:
authorlloyd <[email protected]>2013-12-25 23:07:38 +0000
committerlloyd <[email protected]>2013-12-25 23:07:38 +0000
commit63ba27496318bb92f620a09ca69d40b1d617e927 (patch)
tree02a45d9e4835f1aabf3d1c7cc2741825dc682253 /src/asn1/oid_lookup/default.cpp
parenta558fbfb082e1ee9ab77af46ea1d85049dda7028 (diff)
Store OID info in a pair of maps in distinct storage rather than in
the library state. Remove library state config apis, as OIDS were the last remaining user.
Diffstat (limited to 'src/asn1/oid_lookup/default.cpp')
-rw-r--r--src/asn1/oid_lookup/default.cpp243
1 files changed, 243 insertions, 0 deletions
diff --git a/src/asn1/oid_lookup/default.cpp b/src/asn1/oid_lookup/default.cpp
new file mode 100644
index 000000000..e02ed84b9
--- /dev/null
+++ b/src/asn1/oid_lookup/default.cpp
@@ -0,0 +1,243 @@
+/*
+* OID Registry
+* (C) 1999-2010,2013 Jack Lloyd
+*
+* Distributed under the terms of the Botan license
+*/
+
+#include <botan/oids.h>
+
+namespace Botan {
+
+namespace OIDS {
+
+/*
+* Load all of the default OIDs
+*/
+void set_defaults()
+ {
+ /* Public key types */
+ OIDS::add_oid(OID("1.2.840.113549.1.1.1"), "RSA");
+ OIDS::add_oid(OID("2.5.8.1.1"), "RSA"); // RSA alternate
+ OIDS::add_oid(OID("1.2.840.10040.4.1"), "DSA");
+ OIDS::add_oid(OID("1.2.840.10046.2.1"), "DH");
+ OIDS::add_oid(OID("1.3.6.1.4.1.3029.1.2.1"), "ElGamal");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.1.1"), "RW");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.1.2"), "NR");
+
+ // X9.62 ecPublicKey, valid for ECDSA and ECDH (RFC 3279 sec 2.3.5)
+ OIDS::add_oid(OID("1.2.840.10045.2.1"), "ECDSA");
+
+ /*
+ * This is an OID defined for ECDH keys though rarely used for such.
+ * In this configuration it is accepted on decoding, but not used for
+ * encoding. You can enable it for encoding by calling
+ * OIDS::add_str2oid("ECDH", "1.3.132.1.12")
+ * from your application code.
+ */
+ OIDS::add_oid2str(OID("1.3.132.1.12"), "ECDH");
+
+ OIDS::add_oid(OID("1.2.643.2.2.19"), "GOST-34.10"); // RFC 4491
+
+ /* Ciphers */
+ OIDS::add_oid(OID("1.3.14.3.2.7"), "DES/CBC");
+ OIDS::add_oid(OID("1.2.840.113549.3.7"), "TripleDES/CBC");
+ OIDS::add_oid(OID("1.2.840.113549.3.2"), "RC2/CBC");
+ OIDS::add_oid(OID("1.2.840.113533.7.66.10"), "CAST-128/CBC");
+ OIDS::add_oid(OID("2.16.840.1.101.3.4.1.2"), "AES-128/CBC");
+ OIDS::add_oid(OID("2.16.840.1.101.3.4.1.22"), "AES-192/CBC");
+ OIDS::add_oid(OID("2.16.840.1.101.3.4.1.42"), "AES-256/CBC");
+ OIDS::add_oid(OID("1.2.410.200004.1.4"), "SEED/CBC"); // RFC 4010
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.3.1"), "Serpent/CBC");
+
+ /* Hash Functions */
+ OIDS::add_oid(OID("1.2.840.113549.2.5"), "MD5");
+ OIDS::add_oid(OID("1.3.6.1.4.1.11591.12.2"), "Tiger(24,3)");
+
+ OIDS::add_oid(OID("1.3.14.3.2.26"), "SHA-160");
+ OIDS::add_oid(OID("2.16.840.1.101.3.4.2.4"), "SHA-224");
+ OIDS::add_oid(OID("2.16.840.1.101.3.4.2.1"), "SHA-256");
+ OIDS::add_oid(OID("2.16.840.1.101.3.4.2.2"), "SHA-384");
+ OIDS::add_oid(OID("2.16.840.1.101.3.4.2.3"), "SHA-512");
+
+ /* MACs */
+ OIDS::add_oid(OID("1.2.840.113549.2.7"), "HMAC(SHA-160)");
+ OIDS::add_oid(OID("1.2.840.113549.2.8"), "HMAC(SHA-224)");
+ OIDS::add_oid(OID("1.2.840.113549.2.9"), "HMAC(SHA-256)");
+ OIDS::add_oid(OID("1.2.840.113549.2.10"), "HMAC(SHA-384)");
+ OIDS::add_oid(OID("1.2.840.113549.2.11"), "HMAC(SHA-512)");
+
+ /* Key Wrap */
+ OIDS::add_oid(OID("1.2.840.113549.1.9.16.3.6"), "KeyWrap.TripleDES");
+ OIDS::add_oid(OID("1.2.840.113549.1.9.16.3.7"), "KeyWrap.RC2");
+ OIDS::add_oid(OID("1.2.840.113533.7.66.15"), "KeyWrap.CAST-128");
+ OIDS::add_oid(OID("2.16.840.1.101.3.4.1.5"), "KeyWrap.AES-128");
+ OIDS::add_oid(OID("2.16.840.1.101.3.4.1.25"), "KeyWrap.AES-192");
+ OIDS::add_oid(OID("2.16.840.1.101.3.4.1.45"), "KeyWrap.AES-256");
+
+ /* Compression */
+ OIDS::add_oid(OID("1.2.840.113549.1.9.16.3.8"), "Compression.Zlib");
+
+ /* Public key signature schemes */
+ OIDS::add_oid(OID("1.2.840.113549.1.1.1"), "RSA/EME-PKCS1-v1_5");
+ OIDS::add_oid(OID("1.2.840.113549.1.1.2"), "RSA/EMSA3(MD2)");
+ OIDS::add_oid(OID("1.2.840.113549.1.1.4"), "RSA/EMSA3(MD5)");
+ OIDS::add_oid(OID("1.2.840.113549.1.1.5"), "RSA/EMSA3(SHA-160)");
+ OIDS::add_oid(OID("1.2.840.113549.1.1.11"), "RSA/EMSA3(SHA-256)");
+ OIDS::add_oid(OID("1.2.840.113549.1.1.12"), "RSA/EMSA3(SHA-384)");
+ OIDS::add_oid(OID("1.2.840.113549.1.1.13"), "RSA/EMSA3(SHA-512)");
+ OIDS::add_oid(OID("1.3.36.3.3.1.2"), "RSA/EMSA3(RIPEMD-160)");
+
+ OIDS::add_oid(OID("1.2.840.10040.4.3"), "DSA/EMSA1(SHA-160)");
+ OIDS::add_oid(OID("2.16.840.1.101.3.4.3.1"), "DSA/EMSA1(SHA-224)");
+ OIDS::add_oid(OID("2.16.840.1.101.3.4.3.2"), "DSA/EMSA1(SHA-256)");
+
+ OIDS::add_oid(OID("0.4.0.127.0.7.1.1.4.1.1"), "ECDSA/EMSA1_BSI(SHA-160)");
+ OIDS::add_oid(OID("0.4.0.127.0.7.1.1.4.1.2"), "ECDSA/EMSA1_BSI(SHA-224)");
+ OIDS::add_oid(OID("0.4.0.127.0.7.1.1.4.1.3"), "ECDSA/EMSA1_BSI(SHA-256)");
+ OIDS::add_oid(OID("0.4.0.127.0.7.1.1.4.1.4"), "ECDSA/EMSA1_BSI(SHA-384)");
+ OIDS::add_oid(OID("0.4.0.127.0.7.1.1.4.1.5"), "ECDSA/EMSA1_BSI(SHA-512)");
+ OIDS::add_oid(OID("0.4.0.127.0.7.1.1.4.1.6"), "ECDSA/EMSA1_BSI(RIPEMD-160)");
+
+ OIDS::add_oid(OID("1.2.840.10045.4.1"), "ECDSA/EMSA1(SHA-160)");
+ OIDS::add_oid(OID("1.2.840.10045.4.3.1"), "ECDSA/EMSA1(SHA-224)");
+ OIDS::add_oid(OID("1.2.840.10045.4.3.2"), "ECDSA/EMSA1(SHA-256)");
+ OIDS::add_oid(OID("1.2.840.10045.4.3.3"), "ECDSA/EMSA1(SHA-384)");
+ OIDS::add_oid(OID("1.2.840.10045.4.3.4"), "ECDSA/EMSA1(SHA-512)");
+
+ OIDS::add_oid(OID("1.2.643.2.2.3"), "GOST-34.10/EMSA1(GOST-R-34.11-94)");
+
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.1.1.1"), "RW/EMSA2(RIPEMD-160)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.1.1.2"), "RW/EMSA2(SHA-160)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.1.1.3"), "RW/EMSA2(SHA-224)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.1.1.4"), "RW/EMSA2(SHA-256)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.1.1.5"), "RW/EMSA2(SHA-384)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.1.1.6"), "RW/EMSA2(SHA-512)");
+
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.1.2.1"), "RW/EMSA4(RIPEMD-160)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.1.2.2"), "RW/EMSA4(SHA-160)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.1.2.3"), "RW/EMSA4(SHA-224)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.1.2.4"), "RW/EMSA4(SHA-256)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.1.2.5"), "RW/EMSA4(SHA-384)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.1.2.6"), "RW/EMSA4(SHA-512)");
+
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.2.1.1"), "NR/EMSA2(RIPEMD-160)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.2.1.2"), "NR/EMSA2(SHA-160)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.2.1.3"), "NR/EMSA2(SHA-224)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.2.1.4"), "NR/EMSA2(SHA-256)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.2.1.5"), "NR/EMSA2(SHA-384)");
+ OIDS::add_oid(OID("1.3.6.1.4.1.25258.2.2.1.6"), "NR/EMSA2(SHA-512)");
+
+ OIDS::add_oid(OID("2.5.4.3"), "X520.CommonName");
+ OIDS::add_oid(OID("2.5.4.4"), "X520.Surname");
+ OIDS::add_oid(OID("2.5.4.5"), "X520.SerialNumber");
+ OIDS::add_oid(OID("2.5.4.6"), "X520.Country");
+ OIDS::add_oid(OID("2.5.4.7"), "X520.Locality");
+ OIDS::add_oid(OID("2.5.4.8"), "X520.State");
+ OIDS::add_oid(OID("2.5.4.10"), "X520.Organization");
+ OIDS::add_oid(OID("2.5.4.11"), "X520.OrganizationalUnit");
+ OIDS::add_oid(OID("2.5.4.12"), "X520.Title");
+ OIDS::add_oid(OID("2.5.4.42"), "X520.GivenName");
+ OIDS::add_oid(OID("2.5.4.43"), "X520.Initials");
+ OIDS::add_oid(OID("2.5.4.44"), "X520.GenerationalQualifier");
+ OIDS::add_oid(OID("2.5.4.46"), "X520.DNQualifier");
+ OIDS::add_oid(OID("2.5.4.65"), "X520.Pseudonym");
+
+ OIDS::add_oid(OID("1.2.840.113549.1.5.12"), "PKCS5.PBKDF2");
+ OIDS::add_oid(OID("1.2.840.113549.1.5.1"), "PBE-PKCS5v15(MD2,DES/CBC)");
+ OIDS::add_oid(OID("1.2.840.113549.1.5.4"), "PBE-PKCS5v15(MD2,RC2/CBC)");
+ OIDS::add_oid(OID("1.2.840.113549.1.5.3"), "PBE-PKCS5v15(MD5,DES/CBC)");
+ OIDS::add_oid(OID("1.2.840.113549.1.5.6"), "PBE-PKCS5v15(MD5,RC2/CBC)");
+ OIDS::add_oid(OID("1.2.840.113549.1.5.10"), "PBE-PKCS5v15(SHA-160,DES/CBC)");
+ OIDS::add_oid(OID("1.2.840.113549.1.5.11"), "PBE-PKCS5v15(SHA-160,RC2/CBC)");
+ OIDS::add_oid(OID("1.2.840.113549.1.5.13"), "PBE-PKCS5v20");
+
+ OIDS::add_oid(OID("1.2.840.113549.1.9.1"), "PKCS9.EmailAddress");
+ OIDS::add_oid(OID("1.2.840.113549.1.9.2"), "PKCS9.UnstructuredName");
+ OIDS::add_oid(OID("1.2.840.113549.1.9.3"), "PKCS9.ContentType");
+ OIDS::add_oid(OID("1.2.840.113549.1.9.4"), "PKCS9.MessageDigest");
+ OIDS::add_oid(OID("1.2.840.113549.1.9.7"), "PKCS9.ChallengePassword");
+ OIDS::add_oid(OID("1.2.840.113549.1.9.14"), "PKCS9.ExtensionRequest");
+
+ OIDS::add_oid(OID("1.2.840.113549.1.7.1"), "CMS.DataContent");
+ OIDS::add_oid(OID("1.2.840.113549.1.7.2"), "CMS.SignedData");
+ OIDS::add_oid(OID("1.2.840.113549.1.7.3"), "CMS.EnvelopedData");
+ OIDS::add_oid(OID("1.2.840.113549.1.7.5"), "CMS.DigestedData");
+ OIDS::add_oid(OID("1.2.840.113549.1.7.6"), "CMS.EncryptedData");
+ OIDS::add_oid(OID("1.2.840.113549.1.9.16.1.2"), "CMS.AuthenticatedData");
+ OIDS::add_oid(OID("1.2.840.113549.1.9.16.1.9"), "CMS.CompressedData");
+
+ OIDS::add_oid(OID("2.5.29.14"), "X509v3.SubjectKeyIdentifier");
+ OIDS::add_oid(OID("2.5.29.15"), "X509v3.KeyUsage");
+ OIDS::add_oid(OID("2.5.29.17"), "X509v3.SubjectAlternativeName");
+ OIDS::add_oid(OID("2.5.29.18"), "X509v3.IssuerAlternativeName");
+ OIDS::add_oid(OID("2.5.29.19"), "X509v3.BasicConstraints");
+ OIDS::add_oid(OID("2.5.29.20"), "X509v3.CRLNumber");
+ OIDS::add_oid(OID("2.5.29.21"), "X509v3.ReasonCode");
+ OIDS::add_oid(OID("2.5.29.23"), "X509v3.HoldInstructionCode");
+ OIDS::add_oid(OID("2.5.29.24"), "X509v3.InvalidityDate");
+ OIDS::add_oid(OID("2.5.29.31"), "X509v3.CRLDistributionPoints");
+ OIDS::add_oid(OID("2.5.29.32"), "X509v3.CertificatePolicies");
+ OIDS::add_oid(OID("2.5.29.35"), "X509v3.AuthorityKeyIdentifier");
+ OIDS::add_oid(OID("2.5.29.36"), "X509v3.PolicyConstraints");
+ OIDS::add_oid(OID("2.5.29.37"), "X509v3.ExtendedKeyUsage");
+ OIDS::add_oid(OID("1.3.6.1.5.5.7.1.1"), "PKIX.AuthorityInformationAccess");
+
+ OIDS::add_oid(OID("2.5.29.32.0"), "X509v3.AnyPolicy");
+
+ OIDS::add_oid(OID("1.3.6.1.5.5.7.3.1"), "PKIX.ServerAuth");
+ OIDS::add_oid(OID("1.3.6.1.5.5.7.3.2"), "PKIX.ClientAuth");
+ OIDS::add_oid(OID("1.3.6.1.5.5.7.3.3"), "PKIX.CodeSigning");
+ OIDS::add_oid(OID("1.3.6.1.5.5.7.3.4"), "PKIX.EmailProtection");
+ OIDS::add_oid(OID("1.3.6.1.5.5.7.3.5"), "PKIX.IPsecEndSystem");
+ OIDS::add_oid(OID("1.3.6.1.5.5.7.3.6"), "PKIX.IPsecTunnel");
+ OIDS::add_oid(OID("1.3.6.1.5.5.7.3.7"), "PKIX.IPsecUser");
+ OIDS::add_oid(OID("1.3.6.1.5.5.7.3.8"), "PKIX.TimeStamping");
+ OIDS::add_oid(OID("1.3.6.1.5.5.7.3.9"), "PKIX.OCSPSigning");
+
+ OIDS::add_oid(OID("1.3.6.1.5.5.7.8.5"), "PKIX.XMPPAddr");
+
+ OIDS::add_oid(OID("1.3.6.1.5.5.7.48.1"), "PKIX.OCSP");
+ OIDS::add_oid(OID("1.3.6.1.5.5.7.48.1.1"), "PKIX.OCSP.BasicResponse");
+
+ /* ECC domain parameters */
+ OIDS::add_oid(OID("1.3.132.0.6"), "secp112r1");
+ OIDS::add_oid(OID("1.3.132.0.7"), "secp112r2");
+ OIDS::add_oid(OID("1.3.132.0.8"), "secp160r1");
+ OIDS::add_oid(OID("1.3.132.0.9"), "secp160k1");
+ OIDS::add_oid(OID("1.3.132.0.10"), "secp256k1");
+ OIDS::add_oid(OID("1.3.132.0.28"), "secp128r1");
+ OIDS::add_oid(OID("1.3.132.0.29"), "secp128r2");
+ OIDS::add_oid(OID("1.3.132.0.30"), "secp160r2");
+ OIDS::add_oid(OID("1.3.132.0.31"), "secp192k1");
+ OIDS::add_oid(OID("1.3.132.0.32"), "secp224k1");
+ OIDS::add_oid(OID("1.3.132.0.33"), "secp224r1");
+ OIDS::add_oid(OID("1.3.132.0.34"), "secp384r1");
+ OIDS::add_oid(OID("1.3.132.0.35"), "secp521r1");
+
+ OIDS::add_oid(OID("1.2.840.10045.3.1.1"), "secp192r1");
+ OIDS::add_oid(OID("1.2.840.10045.3.1.2"), "x962_p192v2");
+ OIDS::add_oid(OID("1.2.840.10045.3.1.3"), "x962_p192v3");
+ OIDS::add_oid(OID("1.2.840.10045.3.1.4"), "x962_p239v1");
+ OIDS::add_oid(OID("1.2.840.10045.3.1.5"), "x962_p239v2");
+ OIDS::add_oid(OID("1.2.840.10045.3.1.6"), "x962_p239v3");
+ OIDS::add_oid(OID("1.2.840.10045.3.1.7"), "secp256r1");
+
+ OIDS::add_oid(OID("1.3.36.3.3.2.8.1.1.1"), "brainpool160r1");
+ OIDS::add_oid(OID("1.3.36.3.3.2.8.1.1.3"), "brainpool192r1");
+ OIDS::add_oid(OID("1.3.36.3.3.2.8.1.1.5"), "brainpool224r1");
+ OIDS::add_oid(OID("1.3.36.3.3.2.8.1.1.7"), "brainpool256r1");
+ OIDS::add_oid(OID("1.3.36.3.3.2.8.1.1.9"), "brainpool320r1");
+ OIDS::add_oid(OID("1.3.36.3.3.2.8.1.1.11"), "brainpool384r1");
+ OIDS::add_oid(OID("1.3.36.3.3.2.8.1.1.13"), "brainpool512r1");
+
+ OIDS::add_oid(OID("1.2.643.2.2.35.1"), "gost_256A");
+ OIDS::add_oid(OID("1.2.643.2.2.36.0"), "gost_256A");
+
+ /* CVC */
+ OIDS::add_oid(OID("0.4.0.127.0.7.3.1.2.1"), "CertificateHolderAuthorizationTemplate");
+ }
+
+}
+
+}