12 #include <botan/oids.h>
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";
203 #if defined(BOTAN_HOUSE_ECC_CURVE_NAME)
204 if(oid_str == BOTAN_HOUSE_ECC_CURVE_OID)
return BOTAN_HOUSE_ECC_CURVE_NAME;
207 return std::string();
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");
391 #if defined(BOTAN_HOUSE_ECC_CURVE_NAME)
392 if(name == BOTAN_HOUSE_ECC_CURVE_NAME)
return OID(BOTAN_HOUSE_ECC_CURVE_OID);
std::string lookup(const OID &oid)
std::string as_string() const