Botan  2.1.0
Crypto and TLS for C++11
Functions
Botan::OIDS Namespace Reference

Functions

bool have_oid (const std::string &oid)
 
std::string lookup (const OID &oid)
 
OID lookup (const std::string &name)
 

Function Documentation

bool Botan::OIDS::have_oid ( const std::string &  oid)
inline

See if an OID exists in the internal table.

Parameters
oidthe oid to check for
Returns
true if the oid is registered

Definition at line 37 of file oids.h.

References lookup().

Referenced by Botan::X942_PRF::X942_PRF().

38  {
39  return (lookup(oid).empty() == false);
40  }
std::string lookup(const OID &oid)
Definition: oids.cpp:18
BOTAN_DLL std::string Botan::OIDS::lookup ( const OID oid)

Resolve an OID

Parameters
oidthe OID to look up
Returns
name associated with this OID

Definition at line 18 of file oids.cpp.

References Botan::OID::as_string().

Referenced by Botan::X509_DN::add_attribute(), Botan::X509_Cert_Options::add_ex_constraint(), Botan::X509_Object::check_signature(), Botan::choose_sig_format(), Botan::PKCS10_Request::constraints(), Botan::AlternativeName::contents(), Botan::X509_DN::contents(), Botan::EC_Group::EC_Group(), Botan::PKCS10_Request::ex_constraints(), Botan::X509_DN::get_attribute(), Botan::Public_Key::get_oid(), Botan::X509_Object::hash_used_for_signature(), have_oid(), Botan::PKCS10_Request::is_CA(), Botan::OCSP::CertID::is_id_for(), Botan::load_private_key(), Botan::load_public_key(), Botan::Certificate_Extension::oid_of(), Botan::PKCS10_Request::path_limit(), Botan::pbes2_decrypt(), Botan::X509_Certificate::to_string(), Botan::OCSP::Response::verify_signature(), Botan::X509_DN::X509_DN(), and Botan::X942_PRF::X942_PRF().

19  {
20  const std::string oid_str = oid.as_string();
21  if(oid_str == "1.0.14888.3.0.5") return "ECKCDSA";
22  if(oid_str == "1.2.250.1.223.101.256.1") return "frp256v1";
23  if(oid_str == "1.2.410.200004.1.100.4.3") return "ECKCDSA/EMSA1(SHA-1)";
24  if(oid_str == "1.2.410.200004.1.100.4.4") return "ECKCDSA/EMSA1(SHA-224)";
25  if(oid_str == "1.2.410.200004.1.100.4.5") return "ECKCDSA/EMSA1(SHA-256)";
26  if(oid_str == "1.2.410.200004.1.4") return "SEED/CBC";
27  if(oid_str == "1.2.643.2.2.19") return "GOST-34.10";
28  if(oid_str == "1.2.643.2.2.3") return "GOST-34.10/EMSA1(GOST-R-34.11-94)";
29  if(oid_str == "1.2.643.2.2.35.1") return "gost_256A";
30  if(oid_str == "1.2.643.2.2.36.0") return "gost_256A";
31  if(oid_str == "1.2.840.10040.4.1") return "DSA";
32  if(oid_str == "1.2.840.10040.4.3") return "DSA/EMSA1(SHA-160)";
33  if(oid_str == "1.2.840.10045.2.1") return "ECDSA";
34  if(oid_str == "1.2.840.10045.3.1.1") return "secp192r1";
35  if(oid_str == "1.2.840.10045.3.1.2") return "x962_p192v2";
36  if(oid_str == "1.2.840.10045.3.1.3") return "x962_p192v3";
37  if(oid_str == "1.2.840.10045.3.1.4") return "x962_p239v1";
38  if(oid_str == "1.2.840.10045.3.1.5") return "x962_p239v2";
39  if(oid_str == "1.2.840.10045.3.1.6") return "x962_p239v3";
40  if(oid_str == "1.2.840.10045.3.1.7") return "secp256r1";
41  if(oid_str == "1.2.840.10045.4.1") return "ECDSA/EMSA1(SHA-160)";
42  if(oid_str == "1.2.840.10045.4.3.1") return "ECDSA/EMSA1(SHA-224)";
43  if(oid_str == "1.2.840.10045.4.3.2") return "ECDSA/EMSA1(SHA-256)";
44  if(oid_str == "1.2.840.10045.4.3.3") return "ECDSA/EMSA1(SHA-384)";
45  if(oid_str == "1.2.840.10045.4.3.4") return "ECDSA/EMSA1(SHA-512)";
46  if(oid_str == "1.2.840.10046.2.1") return "DH";
47  if(oid_str == "1.2.840.113533.7.66.10") return "CAST-128/CBC";
48  if(oid_str == "1.2.840.113533.7.66.15") return "KeyWrap.CAST-128";
49  if(oid_str == "1.2.840.113549.1.1.1") return "RSA";
50  if(oid_str == "1.2.840.113549.1.1.11") return "RSA/EMSA3(SHA-256)";
51  if(oid_str == "1.2.840.113549.1.1.12") return "RSA/EMSA3(SHA-384)";
52  if(oid_str == "1.2.840.113549.1.1.13") return "RSA/EMSA3(SHA-512)";
53  if(oid_str == "1.2.840.113549.1.1.4") return "RSA/EMSA3(MD5)";
54  if(oid_str == "1.2.840.113549.1.1.5") return "RSA/EMSA3(SHA-160)";
55  if(oid_str == "1.2.840.113549.1.5.12") return "PKCS5.PBKDF2";
56  if(oid_str == "1.2.840.113549.1.5.13") return "PBE-PKCS5v20";
57  if(oid_str == "1.2.840.113549.1.9.1") return "PKCS9.EmailAddress";
58  if(oid_str == "1.2.840.113549.1.9.14") return "PKCS9.ExtensionRequest";
59  if(oid_str == "1.2.840.113549.1.9.16.3.6") return "KeyWrap.TripleDES";
60  if(oid_str == "1.2.840.113549.1.9.16.3.7") return "KeyWrap.RC2";
61  if(oid_str == "1.2.840.113549.1.9.16.3.8") return "Compression.Zlib";
62  if(oid_str == "1.2.840.113549.1.9.2") return "PKCS9.UnstructuredName";
63  if(oid_str == "1.2.840.113549.1.9.3") return "PKCS9.ContentType";
64  if(oid_str == "1.2.840.113549.1.9.4") return "PKCS9.MessageDigest";
65  if(oid_str == "1.2.840.113549.1.9.7") return "PKCS9.ChallengePassword";
66  if(oid_str == "1.2.840.113549.2.10") return "HMAC(SHA-384)";
67  if(oid_str == "1.2.840.113549.2.11") return "HMAC(SHA-512)";
68  if(oid_str == "1.2.840.113549.2.5") return "MD5";
69  if(oid_str == "1.2.840.113549.2.7") return "HMAC(SHA-160)";
70  if(oid_str == "1.2.840.113549.2.8") return "HMAC(SHA-224)";
71  if(oid_str == "1.2.840.113549.2.9") return "HMAC(SHA-256)";
72  if(oid_str == "1.2.840.113549.3.2") return "RC2/CBC";
73  if(oid_str == "1.2.840.113549.3.7") return "TripleDES/CBC";
74  if(oid_str == "1.3.132.0.10") return "secp256k1";
75  if(oid_str == "1.3.132.0.30") return "secp160r2";
76  if(oid_str == "1.3.132.0.31") return "secp192k1";
77  if(oid_str == "1.3.132.0.32") return "secp224k1";
78  if(oid_str == "1.3.132.0.33") return "secp224r1";
79  if(oid_str == "1.3.132.0.34") return "secp384r1";
80  if(oid_str == "1.3.132.0.35") return "secp521r1";
81  if(oid_str == "1.3.132.0.8") return "secp160r1";
82  if(oid_str == "1.3.132.0.9") return "secp160k1";
83  if(oid_str == "1.3.132.1.12") return "ECDH";
84  if(oid_str == "1.3.14.3.2.26") return "SHA-160";
85  if(oid_str == "1.3.14.3.2.7") return "DES/CBC";
86  if(oid_str == "1.3.36.3.3.1.2") return "RSA/EMSA3(RIPEMD-160)";
87  if(oid_str == "1.3.36.3.3.2.5.2.1") return "ECGDSA";
88  if(oid_str == "1.3.36.3.3.2.5.4.1") return "ECGDSA/EMSA1(RIPEMD-160)";
89  if(oid_str == "1.3.36.3.3.2.5.4.2") return "ECGDSA/EMSA1(SHA-160)";
90  if(oid_str == "1.3.36.3.3.2.5.4.3") return "ECGDSA/EMSA1(SHA-224)";
91  if(oid_str == "1.3.36.3.3.2.5.4.4") return "ECGDSA/EMSA1(SHA-256)";
92  if(oid_str == "1.3.36.3.3.2.5.4.5") return "ECGDSA/EMSA1(SHA-384)";
93  if(oid_str == "1.3.36.3.3.2.5.4.6") return "ECGDSA/EMSA1(SHA-512)";
94  if(oid_str == "1.3.36.3.3.2.8.1.1.1") return "brainpool160r1";
95  if(oid_str == "1.3.36.3.3.2.8.1.1.11") return "brainpool384r1";
96  if(oid_str == "1.3.36.3.3.2.8.1.1.13") return "brainpool512r1";
97  if(oid_str == "1.3.36.3.3.2.8.1.1.3") return "brainpool192r1";
98  if(oid_str == "1.3.36.3.3.2.8.1.1.5") return "brainpool224r1";
99  if(oid_str == "1.3.36.3.3.2.8.1.1.7") return "brainpool256r1";
100  if(oid_str == "1.3.36.3.3.2.8.1.1.9") return "brainpool320r1";
101  if(oid_str == "1.3.6.1.4.1.11591.12.2") return "Tiger(24,3)";
102  if(oid_str == "1.3.6.1.4.1.25258.1.3") return "McEliece";
103  if(oid_str == "1.3.6.1.4.1.25258.1.4") return "Curve25519";
104  if(oid_str == "1.3.6.1.4.1.25258.1.5") return "XMSS";
105  if(oid_str == "1.3.6.1.4.1.25258.1.6.1") return "GOST-34.10/EMSA1(SHA-256)";
106  if(oid_str == "1.3.6.1.4.1.25258.3.1") return "Serpent/CBC";
107  if(oid_str == "1.3.6.1.4.1.25258.3.101") return "Serpent/GCM";
108  if(oid_str == "1.3.6.1.4.1.25258.3.102") return "Twofish/GCM";
109  if(oid_str == "1.3.6.1.4.1.25258.3.2") return "Threefish-512/CBC";
110  if(oid_str == "1.3.6.1.4.1.25258.3.2.1") return "AES-128/OCB";
111  if(oid_str == "1.3.6.1.4.1.25258.3.2.2") return "AES-192/OCB";
112  if(oid_str == "1.3.6.1.4.1.25258.3.2.3") return "AES-256/OCB";
113  if(oid_str == "1.3.6.1.4.1.25258.3.2.4") return "Serpent/OCB";
114  if(oid_str == "1.3.6.1.4.1.25258.3.2.5") return "Twofish/OCB";
115  if(oid_str == "1.3.6.1.4.1.25258.3.3") return "Twofish/CBC";
116  if(oid_str == "1.3.6.1.4.1.3029.1.2.1") return "ElGamal";
117  if(oid_str == "1.3.6.1.4.1.311.20.2.2") return "Microsoft SmartcardLogon";
118  if(oid_str == "1.3.6.1.4.1.8301.3.1.2.9.0.38") return "secp521r1";
119  if(oid_str == "1.3.6.1.5.5.7.1.1") return "PKIX.AuthorityInformationAccess";
120  if(oid_str == "1.3.6.1.5.5.7.3.1") return "PKIX.ServerAuth";
121  if(oid_str == "1.3.6.1.5.5.7.3.2") return "PKIX.ClientAuth";
122  if(oid_str == "1.3.6.1.5.5.7.3.3") return "PKIX.CodeSigning";
123  if(oid_str == "1.3.6.1.5.5.7.3.4") return "PKIX.EmailProtection";
124  if(oid_str == "1.3.6.1.5.5.7.3.5") return "PKIX.IPsecEndSystem";
125  if(oid_str == "1.3.6.1.5.5.7.3.6") return "PKIX.IPsecTunnel";
126  if(oid_str == "1.3.6.1.5.5.7.3.7") return "PKIX.IPsecUser";
127  if(oid_str == "1.3.6.1.5.5.7.3.8") return "PKIX.TimeStamping";
128  if(oid_str == "1.3.6.1.5.5.7.3.9") return "PKIX.OCSPSigning";
129  if(oid_str == "1.3.6.1.5.5.7.48.1") return "PKIX.OCSP";
130  if(oid_str == "1.3.6.1.5.5.7.48.1.1") return "PKIX.OCSP.BasicResponse";
131  if(oid_str == "1.3.6.1.5.5.7.8.5") return "PKIX.XMPPAddr";
132  if(oid_str == "2.16.840.1.101.3.4.1.2") return "AES-128/CBC";
133  if(oid_str == "2.16.840.1.101.3.4.1.22") return "AES-192/CBC";
134  if(oid_str == "2.16.840.1.101.3.4.1.25") return "KeyWrap.AES-192";
135  if(oid_str == "2.16.840.1.101.3.4.1.26") return "AES-192/GCM";
136  if(oid_str == "2.16.840.1.101.3.4.1.27") return "AES-192/CCM";
137  if(oid_str == "2.16.840.1.101.3.4.1.42") return "AES-256/CBC";
138  if(oid_str == "2.16.840.1.101.3.4.1.45") return "KeyWrap.AES-256";
139  if(oid_str == "2.16.840.1.101.3.4.1.46") return "AES-256/GCM";
140  if(oid_str == "2.16.840.1.101.3.4.1.47") return "AES-256/CCM";
141  if(oid_str == "2.16.840.1.101.3.4.1.5") return "KeyWrap.AES-128";
142  if(oid_str == "2.16.840.1.101.3.4.1.6") return "AES-128/GCM";
143  if(oid_str == "2.16.840.1.101.3.4.1.7") return "AES-128/CCM";
144  if(oid_str == "2.16.840.1.101.3.4.2.1") return "SHA-256";
145  if(oid_str == "2.16.840.1.101.3.4.2.10") return "SHA-3(512)";
146  if(oid_str == "2.16.840.1.101.3.4.2.11") return "SHAKE-128";
147  if(oid_str == "2.16.840.1.101.3.4.2.12") return "SHAKE-256";
148  if(oid_str == "2.16.840.1.101.3.4.2.2") return "SHA-384";
149  if(oid_str == "2.16.840.1.101.3.4.2.3") return "SHA-512";
150  if(oid_str == "2.16.840.1.101.3.4.2.4") return "SHA-224";
151  if(oid_str == "2.16.840.1.101.3.4.2.6") return "SHA-512-256";
152  if(oid_str == "2.16.840.1.101.3.4.2.7") return "SHA-3(224)";
153  if(oid_str == "2.16.840.1.101.3.4.2.8") return "SHA-3(256)";
154  if(oid_str == "2.16.840.1.101.3.4.2.9") return "SHA-3(384)";
155  if(oid_str == "2.16.840.1.101.3.4.3.1") return "DSA/EMSA1(SHA-224)";
156  if(oid_str == "2.16.840.1.101.3.4.3.10") return "ECDSA/EMSA1(SHA-3(256))";
157  if(oid_str == "2.16.840.1.101.3.4.3.11") return "ECDSA/EMSA1(SHA-3(384))";
158  if(oid_str == "2.16.840.1.101.3.4.3.12") return "ECDSA/EMSA1(SHA-3(512))";
159  if(oid_str == "2.16.840.1.101.3.4.3.13") return "RSA/EMSA3(SHA-3(224))";
160  if(oid_str == "2.16.840.1.101.3.4.3.14") return "RSA/EMSA3(SHA-3(256))";
161  if(oid_str == "2.16.840.1.101.3.4.3.15") return "RSA/EMSA3(SHA-3(384))";
162  if(oid_str == "2.16.840.1.101.3.4.3.16") return "RSA/EMSA3(SHA-3(512))";
163  if(oid_str == "2.16.840.1.101.3.4.3.2") return "DSA/EMSA1(SHA-256)";
164  if(oid_str == "2.16.840.1.101.3.4.3.3") return "DSA/EMSA1(SHA-384)";
165  if(oid_str == "2.16.840.1.101.3.4.3.4") return "DSA/EMSA1(SHA-512)";
166  if(oid_str == "2.16.840.1.101.3.4.3.5") return "DSA/EMSA1(SHA-3(224))";
167  if(oid_str == "2.16.840.1.101.3.4.3.6") return "DSA/EMSA1(SHA-3(256))";
168  if(oid_str == "2.16.840.1.101.3.4.3.7") return "DSA/EMSA1(SHA-3(384))";
169  if(oid_str == "2.16.840.1.101.3.4.3.8") return "DSA/EMSA1(SHA-3(512))";
170  if(oid_str == "2.16.840.1.101.3.4.3.9") return "ECDSA/EMSA1(SHA-3(224))";
171  if(oid_str == "2.5.29.14") return "X509v3.SubjectKeyIdentifier";
172  if(oid_str == "2.5.29.15") return "X509v3.KeyUsage";
173  if(oid_str == "2.5.29.17") return "X509v3.SubjectAlternativeName";
174  if(oid_str == "2.5.29.18") return "X509v3.IssuerAlternativeName";
175  if(oid_str == "2.5.29.19") return "X509v3.BasicConstraints";
176  if(oid_str == "2.5.29.20") return "X509v3.CRLNumber";
177  if(oid_str == "2.5.29.21") return "X509v3.ReasonCode";
178  if(oid_str == "2.5.29.23") return "X509v3.HoldInstructionCode";
179  if(oid_str == "2.5.29.24") return "X509v3.InvalidityDate";
180  if(oid_str == "2.5.29.30") return "X509v3.NameConstraints";
181  if(oid_str == "2.5.29.31") return "X509v3.CRLDistributionPoints";
182  if(oid_str == "2.5.29.32") return "X509v3.CertificatePolicies";
183  if(oid_str == "2.5.29.32.0") return "X509v3.AnyPolicy";
184  if(oid_str == "2.5.29.35") return "X509v3.AuthorityKeyIdentifier";
185  if(oid_str == "2.5.29.36") return "X509v3.PolicyConstraints";
186  if(oid_str == "2.5.29.37") return "X509v3.ExtendedKeyUsage";
187  if(oid_str == "2.5.4.10") return "X520.Organization";
188  if(oid_str == "2.5.4.11") return "X520.OrganizationalUnit";
189  if(oid_str == "2.5.4.12") return "X520.Title";
190  if(oid_str == "2.5.4.3") return "X520.CommonName";
191  if(oid_str == "2.5.4.4") return "X520.Surname";
192  if(oid_str == "2.5.4.42") return "X520.GivenName";
193  if(oid_str == "2.5.4.43") return "X520.Initials";
194  if(oid_str == "2.5.4.44") return "X520.GenerationalQualifier";
195  if(oid_str == "2.5.4.46") return "X520.DNQualifier";
196  if(oid_str == "2.5.4.5") return "X520.SerialNumber";
197  if(oid_str == "2.5.4.6") return "X520.Country";
198  if(oid_str == "2.5.4.65") return "X520.Pseudonym";
199  if(oid_str == "2.5.4.7") return "X520.Locality";
200  if(oid_str == "2.5.4.8") return "X520.State";
201  if(oid_str == "2.5.8.1.1") return "RSA";
202 
203 #if defined(BOTAN_HOUSE_ECC_CURVE_NAME)
204  if(oid_str == BOTAN_HOUSE_ECC_CURVE_OID) return BOTAN_HOUSE_ECC_CURVE_NAME;
205 #endif
206 
207  return std::string();
208  }
BOTAN_DLL OID Botan::OIDS::lookup ( const std::string &  name)

Find the OID to a name. The lookup will be performed in the general OID section of the configuration.

Parameters
namethe name to resolve
Returns
OID associated with the specified name

Definition at line 210 of file oids.cpp.

211  {
212  if(name == "AES-128/CBC") return OID("2.16.840.1.101.3.4.1.2");
213  if(name == "AES-128/CCM") return OID("2.16.840.1.101.3.4.1.7");
214  if(name == "AES-128/GCM") return OID("2.16.840.1.101.3.4.1.6");
215  if(name == "AES-128/OCB") return OID("1.3.6.1.4.1.25258.3.2.1");
216  if(name == "AES-192/CBC") return OID("2.16.840.1.101.3.4.1.22");
217  if(name == "AES-192/CCM") return OID("2.16.840.1.101.3.4.1.27");
218  if(name == "AES-192/GCM") return OID("2.16.840.1.101.3.4.1.26");
219  if(name == "AES-192/OCB") return OID("1.3.6.1.4.1.25258.3.2.2");
220  if(name == "AES-256/CBC") return OID("2.16.840.1.101.3.4.1.42");
221  if(name == "AES-256/CCM") return OID("2.16.840.1.101.3.4.1.47");
222  if(name == "AES-256/GCM") return OID("2.16.840.1.101.3.4.1.46");
223  if(name == "AES-256/OCB") return OID("1.3.6.1.4.1.25258.3.2.3");
224  if(name == "CAST-128/CBC") return OID("1.2.840.113533.7.66.10");
225  if(name == "Compression.Zlib") return OID("1.2.840.113549.1.9.16.3.8");
226  if(name == "Curve25519") return OID("1.3.6.1.4.1.25258.1.4");
227  if(name == "DES/CBC") return OID("1.3.14.3.2.7");
228  if(name == "DH") return OID("1.2.840.10046.2.1");
229  if(name == "DSA") return OID("1.2.840.10040.4.1");
230  if(name == "DSA/EMSA1(SHA-160)") return OID("1.2.840.10040.4.3");
231  if(name == "DSA/EMSA1(SHA-224)") return OID("2.16.840.1.101.3.4.3.1");
232  if(name == "DSA/EMSA1(SHA-256)") return OID("2.16.840.1.101.3.4.3.2");
233  if(name == "DSA/EMSA1(SHA-3(224))") return OID("2.16.840.1.101.3.4.3.5");
234  if(name == "DSA/EMSA1(SHA-3(256))") return OID("2.16.840.1.101.3.4.3.6");
235  if(name == "DSA/EMSA1(SHA-3(384))") return OID("2.16.840.1.101.3.4.3.7");
236  if(name == "DSA/EMSA1(SHA-3(512))") return OID("2.16.840.1.101.3.4.3.8");
237  if(name == "DSA/EMSA1(SHA-384)") return OID("2.16.840.1.101.3.4.3.3");
238  if(name == "DSA/EMSA1(SHA-512)") return OID("2.16.840.1.101.3.4.3.4");
239  if(name == "ECDH") return OID("1.3.132.1.12");
240  if(name == "ECDSA") return OID("1.2.840.10045.2.1");
241  if(name == "ECDSA/EMSA1(SHA-160)") return OID("1.2.840.10045.4.1");
242  if(name == "ECDSA/EMSA1(SHA-224)") return OID("1.2.840.10045.4.3.1");
243  if(name == "ECDSA/EMSA1(SHA-256)") return OID("1.2.840.10045.4.3.2");
244  if(name == "ECDSA/EMSA1(SHA-3(224))") return OID("2.16.840.1.101.3.4.3.9");
245  if(name == "ECDSA/EMSA1(SHA-3(256))") return OID("2.16.840.1.101.3.4.3.10");
246  if(name == "ECDSA/EMSA1(SHA-3(384))") return OID("2.16.840.1.101.3.4.3.11");
247  if(name == "ECDSA/EMSA1(SHA-3(512))") return OID("2.16.840.1.101.3.4.3.12");
248  if(name == "ECDSA/EMSA1(SHA-384)") return OID("1.2.840.10045.4.3.3");
249  if(name == "ECDSA/EMSA1(SHA-512)") return OID("1.2.840.10045.4.3.4");
250  if(name == "ECGDSA") return OID("1.3.36.3.3.2.5.2.1");
251  if(name == "ECGDSA/EMSA1(RIPEMD-160)") return OID("1.3.36.3.3.2.5.4.1");
252  if(name == "ECGDSA/EMSA1(SHA-160)") return OID("1.3.36.3.3.2.5.4.2");
253  if(name == "ECGDSA/EMSA1(SHA-224)") return OID("1.3.36.3.3.2.5.4.3");
254  if(name == "ECGDSA/EMSA1(SHA-256)") return OID("1.3.36.3.3.2.5.4.4");
255  if(name == "ECGDSA/EMSA1(SHA-384)") return OID("1.3.36.3.3.2.5.4.5");
256  if(name == "ECGDSA/EMSA1(SHA-512)") return OID("1.3.36.3.3.2.5.4.6");
257  if(name == "ECKCDSA") return OID("1.0.14888.3.0.5");
258  if(name == "ECKCDSA/EMSA1(SHA-1)") return OID("1.2.410.200004.1.100.4.3");
259  if(name == "ECKCDSA/EMSA1(SHA-224)") return OID("1.2.410.200004.1.100.4.4");
260  if(name == "ECKCDSA/EMSA1(SHA-256)") return OID("1.2.410.200004.1.100.4.5");
261  if(name == "ElGamal") return OID("1.3.6.1.4.1.3029.1.2.1");
262  if(name == "GOST-34.10") return OID("1.2.643.2.2.19");
263  if(name == "GOST-34.10/EMSA1(GOST-R-34.11-94)") return OID("1.2.643.2.2.3");
264  if(name == "GOST-34.10/EMSA1(SHA-256)") return OID("1.3.6.1.4.1.25258.1.6.1");
265  if(name == "HMAC(SHA-160)") return OID("1.2.840.113549.2.7");
266  if(name == "HMAC(SHA-224)") return OID("1.2.840.113549.2.8");
267  if(name == "HMAC(SHA-256)") return OID("1.2.840.113549.2.9");
268  if(name == "HMAC(SHA-384)") return OID("1.2.840.113549.2.10");
269  if(name == "HMAC(SHA-512)") return OID("1.2.840.113549.2.11");
270  if(name == "KeyWrap.AES-128") return OID("2.16.840.1.101.3.4.1.5");
271  if(name == "KeyWrap.AES-192") return OID("2.16.840.1.101.3.4.1.25");
272  if(name == "KeyWrap.AES-256") return OID("2.16.840.1.101.3.4.1.45");
273  if(name == "KeyWrap.CAST-128") return OID("1.2.840.113533.7.66.15");
274  if(name == "KeyWrap.RC2") return OID("1.2.840.113549.1.9.16.3.7");
275  if(name == "KeyWrap.TripleDES") return OID("1.2.840.113549.1.9.16.3.6");
276  if(name == "MD5") return OID("1.2.840.113549.2.5");
277  if(name == "McEliece") return OID("1.3.6.1.4.1.25258.1.3");
278  if(name == "Microsoft SmartcardLogon") return OID("1.3.6.1.4.1.311.20.2.2");
279  if(name == "PBE-PKCS5v20") return OID("1.2.840.113549.1.5.13");
280  if(name == "PKCS5.PBKDF2") return OID("1.2.840.113549.1.5.12");
281  if(name == "PKCS9.ChallengePassword") return OID("1.2.840.113549.1.9.7");
282  if(name == "PKCS9.ContentType") return OID("1.2.840.113549.1.9.3");
283  if(name == "PKCS9.EmailAddress") return OID("1.2.840.113549.1.9.1");
284  if(name == "PKCS9.ExtensionRequest") return OID("1.2.840.113549.1.9.14");
285  if(name == "PKCS9.MessageDigest") return OID("1.2.840.113549.1.9.4");
286  if(name == "PKCS9.UnstructuredName") return OID("1.2.840.113549.1.9.2");
287  if(name == "PKIX.AuthorityInformationAccess") return OID("1.3.6.1.5.5.7.1.1");
288  if(name == "PKIX.ClientAuth") return OID("1.3.6.1.5.5.7.3.2");
289  if(name == "PKIX.CodeSigning") return OID("1.3.6.1.5.5.7.3.3");
290  if(name == "PKIX.EmailProtection") return OID("1.3.6.1.5.5.7.3.4");
291  if(name == "PKIX.IPsecEndSystem") return OID("1.3.6.1.5.5.7.3.5");
292  if(name == "PKIX.IPsecTunnel") return OID("1.3.6.1.5.5.7.3.6");
293  if(name == "PKIX.IPsecUser") return OID("1.3.6.1.5.5.7.3.7");
294  if(name == "PKIX.OCSP") return OID("1.3.6.1.5.5.7.48.1");
295  if(name == "PKIX.OCSP.BasicResponse") return OID("1.3.6.1.5.5.7.48.1.1");
296  if(name == "PKIX.OCSPSigning") return OID("1.3.6.1.5.5.7.3.9");
297  if(name == "PKIX.ServerAuth") return OID("1.3.6.1.5.5.7.3.1");
298  if(name == "PKIX.TimeStamping") return OID("1.3.6.1.5.5.7.3.8");
299  if(name == "PKIX.XMPPAddr") return OID("1.3.6.1.5.5.7.8.5");
300  if(name == "RC2/CBC") return OID("1.2.840.113549.3.2");
301  if(name == "RSA") return OID("1.2.840.113549.1.1.1");
302  if(name == "RSA/EMSA3(MD5)") return OID("1.2.840.113549.1.1.4");
303  if(name == "RSA/EMSA3(RIPEMD-160)") return OID("1.3.36.3.3.1.2");
304  if(name == "RSA/EMSA3(SHA-160)") return OID("1.2.840.113549.1.1.5");
305  if(name == "RSA/EMSA3(SHA-256)") return OID("1.2.840.113549.1.1.11");
306  if(name == "RSA/EMSA3(SHA-3(224))") return OID("2.16.840.1.101.3.4.3.13");
307  if(name == "RSA/EMSA3(SHA-3(256))") return OID("2.16.840.1.101.3.4.3.14");
308  if(name == "RSA/EMSA3(SHA-3(384))") return OID("2.16.840.1.101.3.4.3.15");
309  if(name == "RSA/EMSA3(SHA-3(512))") return OID("2.16.840.1.101.3.4.3.16");
310  if(name == "RSA/EMSA3(SHA-384)") return OID("1.2.840.113549.1.1.12");
311  if(name == "RSA/EMSA3(SHA-512)") return OID("1.2.840.113549.1.1.13");
312  if(name == "SEED/CBC") return OID("1.2.410.200004.1.4");
313  if(name == "SHA-160") return OID("1.3.14.3.2.26");
314  if(name == "SHA-224") return OID("2.16.840.1.101.3.4.2.4");
315  if(name == "SHA-256") return OID("2.16.840.1.101.3.4.2.1");
316  if(name == "SHA-3(224)") return OID("2.16.840.1.101.3.4.2.7");
317  if(name == "SHA-3(256)") return OID("2.16.840.1.101.3.4.2.8");
318  if(name == "SHA-3(384)") return OID("2.16.840.1.101.3.4.2.9");
319  if(name == "SHA-3(512)") return OID("2.16.840.1.101.3.4.2.10");
320  if(name == "SHA-384") return OID("2.16.840.1.101.3.4.2.2");
321  if(name == "SHA-512") return OID("2.16.840.1.101.3.4.2.3");
322  if(name == "SHA-512-256") return OID("2.16.840.1.101.3.4.2.6");
323  if(name == "SHAKE-128") return OID("2.16.840.1.101.3.4.2.11");
324  if(name == "SHAKE-256") return OID("2.16.840.1.101.3.4.2.12");
325  if(name == "Serpent/CBC") return OID("1.3.6.1.4.1.25258.3.1");
326  if(name == "Serpent/GCM") return OID("1.3.6.1.4.1.25258.3.101");
327  if(name == "Serpent/OCB") return OID("1.3.6.1.4.1.25258.3.2.4");
328  if(name == "Threefish-512/CBC") return OID("1.3.6.1.4.1.25258.3.2");
329  if(name == "Tiger(24,3)") return OID("1.3.6.1.4.1.11591.12.2");
330  if(name == "TripleDES/CBC") return OID("1.2.840.113549.3.7");
331  if(name == "Twofish/CBC") return OID("1.3.6.1.4.1.25258.3.3");
332  if(name == "Twofish/GCM") return OID("1.3.6.1.4.1.25258.3.102");
333  if(name == "Twofish/OCB") return OID("1.3.6.1.4.1.25258.3.2.5");
334  if(name == "X509v3.AnyPolicy") return OID("2.5.29.32.0");
335  if(name == "X509v3.AuthorityKeyIdentifier") return OID("2.5.29.35");
336  if(name == "X509v3.BasicConstraints") return OID("2.5.29.19");
337  if(name == "X509v3.CRLDistributionPoints") return OID("2.5.29.31");
338  if(name == "X509v3.CRLNumber") return OID("2.5.29.20");
339  if(name == "X509v3.CertificatePolicies") return OID("2.5.29.32");
340  if(name == "X509v3.ExtendedKeyUsage") return OID("2.5.29.37");
341  if(name == "X509v3.HoldInstructionCode") return OID("2.5.29.23");
342  if(name == "X509v3.InvalidityDate") return OID("2.5.29.24");
343  if(name == "X509v3.IssuerAlternativeName") return OID("2.5.29.18");
344  if(name == "X509v3.KeyUsage") return OID("2.5.29.15");
345  if(name == "X509v3.NameConstraints") return OID("2.5.29.30");
346  if(name == "X509v3.PolicyConstraints") return OID("2.5.29.36");
347  if(name == "X509v3.ReasonCode") return OID("2.5.29.21");
348  if(name == "X509v3.SubjectAlternativeName") return OID("2.5.29.17");
349  if(name == "X509v3.SubjectKeyIdentifier") return OID("2.5.29.14");
350  if(name == "X520.CommonName") return OID("2.5.4.3");
351  if(name == "X520.Country") return OID("2.5.4.6");
352  if(name == "X520.DNQualifier") return OID("2.5.4.46");
353  if(name == "X520.GenerationalQualifier") return OID("2.5.4.44");
354  if(name == "X520.GivenName") return OID("2.5.4.42");
355  if(name == "X520.Initials") return OID("2.5.4.43");
356  if(name == "X520.Locality") return OID("2.5.4.7");
357  if(name == "X520.Organization") return OID("2.5.4.10");
358  if(name == "X520.OrganizationalUnit") return OID("2.5.4.11");
359  if(name == "X520.Pseudonym") return OID("2.5.4.65");
360  if(name == "X520.SerialNumber") return OID("2.5.4.5");
361  if(name == "X520.State") return OID("2.5.4.8");
362  if(name == "X520.Surname") return OID("2.5.4.4");
363  if(name == "X520.Title") return OID("2.5.4.12");
364  if(name == "XMSS") return OID("1.3.6.1.4.1.25258.1.5");
365  if(name == "brainpool160r1") return OID("1.3.36.3.3.2.8.1.1.1");
366  if(name == "brainpool192r1") return OID("1.3.36.3.3.2.8.1.1.3");
367  if(name == "brainpool224r1") return OID("1.3.36.3.3.2.8.1.1.5");
368  if(name == "brainpool256r1") return OID("1.3.36.3.3.2.8.1.1.7");
369  if(name == "brainpool320r1") return OID("1.3.36.3.3.2.8.1.1.9");
370  if(name == "brainpool384r1") return OID("1.3.36.3.3.2.8.1.1.11");
371  if(name == "brainpool512r1") return OID("1.3.36.3.3.2.8.1.1.13");
372  if(name == "frp256v1") return OID("1.2.250.1.223.101.256.1");
373  if(name == "gost_256A") return OID("1.2.643.2.2.35.1");
374  if(name == "secp160k1") return OID("1.3.132.0.9");
375  if(name == "secp160r1") return OID("1.3.132.0.8");
376  if(name == "secp160r2") return OID("1.3.132.0.30");
377  if(name == "secp192k1") return OID("1.3.132.0.31");
378  if(name == "secp192r1") return OID("1.2.840.10045.3.1.1");
379  if(name == "secp224k1") return OID("1.3.132.0.32");
380  if(name == "secp224r1") return OID("1.3.132.0.33");
381  if(name == "secp256k1") return OID("1.3.132.0.10");
382  if(name == "secp256r1") return OID("1.2.840.10045.3.1.7");
383  if(name == "secp384r1") return OID("1.3.132.0.34");
384  if(name == "secp521r1") return OID("1.3.132.0.35");
385  if(name == "x962_p192v2") return OID("1.2.840.10045.3.1.2");
386  if(name == "x962_p192v3") return OID("1.2.840.10045.3.1.3");
387  if(name == "x962_p239v1") return OID("1.2.840.10045.3.1.4");
388  if(name == "x962_p239v2") return OID("1.2.840.10045.3.1.5");
389  if(name == "x962_p239v3") return OID("1.2.840.10045.3.1.6");
390 
391 #if defined(BOTAN_HOUSE_ECC_CURVE_NAME)
392  if(name == BOTAN_HOUSE_ECC_CURVE_NAME) return OID(BOTAN_HOUSE_ECC_CURVE_OID);
393 #endif
394 
395  return OID();
396  }