8#include <botan/internal/oid_map.h>
10#include <initializer_list>
11#include <unordered_map>
18std::optional<std::string_view> if_match(
const OID& oid, std::initializer_list<uint32_t> val, std::string_view name) {
19 if(oid.matches(val)) {
26std::optional<OID> if_match(std::string_view req, std::string_view actual, std::initializer_list<uint32_t> oid) {
34uint32_t hash_oid_name(std::string_view s) {
35 uint64_t hash = 0x8188B31879A4879A;
37 for(
const char c : s) {
42 return static_cast<uint32_t
>(hash % 805289);
48std::optional<std::string_view> OID_Map::lookup_static_oid(
const OID& oid) {
49 const uint32_t hc =
static_cast<uint32_t
>(oid.hash_code() % 858701);
53 return if_match(oid, {1, 2, 840, 10045, 4, 3, 1},
"ECDSA/SHA-224");
55 return if_match(oid, {1, 2, 840, 10045, 4, 3, 2},
"ECDSA/SHA-256");
57 return if_match(oid, {1, 2, 840, 10045, 4, 3, 3},
"ECDSA/SHA-384");
59 return if_match(oid, {1, 2, 840, 10045, 4, 3, 4},
"ECDSA/SHA-512");
61 return if_match(oid, {1, 3, 6, 1, 4, 1, 3029, 1, 2, 1},
"ElGamal");
63 return if_match(oid, {1, 3, 6, 1, 4, 1, 3029, 1, 5, 1},
"OpenPGP.Curve25519");
65 return if_match(oid, {1, 2, 840, 113549, 2, 5},
"MD5");
67 return if_match(oid, {1, 2, 840, 113549, 2, 7},
"HMAC(SHA-1)");
69 return if_match(oid, {1, 2, 840, 113549, 2, 8},
"HMAC(SHA-224)");
71 return if_match(oid, {1, 2, 840, 113549, 2, 9},
"HMAC(SHA-256)");
73 return if_match(oid, {1, 2, 840, 113549, 2, 10},
"HMAC(SHA-384)");
75 return if_match(oid, {1, 2, 840, 113549, 2, 11},
"HMAC(SHA-512)");
77 return if_match(oid, {1, 2, 840, 113549, 2, 13},
"HMAC(SHA-512-256)");
79 return if_match(oid, {1, 2, 840, 113549, 3, 7},
"TripleDES/CBC");
81 return if_match(oid, {1, 0, 14888, 3, 0, 5},
"ECKCDSA");
83 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 1},
"SphincsPlus-shake-128s-r3.1");
85 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 2},
"SphincsPlus-shake-128f-r3.1");
87 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 3},
"SphincsPlus-shake-192s-r3.1");
89 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 4},
"SphincsPlus-shake-192f-r3.1");
91 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 5},
"SphincsPlus-shake-256s-r3.1");
93 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 6},
"SphincsPlus-shake-256f-r3.1");
95 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 1},
"SphincsPlus-sha2-128s-r3.1");
97 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 2},
"SphincsPlus-sha2-128f-r3.1");
99 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 3},
"SphincsPlus-sha2-192s-r3.1");
101 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 4},
"SphincsPlus-sha2-192f-r3.1");
103 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 5},
"SphincsPlus-sha2-256s-r3.1");
105 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 6},
"SphincsPlus-sha2-256f-r3.1");
107 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 1},
"SphincsPlus-haraka-128s-r3.1");
109 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 2},
"SphincsPlus-haraka-128f-r3.1");
111 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 3},
"SphincsPlus-haraka-192s-r3.1");
113 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 4},
"SphincsPlus-haraka-192f-r3.1");
115 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 5},
"SphincsPlus-haraka-256s-r3.1");
117 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 6},
"SphincsPlus-haraka-256f-r3.1");
119 return if_match(oid, {1, 2, 156, 10197, 1, 104, 2},
"SM4/CBC");
121 return if_match(oid, {1, 2, 156, 10197, 1, 104, 8},
"SM4/GCM");
123 return if_match(oid, {1, 2, 156, 10197, 1, 104, 100},
"SM4/OCB");
125 return if_match(oid, {1, 3, 14, 3, 2, 7},
"DES/CBC");
127 return if_match(oid, {1, 3, 14, 3, 2, 26},
"SHA-1");
129 return if_match(oid, {1, 3, 132, 0, 8},
"secp160r1");
131 return if_match(oid, {1, 3, 132, 0, 9},
"secp160k1");
133 return if_match(oid, {1, 3, 132, 0, 10},
"secp256k1");
135 return if_match(oid, {1, 3, 132, 0, 30},
"secp160r2");
137 return if_match(oid, {1, 3, 132, 0, 31},
"secp192k1");
139 return if_match(oid, {1, 3, 132, 0, 32},
"secp224k1");
141 return if_match(oid, {1, 3, 132, 0, 33},
"secp224r1");
143 return if_match(oid, {1, 3, 132, 0, 34},
"secp384r1");
145 return if_match(oid, {1, 3, 132, 0, 35},
"secp521r1");
147 return if_match(oid, {1, 3, 132, 1, 12},
"ECDH");
149 return if_match(oid, {1, 2, 156, 10197, 1, 301, 1},
"SM2");
151 return if_match(oid, {1, 2, 156, 10197, 1, 301, 2},
"SM2_Kex");
153 return if_match(oid, {1, 2, 156, 10197, 1, 301, 3},
"SM2_Enc");
155 return if_match(oid, {1, 3, 36, 3, 3, 1, 2},
"RSA/PKCS1v15(RIPEMD-160)");
157 return if_match(oid, {1, 2, 840, 113533, 7, 66, 10},
"CAST-128/CBC");
159 return if_match(oid, {1, 2, 840, 113533, 7, 66, 15},
"KeyWrap.CAST-128");
161 return if_match(oid, {1, 3, 101, 110},
"X25519");
163 return if_match(oid, {1, 3, 101, 111},
"X448");
165 return if_match(oid, {1, 3, 101, 112},
"Ed25519");
167 return if_match(oid, {1, 3, 101, 113},
"Ed448");
169 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 48, 1, 1},
"PKIX.OCSP.BasicResponse");
171 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 48, 1, 5},
"PKIX.OCSP.NoCheck");
173 return if_match(oid, {1, 2, 410, 200004, 1, 100, 4, 3},
"ECKCDSA/SHA-1");
175 return if_match(oid, {1, 2, 410, 200004, 1, 100, 4, 4},
"ECKCDSA/SHA-224");
177 return if_match(oid, {1, 2, 410, 200004, 1, 100, 4, 5},
"ECKCDSA/SHA-256");
179 return if_match(oid, {2, 5, 29, 32, 0},
"X509v3.AnyPolicy");
181 return if_match(oid, {2, 5, 29, 37, 0},
"X509v3.AnyExtendedKeyUsage");
183 return if_match(oid, {1, 2, 840, 10045, 2, 1},
"ECDSA");
185 return if_match(oid, {1, 2, 840, 10045, 4, 1},
"ECDSA/SHA-1");
187 return if_match(oid, {1, 2, 840, 10046, 2, 1},
"DH");
189 return if_match(oid, {1, 2, 643, 7, 1, 2, 1, 1, 1},
"gost_256A");
191 return if_match(oid, {1, 2, 643, 7, 1, 2, 1, 1, 2},
"gost_256B");
193 return if_match(oid, {1, 2, 643, 7, 1, 2, 1, 2, 1},
"gost_512A");
195 return if_match(oid, {1, 2, 643, 7, 1, 2, 1, 2, 2},
"gost_512B");
197 return if_match(oid, {1, 2, 643, 2, 2, 3},
"GOST-34.10/GOST-R-34.11-94");
199 return if_match(oid, {1, 2, 643, 2, 2, 19},
"GOST-34.10");
201 return if_match(oid, {0, 3, 4401, 5, 3, 1, 9, 6},
"Camellia-128/GCM");
203 return if_match(oid, {0, 3, 4401, 5, 3, 1, 9, 26},
"Camellia-192/GCM");
205 return if_match(oid, {0, 3, 4401, 5, 3, 1, 9, 46},
"Camellia-256/GCM");
207 return if_match(oid, {1, 3, 36, 3, 2, 1},
"RIPEMD-160");
209 return if_match(oid, {0, 4, 0, 127, 0, 15, 1, 1, 13, 0},
"XMSS");
211 return if_match(oid, {1, 2, 410, 200004, 1, 4},
"SEED/CBC");
213 return if_match(oid, {1, 2, 156, 10197, 1, 301},
"sm2p256v1");
215 return if_match(oid, {1, 2, 156, 10197, 1, 401},
"SM3");
217 return if_match(oid, {1, 2, 156, 10197, 1, 501},
"SM2_Sig/SM3");
219 return if_match(oid, {1, 2, 156, 10197, 1, 504},
"RSA/PKCS1v15(SM3)");
221 return if_match(oid, {1, 2, 643, 3, 131, 1, 1},
"GOST.INN");
223 return if_match(oid, {1, 2, 250, 1, 223, 101, 256, 1},
"frp256v1");
225 return if_match(oid, {1, 2, 840, 113549, 1, 12, 10, 1, 1},
"PKCS12.KeyBag");
227 return if_match(oid, {1, 2, 840, 113549, 1, 12, 10, 1, 2},
"PKCS12.PKCS8ShroudedKeyBag");
229 return if_match(oid, {1, 2, 840, 113549, 1, 12, 10, 1, 3},
"PKCS12.CertBag");
231 return if_match(oid, {1, 2, 840, 113549, 1, 12, 10, 1, 4},
"PKCS12.CRLBag");
233 return if_match(oid, {1, 2, 840, 113549, 1, 12, 10, 1, 5},
"PKCS12.SecretBag");
235 return if_match(oid, {1, 2, 840, 113549, 1, 12, 10, 1, 6},
"PKCS12.SafeContentsBag");
237 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 6, 1},
"GOST-34.10-2012-256/SHA-256");
239 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 7, 1},
"Kyber-512-r3");
241 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 7, 2},
"Kyber-768-r3");
243 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 7, 3},
"Kyber-1024-r3");
245 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 9, 1},
"Dilithium-4x4-r3");
247 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 9, 2},
"Dilithium-6x5-r3");
249 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 9, 3},
"Dilithium-8x7-r3");
251 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 10, 1},
"Dilithium-4x4-AES-r3");
253 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 10, 2},
"Dilithium-6x5-AES-r3");
255 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 10, 3},
"Dilithium-8x7-AES-r3");
257 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 11, 1},
"Kyber-512-90s-r3");
259 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 11, 2},
"Kyber-768-90s-r3");
261 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 11, 3},
"Kyber-1024-90s-r3");
263 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 14, 1},
"FrodoKEM-640-SHAKE");
265 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 14, 2},
"FrodoKEM-976-SHAKE");
267 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 14, 3},
"FrodoKEM-1344-SHAKE");
269 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 15, 1},
"FrodoKEM-640-AES");
271 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 15, 2},
"FrodoKEM-976-AES");
273 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 15, 3},
"FrodoKEM-1344-AES");
275 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 16, 1},
"eFrodoKEM-640-SHAKE");
277 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 16, 2},
"eFrodoKEM-976-SHAKE");
279 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 16, 3},
"eFrodoKEM-1344-SHAKE");
281 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 17, 1},
"eFrodoKEM-640-AES");
283 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 17, 2},
"eFrodoKEM-976-AES");
285 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 17, 3},
"eFrodoKEM-1344-AES");
287 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 1},
"ClassicMcEliece_6688128pc");
289 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 2},
"ClassicMcEliece_6688128pcf");
291 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 3},
"ClassicMcEliece_6960119pc");
293 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 4},
"ClassicMcEliece_6960119pcf");
295 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 5},
"ClassicMcEliece_8192128pc");
297 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 6},
"ClassicMcEliece_8192128pcf");
299 return if_match(oid, {2, 16, 840, 1, 113730, 1, 13},
"Certificate Comment");
301 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 2, 1},
"ECGDSA");
303 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 1},
"ECGDSA/RIPEMD-160");
305 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 2},
"ECGDSA/SHA-1");
307 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 3},
"ECGDSA/SHA-224");
309 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 4},
"ECGDSA/SHA-256");
311 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 5},
"ECGDSA/SHA-384");
313 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 6},
"ECGDSA/SHA-512");
315 return if_match(oid, {1, 2, 643, 7, 1, 1, 1, 1},
"GOST-34.10-2012-256");
317 return if_match(oid, {1, 2, 643, 7, 1, 1, 1, 2},
"GOST-34.10-2012-512");
319 return if_match(oid, {1, 2, 643, 7, 1, 1, 2, 2},
"Streebog-256");
321 return if_match(oid, {1, 2, 643, 7, 1, 1, 2, 3},
"Streebog-512");
323 return if_match(oid, {1, 2, 643, 7, 1, 1, 3, 2},
"GOST-34.10-2012-256/Streebog-256");
325 return if_match(oid, {1, 2, 643, 7, 1, 1, 3, 3},
"GOST-34.10-2012-512/Streebog-512");
327 return if_match(oid, {1, 2, 840, 113549, 1, 9, 22, 1},
"PKCS9.X509Certificate");
329 return if_match(oid, {1, 2, 840, 113549, 1, 9, 22, 2},
"PKCS9.SDSICertificate");
331 return if_match(oid, {1, 2, 840, 113549, 1, 9, 23, 1},
"PKCS9.X509CRL");
333 return if_match(oid, {2, 5, 4, 3},
"X520.CommonName");
335 return if_match(oid, {2, 5, 4, 4},
"X520.Surname");
337 return if_match(oid, {2, 5, 4, 5},
"X520.SerialNumber");
339 return if_match(oid, {2, 5, 4, 6},
"X520.Country");
341 return if_match(oid, {2, 5, 4, 7},
"X520.Locality");
343 return if_match(oid, {2, 5, 4, 8},
"X520.State");
345 return if_match(oid, {2, 5, 4, 9},
"X520.StreetAddress");
347 return if_match(oid, {2, 5, 4, 10},
"X520.Organization");
349 return if_match(oid, {2, 5, 4, 11},
"X520.OrganizationalUnit");
351 return if_match(oid, {2, 5, 4, 12},
"X520.Title");
353 return if_match(oid, {2, 5, 4, 42},
"X520.GivenName");
355 return if_match(oid, {2, 5, 4, 43},
"X520.Initials");
357 return if_match(oid, {2, 5, 4, 44},
"X520.GenerationalQualifier");
359 return if_match(oid, {2, 5, 4, 46},
"X520.DNQualifier");
361 return if_match(oid, {2, 5, 4, 65},
"X520.Pseudonym");
363 return if_match(oid, {2, 5, 29, 14},
"X509v3.SubjectKeyIdentifier");
365 return if_match(oid, {2, 5, 29, 15},
"X509v3.KeyUsage");
367 return if_match(oid, {2, 5, 29, 16},
"X509v3.PrivateKeyUsagePeriod");
369 return if_match(oid, {2, 5, 29, 17},
"X509v3.SubjectAlternativeName");
371 return if_match(oid, {2, 5, 29, 18},
"X509v3.IssuerAlternativeName");
373 return if_match(oid, {2, 5, 29, 19},
"X509v3.BasicConstraints");
375 return if_match(oid, {2, 5, 29, 20},
"X509v3.CRLNumber");
377 return if_match(oid, {2, 5, 29, 21},
"X509v3.ReasonCode");
379 return if_match(oid, {2, 5, 29, 23},
"X509v3.HoldInstructionCode");
381 return if_match(oid, {2, 5, 29, 24},
"X509v3.InvalidityDate");
383 return if_match(oid, {2, 5, 29, 28},
"X509v3.CRLIssuingDistributionPoint");
385 return if_match(oid, {2, 5, 29, 30},
"X509v3.NameConstraints");
387 return if_match(oid, {2, 5, 29, 31},
"X509v3.CRLDistributionPoints");
389 return if_match(oid, {2, 5, 29, 32},
"X509v3.CertificatePolicies");
391 return if_match(oid, {2, 5, 29, 35},
"X509v3.AuthorityKeyIdentifier");
393 return if_match(oid, {2, 5, 29, 36},
"X509v3.PolicyConstraints");
395 return if_match(oid, {2, 5, 29, 37},
"X509v3.ExtendedKeyUsage");
397 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 1},
"AES-128/OCB");
399 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 2},
"AES-192/OCB");
401 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 3},
"AES-256/OCB");
403 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 4},
"Serpent/OCB");
405 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 5},
"Twofish/OCB");
407 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 6},
"Camellia-128/OCB");
409 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 7},
"Camellia-192/OCB");
411 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 8},
"Camellia-256/OCB");
413 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 1},
"AES-128/SIV");
415 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 2},
"AES-192/SIV");
417 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 3},
"AES-256/SIV");
419 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 4},
"Serpent/SIV");
421 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 5},
"Twofish/SIV");
423 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 6},
"Camellia-128/SIV");
425 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 7},
"Camellia-192/SIV");
427 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 8},
"Camellia-256/SIV");
429 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 9},
"SM4/SIV");
431 return if_match(oid, {1, 2, 392, 200011, 61, 1, 1, 1, 2},
"Camellia-128/CBC");
433 return if_match(oid, {1, 2, 392, 200011, 61, 1, 1, 1, 3},
"Camellia-192/CBC");
435 return if_match(oid, {1, 2, 392, 200011, 61, 1, 1, 1, 4},
"Camellia-256/CBC");
437 return if_match(oid, {1, 2, 840, 113549, 1, 9, 16, 3, 6},
"KeyWrap.TripleDES");
439 return if_match(oid, {1, 2, 840, 113549, 1, 9, 16, 3, 8},
"Compression.Zlib");
441 return if_match(oid, {1, 2, 840, 113549, 1, 9, 16, 3, 17},
"HSS-LMS");
443 return if_match(oid, {1, 2, 840, 113549, 1, 9, 16, 3, 18},
"ChaCha20Poly1305");
445 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 2},
"AES-128/CBC");
447 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 5},
"KeyWrap.AES-128");
449 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 6},
"AES-128/GCM");
451 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 7},
"AES-128/CCM");
453 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 22},
"AES-192/CBC");
455 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 25},
"KeyWrap.AES-192");
457 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 26},
"AES-192/GCM");
459 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 27},
"AES-192/CCM");
461 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 42},
"AES-256/CBC");
463 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 45},
"KeyWrap.AES-256");
465 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 46},
"AES-256/GCM");
467 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 47},
"AES-256/CCM");
469 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 1},
"SHA-256");
471 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 2},
"SHA-384");
473 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 3},
"SHA-512");
475 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 4},
"SHA-224");
477 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 6},
"SHA-512-256");
479 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 7},
"SHA-3(224)");
481 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 8},
"SHA-3(256)");
483 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 9},
"SHA-3(384)");
485 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 10},
"SHA-3(512)");
487 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 11},
"SHAKE-128");
489 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 12},
"SHAKE-256");
491 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 1},
"DSA/SHA-224");
493 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 2},
"DSA/SHA-256");
495 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 3},
"DSA/SHA-384");
497 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 4},
"DSA/SHA-512");
499 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 5},
"DSA/SHA-3(224)");
501 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 6},
"DSA/SHA-3(256)");
503 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 7},
"DSA/SHA-3(384)");
505 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 8},
"DSA/SHA-3(512)");
507 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 9},
"ECDSA/SHA-3(224)");
509 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 10},
"ECDSA/SHA-3(256)");
511 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 11},
"ECDSA/SHA-3(384)");
513 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 12},
"ECDSA/SHA-3(512)");
515 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 13},
"RSA/PKCS1v15(SHA-3(224))");
517 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 14},
"RSA/PKCS1v15(SHA-3(256))");
519 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 15},
"RSA/PKCS1v15(SHA-3(384))");
521 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 16},
"RSA/PKCS1v15(SHA-3(512))");
523 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 17},
"ML-DSA-4x4");
525 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 18},
"ML-DSA-6x5");
527 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 19},
"ML-DSA-8x7");
529 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 20},
"SLH-DSA-SHA2-128s");
531 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 21},
"SLH-DSA-SHA2-128f");
533 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 22},
"SLH-DSA-SHA2-192s");
535 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 23},
"SLH-DSA-SHA2-192f");
537 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 24},
"SLH-DSA-SHA2-256s");
539 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 25},
"SLH-DSA-SHA2-256f");
541 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 26},
"SLH-DSA-SHAKE-128s");
543 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 27},
"SLH-DSA-SHAKE-128f");
545 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 28},
"SLH-DSA-SHAKE-192s");
547 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 29},
"SLH-DSA-SHAKE-192f");
549 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 30},
"SLH-DSA-SHAKE-256s");
551 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 31},
"SLH-DSA-SHAKE-256f");
553 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 4, 1},
"ML-KEM-512");
555 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 4, 2},
"ML-KEM-768");
557 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 4, 3},
"ML-KEM-1024");
559 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 1, 1},
"PKIX.AuthorityInformationAccess");
561 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 1, 7},
"PKIX.IpAddrBlocks");
563 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 1, 8},
"PKIX.AutonomousSysIds");
565 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 1, 26},
"PKIX.TNAuthList");
567 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 1},
"PKIX.ServerAuth");
569 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 2},
"PKIX.ClientAuth");
571 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 3},
"PKIX.CodeSigning");
573 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 4},
"PKIX.EmailProtection");
575 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 5},
"PKIX.IPsecEndSystem");
577 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 6},
"PKIX.IPsecTunnel");
579 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 7},
"PKIX.IPsecUser");
581 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 8},
"PKIX.TimeStamping");
583 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 9},
"PKIX.OCSPSigning");
585 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 8, 5},
"PKIX.XMPPAddr");
587 return if_match(oid, {1, 3, 6, 1, 4, 1, 311, 20, 2, 2},
"Microsoft SmartcardLogon");
589 return if_match(oid, {1, 3, 6, 1, 4, 1, 311, 20, 2, 3},
"Microsoft UPN");
591 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 48, 1},
"PKIX.OCSP");
593 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 48, 2},
"PKIX.CertificateAuthorityIssuers");
595 return if_match(oid, {1, 2, 840, 113549, 1, 12, 1, 3},
"PBE-SHA1-3DES");
597 return if_match(oid, {1, 2, 840, 113549, 1, 12, 1, 4},
"PBE-SHA1-2DES");
599 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 1},
"brainpool160r1");
601 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 3},
"brainpool192r1");
603 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 5},
"brainpool224r1");
605 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 7},
"brainpool256r1");
607 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 9},
"brainpool320r1");
609 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 11},
"brainpool384r1");
611 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 13},
"brainpool512r1");
613 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 3},
"McEliece");
615 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 5},
"XMSS-draft6");
617 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 8},
"XMSS-draft12");
619 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 13},
"HSS-LMS-Private-Key");
621 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 1},
"Serpent/CBC");
623 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2},
"Threefish-512/CBC");
625 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 3},
"Twofish/CBC");
627 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 101},
"Serpent/GCM");
629 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 102},
"Twofish/GCM");
631 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 4, 1},
"numsp256d1");
633 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 4, 2},
"numsp384d1");
635 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 4, 3},
"numsp512d1");
637 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 1},
"ClassicMcEliece_348864");
639 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 2},
"ClassicMcEliece_348864f");
641 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 3},
"ClassicMcEliece_460896");
643 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 4},
"ClassicMcEliece_460896f");
645 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 5},
"ClassicMcEliece_6688128");
647 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 6},
"ClassicMcEliece_6688128f");
649 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 7},
"ClassicMcEliece_6960119");
651 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 8},
"ClassicMcEliece_6960119f");
653 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 9},
"ClassicMcEliece_8192128");
655 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 10},
"ClassicMcEliece_8192128f");
657 return if_match(oid, {1, 2, 840, 113549, 1, 1, 1},
"RSA");
659 return if_match(oid, {1, 2, 840, 113549, 1, 1, 2},
"RSA/PKCS1v15(MD2)");
661 return if_match(oid, {1, 2, 840, 113549, 1, 1, 4},
"RSA/PKCS1v15(MD5)");
663 return if_match(oid, {1, 2, 840, 113549, 1, 1, 5},
"RSA/PKCS1v15(SHA-1)");
665 return if_match(oid, {1, 2, 840, 113549, 1, 1, 7},
"RSA/OAEP");
667 return if_match(oid, {1, 2, 840, 113549, 1, 1, 8},
"MGF1");
669 return if_match(oid, {1, 2, 840, 113549, 1, 1, 10},
"RSA/PSS");
671 return if_match(oid, {1, 2, 840, 113549, 1, 1, 11},
"RSA/PKCS1v15(SHA-256)");
673 return if_match(oid, {1, 2, 840, 113549, 1, 1, 12},
"RSA/PKCS1v15(SHA-384)");
675 return if_match(oid, {1, 2, 840, 113549, 1, 1, 13},
"RSA/PKCS1v15(SHA-512)");
677 return if_match(oid, {1, 2, 840, 113549, 1, 1, 14},
"RSA/PKCS1v15(SHA-224)");
679 return if_match(oid, {1, 2, 840, 113549, 1, 1, 16},
"RSA/PKCS1v15(SHA-512-256)");
681 return if_match(oid, {1, 2, 840, 113549, 1, 5, 12},
"PKCS5.PBKDF2");
683 return if_match(oid, {1, 2, 840, 113549, 1, 5, 13},
"PBE-PKCS5v20");
685 return if_match(oid, {1, 2, 840, 113549, 1, 7, 1},
"PKCS7.Data");
687 return if_match(oid, {1, 2, 840, 113549, 1, 7, 6},
"PKCS7.EncryptedData");
689 return if_match(oid, {1, 2, 840, 113549, 1, 9, 1},
"PKCS9.EmailAddress");
691 return if_match(oid, {1, 2, 840, 113549, 1, 9, 2},
"PKCS9.UnstructuredName");
693 return if_match(oid, {1, 2, 840, 113549, 1, 9, 3},
"PKCS9.ContentType");
695 return if_match(oid, {1, 2, 840, 113549, 1, 9, 4},
"PKCS9.MessageDigest");
697 return if_match(oid, {1, 2, 840, 113549, 1, 9, 7},
"PKCS9.ChallengePassword");
699 return if_match(oid, {1, 2, 840, 113549, 1, 9, 14},
"PKCS9.ExtensionRequest");
701 return if_match(oid, {1, 2, 840, 113549, 1, 9, 20},
"PKCS9.FriendlyName");
703 return if_match(oid, {1, 2, 840, 113549, 1, 9, 21},
"PKCS9.LocalKeyId");
705 return if_match(oid, {1, 3, 6, 1, 4, 1, 11591, 4, 11},
"Scrypt");
707 return if_match(oid, {1, 3, 6, 1, 4, 1, 11591, 15, 1},
"OpenPGP.Ed25519");
709 return if_match(oid, {1, 2, 643, 100, 1},
"GOST.OGRN");
711 return if_match(oid, {1, 2, 643, 100, 111},
"GOST.SubjectSigningTool");
713 return if_match(oid, {1, 2, 643, 100, 112},
"GOST.IssuerSigningTool");
715 return if_match(oid, {1, 2, 840, 10045, 3, 1, 1},
"secp192r1");
717 return if_match(oid, {1, 2, 840, 10045, 3, 1, 2},
"x962_p192v2");
719 return if_match(oid, {1, 2, 840, 10045, 3, 1, 3},
"x962_p192v3");
721 return if_match(oid, {1, 2, 840, 10045, 3, 1, 4},
"x962_p239v1");
723 return if_match(oid, {1, 2, 840, 10045, 3, 1, 5},
"x962_p239v2");
725 return if_match(oid, {1, 2, 840, 10045, 3, 1, 6},
"x962_p239v3");
727 return if_match(oid, {1, 2, 840, 10045, 3, 1, 7},
"secp256r1");
729 return if_match(oid, {1, 2, 840, 10040, 4, 1},
"DSA");
731 return if_match(oid, {1, 2, 840, 10040, 4, 3},
"DSA/SHA-1");
738std::optional<OID> OID_Map::lookup_static_oid_name(std::string_view req) {
739 const uint32_t hc = hash_oid_name(req);
743 return if_match(req,
"Twofish/GCM", {1, 3, 6, 1, 4, 1, 25258, 3, 102});
745 return if_match(req,
"SphincsPlus-sha2-192f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 4});
747 return if_match(req,
"FrodoKEM-640-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 14, 1});
749 return if_match(req,
"MD5", {1, 2, 840, 113549, 2, 5});
751 return if_match(req,
"SphincsPlus-shake-192f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 4});
753 return if_match(req,
"Microsoft SmartcardLogon", {1, 3, 6, 1, 4, 1, 311, 20, 2, 2});
755 return if_match(req,
"secp160k1", {1, 3, 132, 0, 9});
757 return if_match(req,
"Camellia-256/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 8});
759 return if_match(req,
"secp160r1", {1, 3, 132, 0, 8});
761 return if_match(req,
"secp160r2", {1, 3, 132, 0, 30});
763 return if_match(req,
"X520.Country", {2, 5, 4, 6});
765 return if_match(req,
"PKIX.ServerAuth", {1, 3, 6, 1, 5, 5, 7, 3, 1});
767 return if_match(req,
"numsp384d1", {1, 3, 6, 1, 4, 1, 25258, 4, 2});
769 return if_match(req,
"RSA/PKCS1v15(SHA-1)", {1, 2, 840, 113549, 1, 1, 5});
771 return if_match(req,
"DES/CBC", {1, 3, 14, 3, 2, 7});
773 return if_match(req,
"ECDSA/SHA-3(512)", {2, 16, 840, 1, 101, 3, 4, 3, 12});
775 return if_match(req,
"SphincsPlus-sha2-128s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 1});
777 return if_match(req,
"ECGDSA", {1, 3, 36, 3, 3, 2, 5, 2, 1});
779 return if_match(req,
"PKCS9.FriendlyName", {1, 2, 840, 113549, 1, 9, 20});
781 return if_match(req,
"SphincsPlus-shake-128s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 1});
783 return if_match(req,
"ClassicMcEliece_8192128f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 10});
785 return if_match(req,
"numsp512d1", {1, 3, 6, 1, 4, 1, 25258, 4, 3});
787 return if_match(req,
"PKCS9.UnstructuredName", {1, 2, 840, 113549, 1, 9, 2});
789 return if_match(req,
"Camellia-256/GCM", {0, 3, 4401, 5, 3, 1, 9, 46});
791 return if_match(req,
"DSA/SHA-3(384)", {2, 16, 840, 1, 101, 3, 4, 3, 7});
793 return if_match(req,
"secp192k1", {1, 3, 132, 0, 31});
795 return if_match(req,
"X520.DNQualifier", {2, 5, 4, 46});
797 return if_match(req,
"secp192r1", {1, 2, 840, 10045, 3, 1, 1});
799 return if_match(req,
"SM2_Kex", {1, 2, 156, 10197, 1, 301, 2});
801 return if_match(req,
"X520.GenerationalQualifier", {2, 5, 4, 44});
803 return if_match(req,
"PKCS5.PBKDF2", {1, 2, 840, 113549, 1, 5, 12});
805 return if_match(req,
"eFrodoKEM-1344-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 17, 3});
807 return if_match(req,
"ClassicMcEliece_460896", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 3});
809 return if_match(req,
"XMSS-draft12", {1, 3, 6, 1, 4, 1, 25258, 1, 8});
811 return if_match(req,
"Compression.Zlib", {1, 2, 840, 113549, 1, 9, 16, 3, 8});
813 return if_match(req,
"Streebog-512", {1, 2, 643, 7, 1, 1, 2, 3});
815 return if_match(req,
"X509v3.AnyExtendedKeyUsage", {2, 5, 29, 37, 0});
817 return if_match(req,
"Kyber-1024-90s-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 11, 3});
819 return if_match(req,
"X520.GivenName", {2, 5, 4, 42});
821 return if_match(req,
"RSA/PKCS1v15(SM3)", {1, 2, 156, 10197, 1, 504});
823 return if_match(req,
"SLH-DSA-SHA2-256f", {2, 16, 840, 1, 101, 3, 4, 3, 25});
825 return if_match(req,
"SLH-DSA-SHA2-256s", {2, 16, 840, 1, 101, 3, 4, 3, 24});
827 return if_match(req,
"FrodoKEM-976-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 15, 2});
829 return if_match(req,
"eFrodoKEM-1344-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 16, 3});
831 return if_match(req,
"X509v3.InvalidityDate", {2, 5, 29, 24});
833 return if_match(req,
"DSA/SHA-1", {1, 2, 840, 10040, 4, 3});
835 return if_match(req,
"KeyWrap.AES-128", {2, 16, 840, 1, 101, 3, 4, 1, 5});
837 return if_match(req,
"KeyWrap.AES-192", {2, 16, 840, 1, 101, 3, 4, 1, 25});
839 return if_match(req,
"SphincsPlus-haraka-192f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 4});
841 return if_match(req,
"KeyWrap.CAST-128", {1, 2, 840, 113533, 7, 66, 15});
843 return if_match(req,
"ML-KEM-512", {2, 16, 840, 1, 101, 3, 4, 4, 1});
845 return if_match(req,
"GOST-34.10-2012-512", {1, 2, 643, 7, 1, 1, 1, 2});
847 return if_match(req,
"ElGamal", {1, 3, 6, 1, 4, 1, 3029, 1, 2, 1});
849 return if_match(req,
"X520.Initials", {2, 5, 4, 43});
851 return if_match(req,
"PKIX.AutonomousSysIds", {1, 3, 6, 1, 5, 5, 7, 1, 8});
853 return if_match(req,
"PKCS7.Data", {1, 2, 840, 113549, 1, 7, 1});
855 return if_match(req,
"SphincsPlus-haraka-128s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 1});
857 return if_match(req,
"DSA/SHA-3(256)", {2, 16, 840, 1, 101, 3, 4, 3, 6});
859 return if_match(req,
"SHA-224", {2, 16, 840, 1, 101, 3, 4, 2, 4});
861 return if_match(req,
"SHA-256", {2, 16, 840, 1, 101, 3, 4, 2, 1});
863 return if_match(req,
"KeyWrap.AES-256", {2, 16, 840, 1, 101, 3, 4, 1, 45});
865 return if_match(req,
"SM2_Sig/SM3", {1, 2, 156, 10197, 1, 501});
867 return if_match(req,
"ECGDSA/RIPEMD-160", {1, 3, 36, 3, 3, 2, 5, 4, 1});
869 return if_match(req,
"ECDSA/SHA-3(224)", {2, 16, 840, 1, 101, 3, 4, 3, 9});
871 return if_match(req,
"RSA/PKCS1v15(RIPEMD-160)", {1, 3, 36, 3, 3, 1, 2});
873 return if_match(req,
"Kyber-512-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 7, 1});
875 return if_match(req,
"PKCS7.EncryptedData", {1, 2, 840, 113549, 1, 7, 6});
877 return if_match(req,
"PBE-SHA1-2DES", {1, 2, 840, 113549, 1, 12, 1, 4});
879 return if_match(req,
"SLH-DSA-SHA2-128f", {2, 16, 840, 1, 101, 3, 4, 3, 21});
881 return if_match(req,
"SLH-DSA-SHA2-128s", {2, 16, 840, 1, 101, 3, 4, 3, 20});
883 return if_match(req,
"RSA/PKCS1v15(SHA-3(224))", {2, 16, 840, 1, 101, 3, 4, 3, 13});
885 return if_match(req,
"GOST-34.10-2012-256/Streebog-256", {1, 2, 643, 7, 1, 1, 3, 2});
887 return if_match(req,
"HMAC(SHA-512)", {1, 2, 840, 113549, 2, 11});
889 return if_match(req,
"secp384r1", {1, 3, 132, 0, 34});
891 return if_match(req,
"TripleDES/CBC", {1, 2, 840, 113549, 3, 7});
893 return if_match(req,
"PKCS12.SecretBag", {1, 2, 840, 113549, 1, 12, 10, 1, 5});
895 return if_match(req,
"FrodoKEM-976-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 14, 2});
897 return if_match(req,
"Ed25519", {1, 3, 101, 112});
899 return if_match(req,
"SHAKE-128", {2, 16, 840, 1, 101, 3, 4, 2, 11});
901 return if_match(req,
"ClassicMcEliece_348864", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 1});
903 return if_match(req,
"ML-DSA-4x4", {2, 16, 840, 1, 101, 3, 4, 3, 17});
905 return if_match(req,
"ClassicMcEliece_8192128", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 9});
907 return if_match(req,
"Ed448", {1, 3, 101, 113});
909 return if_match(req,
"SHA-384", {2, 16, 840, 1, 101, 3, 4, 2, 2});
911 return if_match(req,
"DH", {1, 2, 840, 10046, 2, 1});
913 return if_match(req,
"MGF1", {1, 2, 840, 113549, 1, 1, 8});
915 return if_match(req,
"X509v3.IssuerAlternativeName", {2, 5, 29, 18});
917 return if_match(req,
"KeyWrap.TripleDES", {1, 2, 840, 113549, 1, 9, 16, 3, 6});
919 return if_match(req,
"X509v3.PrivateKeyUsagePeriod", {2, 5, 29, 16});
921 return if_match(req,
"SLH-DSA-SHAKE-192f", {2, 16, 840, 1, 101, 3, 4, 3, 29});
923 return if_match(req,
"SLH-DSA-SHAKE-192s", {2, 16, 840, 1, 101, 3, 4, 3, 28});
925 return if_match(req,
"DSA", {1, 2, 840, 10040, 4, 1});
927 return if_match(req,
"HSS-LMS", {1, 2, 840, 113549, 1, 9, 16, 3, 17});
929 return if_match(req,
"RSA/PKCS1v15(SHA-3(256))", {2, 16, 840, 1, 101, 3, 4, 3, 14});
931 return if_match(req,
"GOST.OGRN", {1, 2, 643, 100, 1});
933 return if_match(req,
"X509v3.BasicConstraints", {2, 5, 29, 19});
935 return if_match(req,
"SHA-3(512)", {2, 16, 840, 1, 101, 3, 4, 2, 10});
937 return if_match(req,
"ML-KEM-768", {2, 16, 840, 1, 101, 3, 4, 4, 2});
939 return if_match(req,
"ECDSA/SHA-3(384)", {2, 16, 840, 1, 101, 3, 4, 3, 11});
941 return if_match(req,
"X509v3.CRLDistributionPoints", {2, 5, 29, 31});
943 return if_match(req,
"brainpool160r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 1});
945 return if_match(req,
"gost_256A", {1, 2, 643, 7, 1, 2, 1, 1, 1});
947 return if_match(req,
"gost_256B", {1, 2, 643, 7, 1, 2, 1, 1, 2});
949 return if_match(req,
"GOST-34.10-2012-512/Streebog-512", {1, 2, 643, 7, 1, 1, 3, 3});
951 return if_match(req,
"ClassicMcEliece_6960119pc", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 3});
953 return if_match(req,
"Kyber-512-90s-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 11, 1});
955 return if_match(req,
"RSA/PKCS1v15(SHA-512-256)", {1, 2, 840, 113549, 1, 1, 16});
957 return if_match(req,
"X509v3.ReasonCode", {2, 5, 29, 21});
959 return if_match(req,
"SHAKE-256", {2, 16, 840, 1, 101, 3, 4, 2, 12});
961 return if_match(req,
"X509v3.PolicyConstraints", {2, 5, 29, 36});
963 return if_match(req,
"Serpent/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 4});
965 return if_match(req,
"Dilithium-4x4-AES-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 10, 1});
967 return if_match(req,
"ChaCha20Poly1305", {1, 2, 840, 113549, 1, 9, 16, 3, 18});
969 return if_match(req,
"frp256v1", {1, 2, 250, 1, 223, 101, 256, 1});
971 return if_match(req,
"ClassicMcEliece_6960119f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 8});
973 return if_match(req,
"PKIX.TNAuthList", {1, 3, 6, 1, 5, 5, 7, 1, 26});
975 return if_match(req,
"eFrodoKEM-976-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 17, 2});
977 return if_match(req,
"DSA/SHA-224", {2, 16, 840, 1, 101, 3, 4, 3, 1});
979 return if_match(req,
"DSA/SHA-256", {2, 16, 840, 1, 101, 3, 4, 3, 2});
981 return if_match(req,
"X509v3.AnyPolicy", {2, 5, 29, 32, 0});
983 return if_match(req,
"RSA/PKCS1v15(SHA-512)", {1, 2, 840, 113549, 1, 1, 13});
985 return if_match(req,
"CAST-128/CBC", {1, 2, 840, 113533, 7, 66, 10});
987 return if_match(req,
"RSA", {1, 2, 840, 113549, 1, 1, 1});
989 return if_match(req,
"ECDSA/SHA-224", {1, 2, 840, 10045, 4, 3, 1});
991 return if_match(req,
"GOST-34.10/GOST-R-34.11-94", {1, 2, 643, 2, 2, 3});
993 return if_match(req,
"ECDSA/SHA-256", {1, 2, 840, 10045, 4, 3, 2});
995 return if_match(req,
"brainpool192r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 3});
997 return if_match(req,
"PKCS9.ContentType", {1, 2, 840, 113549, 1, 9, 3});
999 return if_match(req,
"FrodoKEM-640-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 15, 1});
1001 return if_match(req,
"x962_p192v2", {1, 2, 840, 10045, 3, 1, 2});
1003 return if_match(req,
"x962_p192v3", {1, 2, 840, 10045, 3, 1, 3});
1005 return if_match(req,
"AES-128/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 1});
1007 return if_match(req,
"HMAC(SHA-224)", {1, 2, 840, 113549, 2, 8});
1009 return if_match(req,
"FrodoKEM-1344-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 14, 3});
1011 return if_match(req,
"PKIX.TimeStamping", {1, 3, 6, 1, 5, 5, 7, 3, 8});
1013 return if_match(req,
"Serpent/CBC", {1, 3, 6, 1, 4, 1, 25258, 3, 1});
1015 return if_match(req,
"SphincsPlus-sha2-128f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 2});
1017 return if_match(req,
"AES-192/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 2});
1019 return if_match(req,
"ML-DSA-6x5", {2, 16, 840, 1, 101, 3, 4, 3, 18});
1021 return if_match(req,
"brainpool320r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 9});
1023 return if_match(req,
"SphincsPlus-shake-128f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 2});
1025 return if_match(req,
"XMSS-draft6", {1, 3, 6, 1, 4, 1, 25258, 1, 5});
1027 return if_match(req,
"ECGDSA/SHA-224", {1, 3, 36, 3, 3, 2, 5, 4, 3});
1029 return if_match(req,
"ECGDSA/SHA-256", {1, 3, 36, 3, 3, 2, 5, 4, 4});
1031 return if_match(req,
"SHA-512", {2, 16, 840, 1, 101, 3, 4, 2, 3});
1033 return if_match(req,
"PKIX.OCSP.NoCheck", {1, 3, 6, 1, 5, 5, 7, 48, 1, 5});
1035 return if_match(req,
"X509v3.SubjectKeyIdentifier", {2, 5, 29, 14});
1037 return if_match(req,
"PKCS12.KeyBag", {1, 2, 840, 113549, 1, 12, 10, 1, 1});
1039 return if_match(req,
"X520.CommonName", {2, 5, 4, 3});
1041 return if_match(req,
"ECDSA/SHA-3(256)", {2, 16, 840, 1, 101, 3, 4, 3, 10});
1043 return if_match(req,
"SphincsPlus-sha2-256s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 5});
1045 return if_match(req,
"X520.Surname", {2, 5, 4, 4});
1047 return if_match(req,
"ClassicMcEliece_8192128pc", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 5});
1049 return if_match(req,
"X509v3.KeyUsage", {2, 5, 29, 15});
1051 return if_match(req,
"numsp256d1", {1, 3, 6, 1, 4, 1, 25258, 4, 1});
1053 return if_match(req,
"SphincsPlus-shake-256s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 5});
1055 return if_match(req,
"DSA/SHA-384", {2, 16, 840, 1, 101, 3, 4, 3, 3});
1057 return if_match(req,
"PKCS9.X509Certificate", {1, 2, 840, 113549, 1, 9, 22, 1});
1059 return if_match(req,
"X520.SerialNumber", {2, 5, 4, 5});
1061 return if_match(req,
"SM4/OCB", {1, 2, 156, 10197, 1, 104, 100});
1063 return if_match(req,
"AES-128/CBC", {2, 16, 840, 1, 101, 3, 4, 1, 2});
1065 return if_match(req,
"AES-128/CCM", {2, 16, 840, 1, 101, 3, 4, 1, 7});
1067 return if_match(req,
"HMAC(SHA-512-256)", {1, 2, 840, 113549, 2, 13});
1069 return if_match(req,
"SM2", {1, 2, 156, 10197, 1, 301, 1});
1071 return if_match(req,
"SM3", {1, 2, 156, 10197, 1, 401});
1073 return if_match(req,
"ECDSA/SHA-384", {1, 2, 840, 10045, 4, 3, 3});
1075 return if_match(req,
"SHA-3(224)", {2, 16, 840, 1, 101, 3, 4, 2, 7});
1077 return if_match(req,
"AES-192/CBC", {2, 16, 840, 1, 101, 3, 4, 1, 22});
1079 return if_match(req,
"AES-192/CCM", {2, 16, 840, 1, 101, 3, 4, 1, 27});
1081 return if_match(req,
"OpenPGP.Ed25519", {1, 3, 6, 1, 4, 1, 11591, 15, 1});
1083 return if_match(req,
"sm2p256v1", {1, 2, 156, 10197, 1, 301});
1085 return if_match(req,
"FrodoKEM-1344-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 15, 3});
1087 return if_match(req,
"X520.State", {2, 5, 4, 8});
1089 return if_match(req,
"HMAC(SHA-384)", {1, 2, 840, 113549, 2, 10});
1091 return if_match(req,
"ECGDSA/SHA-384", {1, 3, 36, 3, 3, 2, 5, 4, 5});
1093 return if_match(req,
"Camellia-128/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 6});
1095 return if_match(req,
"PKCS9.ExtensionRequest", {1, 2, 840, 113549, 1, 9, 14});
1097 return if_match(req,
"X509v3.SubjectAlternativeName", {2, 5, 29, 17});
1099 return if_match(req,
"SM4/CBC", {1, 2, 156, 10197, 1, 104, 2});
1101 return if_match(req,
"Dilithium-4x4-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 9, 1});
1103 return if_match(req,
"PKIX.IpAddrBlocks", {1, 3, 6, 1, 5, 5, 7, 1, 7});
1105 return if_match(req,
"ECDSA", {1, 2, 840, 10045, 2, 1});
1107 return if_match(req,
"GOST.INN", {1, 2, 643, 3, 131, 1, 1});
1109 return if_match(req,
"Camellia-192/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 7});
1111 return if_match(req,
"Dilithium-8x7-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 9, 3});
1113 return if_match(req,
"RSA/PKCS1v15(SHA-224)", {1, 2, 840, 113549, 1, 1, 14});
1115 return if_match(req,
"PKCS12.SafeContentsBag", {1, 2, 840, 113549, 1, 12, 10, 1, 6});
1117 return if_match(req,
"PKIX.AuthorityInformationAccess", {1, 3, 6, 1, 5, 5, 7, 1, 1});
1119 return if_match(req,
"brainpool384r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 11});
1121 return if_match(req,
"PKCS12.PKCS8ShroudedKeyBag", {1, 2, 840, 113549, 1, 12, 10, 1, 2});
1123 return if_match(req,
"SphincsPlus-haraka-128f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 2});
1125 return if_match(req,
"ML-KEM-1024", {2, 16, 840, 1, 101, 3, 4, 4, 3});
1127 return if_match(req,
"AES-256/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 3});
1129 return if_match(req,
"Camellia-128/CBC", {1, 2, 392, 200011, 61, 1, 1, 1, 2});
1131 return if_match(req,
"ML-DSA-8x7", {2, 16, 840, 1, 101, 3, 4, 3, 19});
1133 return if_match(req,
"PKIX.XMPPAddr", {1, 3, 6, 1, 5, 5, 7, 8, 5});
1135 return if_match(req,
"RSA/PKCS1v15(MD2)", {1, 2, 840, 113549, 1, 1, 2});
1137 return if_match(req,
"RSA/PKCS1v15(MD5)", {1, 2, 840, 113549, 1, 1, 4});
1139 return if_match(req,
"ClassicMcEliece_348864f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 2});
1141 return if_match(req,
"SHA-3(384)", {2, 16, 840, 1, 101, 3, 4, 2, 9});
1143 return if_match(req,
"PKCS9.LocalKeyId", {1, 2, 840, 113549, 1, 9, 21});
1145 return if_match(req,
"brainpool512r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 13});
1147 return if_match(req,
"SphincsPlus-haraka-256s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 5});
1149 return if_match(req,
"secp224k1", {1, 3, 132, 0, 32});
1151 return if_match(req,
"secp224r1", {1, 3, 132, 0, 33});
1153 return if_match(req,
"Camellia-192/CBC", {1, 2, 392, 200011, 61, 1, 1, 1, 3});
1155 return if_match(req,
"ClassicMcEliece_6688128pc", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 1});
1157 return if_match(req,
"DSA/SHA-512", {2, 16, 840, 1, 101, 3, 4, 3, 4});
1159 return if_match(req,
"X509v3.ExtendedKeyUsage", {2, 5, 29, 37});
1161 return if_match(req,
"SM2_Enc", {1, 2, 156, 10197, 1, 301, 3});
1163 return if_match(req,
"Twofish/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 5});
1165 return if_match(req,
"SphincsPlus-sha2-192s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 3});
1167 return if_match(req,
"SLH-DSA-SHAKE-256f", {2, 16, 840, 1, 101, 3, 4, 3, 31});
1169 return if_match(req,
"SLH-DSA-SHAKE-256s", {2, 16, 840, 1, 101, 3, 4, 3, 30});
1171 return if_match(req,
"PKIX.EmailProtection", {1, 3, 6, 1, 5, 5, 7, 3, 4});
1173 return if_match(req,
"SHA-512-256", {2, 16, 840, 1, 101, 3, 4, 2, 6});
1175 return if_match(req,
"SphincsPlus-shake-192s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 3});
1177 return if_match(req,
"GOST-34.10", {1, 2, 643, 2, 2, 19});
1179 return if_match(req,
"ECDSA/SHA-512", {1, 2, 840, 10045, 4, 3, 4});
1181 return if_match(req,
"ClassicMcEliece_6688128f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 6});
1183 return if_match(req,
"eFrodoKEM-640-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 16, 1});
1185 return if_match(req,
"PKIX.IPsecTunnel", {1, 3, 6, 1, 5, 5, 7, 3, 6});
1187 return if_match(req,
"X520.Organization", {2, 5, 4, 10});
1189 return if_match(req,
"AES-256/CBC", {2, 16, 840, 1, 101, 3, 4, 1, 42});
1191 return if_match(req,
"AES-256/CCM", {2, 16, 840, 1, 101, 3, 4, 1, 47});
1193 return if_match(req,
"HMAC(SHA-256)", {1, 2, 840, 113549, 2, 9});
1195 return if_match(req,
"PKCS9.X509CRL", {1, 2, 840, 113549, 1, 9, 23, 1});
1197 return if_match(req,
"Threefish-512/CBC", {1, 3, 6, 1, 4, 1, 25258, 3, 2});
1199 return if_match(req,
"RSA/PKCS1v15(SHA-384)", {1, 2, 840, 113549, 1, 1, 12});
1201 return if_match(req,
"eFrodoKEM-640-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 17, 1});
1203 return if_match(req,
"ClassicMcEliece_6960119pcf", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 4});
1205 return if_match(req,
"secp256k1", {1, 3, 132, 0, 10});
1207 return if_match(req,
"secp256r1", {1, 2, 840, 10045, 3, 1, 7});
1209 return if_match(req,
"PKIX.IPsecUser", {1, 3, 6, 1, 5, 5, 7, 3, 7});
1211 return if_match(req,
"Serpent/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 4});
1213 return if_match(req,
"ECGDSA/SHA-512", {1, 3, 36, 3, 3, 2, 5, 4, 6});
1215 return if_match(req,
"Twofish/CBC", {1, 3, 6, 1, 4, 1, 25258, 3, 3});
1217 return if_match(req,
"PKCS9.EmailAddress", {1, 2, 840, 113549, 1, 9, 1});
1219 return if_match(req,
"PKIX.CertificateAuthorityIssuers", {1, 3, 6, 1, 5, 5, 7, 48, 2});
1221 return if_match(req,
"X509v3.AuthorityKeyIdentifier", {2, 5, 29, 35});
1223 return if_match(req,
"ECDSA/SHA-1", {1, 2, 840, 10045, 4, 1});
1225 return if_match(req,
"PBE-PKCS5v20", {1, 2, 840, 113549, 1, 5, 13});
1227 return if_match(req,
"PKCS9.MessageDigest", {1, 2, 840, 113549, 1, 9, 4});
1229 return if_match(req,
"Camellia-256/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 8});
1231 return if_match(req,
"ClassicMcEliece_6688128", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 5});
1233 return if_match(req,
"PKCS9.ChallengePassword", {1, 2, 840, 113549, 1, 9, 7});
1235 return if_match(req,
"ECKCDSA", {1, 0, 14888, 3, 0, 5});
1237 return if_match(req,
"X509v3.CertificatePolicies", {2, 5, 29, 32});
1239 return if_match(req,
"HSS-LMS-Private-Key", {1, 3, 6, 1, 4, 1, 25258, 1, 13});
1241 return if_match(req,
"Kyber-768-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 7, 2});
1243 return if_match(req,
"Dilithium-6x5-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 9, 2});
1245 return if_match(req,
"AES-128/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 1});
1247 return if_match(req,
"SHA-3(256)", {2, 16, 840, 1, 101, 3, 4, 2, 8});
1249 return if_match(req,
"Serpent/GCM", {1, 3, 6, 1, 4, 1, 25258, 3, 101});
1251 return if_match(req,
"X25519", {1, 3, 101, 110});
1253 return if_match(req,
"McEliece", {1, 3, 6, 1, 4, 1, 25258, 1, 3});
1255 return if_match(req,
"Dilithium-6x5-AES-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 10, 2});
1257 return if_match(req,
"AES-192/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 2});
1259 return if_match(req,
"SLH-DSA-SHAKE-128f", {2, 16, 840, 1, 101, 3, 4, 3, 27});
1261 return if_match(req,
"SLH-DSA-SHAKE-128s", {2, 16, 840, 1, 101, 3, 4, 3, 26});
1263 return if_match(req,
"PKIX.OCSP", {1, 3, 6, 1, 5, 5, 7, 48, 1});
1265 return if_match(req,
"PKIX.IPsecEndSystem", {1, 3, 6, 1, 5, 5, 7, 3, 5});
1267 return if_match(req,
"Camellia-256/CBC", {1, 2, 392, 200011, 61, 1, 1, 1, 4});
1269 return if_match(req,
"HMAC(SHA-1)", {1, 2, 840, 113549, 2, 7});
1271 return if_match(req,
"SEED/CBC", {1, 2, 410, 200004, 1, 4});
1273 return if_match(req,
"SphincsPlus-haraka-192s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 3});
1275 return if_match(req,
"GOST.SubjectSigningTool", {1, 2, 643, 100, 111});
1277 return if_match(req,
"XMSS", {0, 4, 0, 127, 0, 15, 1, 1, 13, 0});
1279 return if_match(req,
"ECKCDSA/SHA-1", {1, 2, 410, 200004, 1, 100, 4, 3});
1281 return if_match(req,
"SM4/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 9});
1283 return if_match(req,
"AES-128/GCM", {2, 16, 840, 1, 101, 3, 4, 1, 6});
1285 return if_match(req,
"X520.OrganizationalUnit", {2, 5, 4, 11});
1287 return if_match(req,
"OpenPGP.Curve25519", {1, 3, 6, 1, 4, 1, 3029, 1, 5, 1});
1289 return if_match(req,
"SLH-DSA-SHA2-192f", {2, 16, 840, 1, 101, 3, 4, 3, 23});
1291 return if_match(req,
"SLH-DSA-SHA2-192s", {2, 16, 840, 1, 101, 3, 4, 3, 22});
1293 return if_match(req,
"Scrypt", {1, 3, 6, 1, 4, 1, 11591, 4, 11});
1295 return if_match(req,
"GOST-34.10-2012-256/SHA-256", {1, 3, 6, 1, 4, 1, 25258, 1, 6, 1});
1297 return if_match(req,
"ClassicMcEliece_460896f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 4});
1299 return if_match(req,
"RIPEMD-160", {1, 3, 36, 3, 2, 1});
1301 return if_match(req,
"RSA/PKCS1v15(SHA-256)", {1, 2, 840, 113549, 1, 1, 11});
1303 return if_match(req,
"DSA/SHA-3(512)", {2, 16, 840, 1, 101, 3, 4, 3, 8});
1305 return if_match(req,
"ClassicMcEliece_6960119", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 7});
1307 return if_match(req,
"X448", {1, 3, 101, 111});
1309 return if_match(req,
"AES-192/GCM", {2, 16, 840, 1, 101, 3, 4, 1, 26});
1311 return if_match(req,
"ClassicMcEliece_6688128pcf", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 2});
1313 return if_match(req,
"PKCS9.SDSICertificate", {1, 2, 840, 113549, 1, 9, 22, 2});
1315 return if_match(req,
"X509v3.CRLNumber", {2, 5, 29, 20});
1317 return if_match(req,
"X520.Title", {2, 5, 4, 12});
1319 return if_match(req,
"X509v3.NameConstraints", {2, 5, 29, 30});
1321 return if_match(req,
"X520.Pseudonym", {2, 5, 4, 65});
1323 return if_match(req,
"SphincsPlus-sha2-256f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 6});
1325 return if_match(req,
"secp521r1", {1, 3, 132, 0, 35});
1327 return if_match(req,
"SphincsPlus-shake-256f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 6});
1329 return if_match(req,
"Camellia-128/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 6});
1331 return if_match(req,
"SM4/GCM", {1, 2, 156, 10197, 1, 104, 8});
1333 return if_match(req,
"PKCS12.CertBag", {1, 2, 840, 113549, 1, 12, 10, 1, 3});
1335 return if_match(req,
"Kyber-768-90s-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 11, 2});
1337 return if_match(req,
"Camellia-192/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 7});
1339 return if_match(req,
"Dilithium-8x7-AES-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 10, 3});
1341 return if_match(req,
"GOST.IssuerSigningTool", {1, 2, 643, 100, 112});
1343 return if_match(req,
"RSA/OAEP", {1, 2, 840, 113549, 1, 1, 7});
1345 return if_match(req,
"Streebog-256", {1, 2, 643, 7, 1, 1, 2, 2});
1347 return if_match(req,
"Certificate Comment", {2, 16, 840, 1, 113730, 1, 13});
1349 return if_match(req,
"PBE-SHA1-3DES", {1, 2, 840, 113549, 1, 12, 1, 3});
1351 return if_match(req,
"PKIX.ClientAuth", {1, 3, 6, 1, 5, 5, 7, 3, 2});
1353 return if_match(req,
"ClassicMcEliece_8192128pcf", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 6});
1355 return if_match(req,
"ECDH", {1, 3, 132, 1, 12});
1357 return if_match(req,
"RSA/PKCS1v15(SHA-3(384))", {2, 16, 840, 1, 101, 3, 4, 3, 15});
1359 return if_match(req,
"AES-256/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 3});
1361 return if_match(req,
"Camellia-128/GCM", {0, 3, 4401, 5, 3, 1, 9, 6});
1363 return if_match(req,
"X520.Locality", {2, 5, 4, 7});
1365 return if_match(req,
"ECKCDSA/SHA-224", {1, 2, 410, 200004, 1, 100, 4, 4});
1367 return if_match(req,
"ECKCDSA/SHA-256", {1, 2, 410, 200004, 1, 100, 4, 5});
1369 return if_match(req,
"eFrodoKEM-976-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 16, 2});
1371 return if_match(req,
"ECGDSA/SHA-1", {1, 3, 36, 3, 3, 2, 5, 4, 2});
1373 return if_match(req,
"RSA/PKCS1v15(SHA-3(512))", {2, 16, 840, 1, 101, 3, 4, 3, 16});
1375 return if_match(req,
"Camellia-192/GCM", {0, 3, 4401, 5, 3, 1, 9, 26});
1377 return if_match(req,
"brainpool224r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 5});
1379 return if_match(req,
"X509v3.CRLIssuingDistributionPoint", {2, 5, 29, 28});
1381 return if_match(req,
"Microsoft UPN", {1, 3, 6, 1, 4, 1, 311, 20, 2, 3});
1383 return if_match(req,
"RSA/PSS", {1, 2, 840, 113549, 1, 1, 10});
1385 return if_match(req,
"PKIX.CodeSigning", {1, 3, 6, 1, 5, 5, 7, 3, 3});
1387 return if_match(req,
"GOST-34.10-2012-256", {1, 2, 643, 7, 1, 1, 1, 1});
1389 return if_match(req,
"Twofish/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 5});
1391 return if_match(req,
"gost_512A", {1, 2, 643, 7, 1, 2, 1, 2, 1});
1393 return if_match(req,
"gost_512B", {1, 2, 643, 7, 1, 2, 1, 2, 2});
1395 return if_match(req,
"X520.StreetAddress", {2, 5, 4, 9});
1397 return if_match(req,
"PKCS12.CRLBag", {1, 2, 840, 113549, 1, 12, 10, 1, 4});
1399 return if_match(req,
"x962_p239v1", {1, 2, 840, 10045, 3, 1, 4});
1401 return if_match(req,
"x962_p239v2", {1, 2, 840, 10045, 3, 1, 5});
1403 return if_match(req,
"x962_p239v3", {1, 2, 840, 10045, 3, 1, 6});
1405 return if_match(req,
"X509v3.HoldInstructionCode", {2, 5, 29, 23});
1407 return if_match(req,
"AES-256/GCM", {2, 16, 840, 1, 101, 3, 4, 1, 46});
1409 return if_match(req,
"PKIX.OCSP.BasicResponse", {1, 3, 6, 1, 5, 5, 7, 48, 1, 1});
1411 return if_match(req,
"Kyber-1024-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 7, 3});
1413 return if_match(req,
"DSA/SHA-3(224)", {2, 16, 840, 1, 101, 3, 4, 3, 5});
1415 return if_match(req,
"SphincsPlus-haraka-256f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 6});
1417 return if_match(req,
"SHA-1", {1, 3, 14, 3, 2, 26});
1419 return if_match(req,
"PKIX.OCSPSigning", {1, 3, 6, 1, 5, 5, 7, 3, 9});
1421 return if_match(req,
"brainpool256r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 7});
1427std::unordered_map<OID, std::string> OID_Map::load_oid2str_map() {
1429 {OID{2, 5, 8, 1, 1},
"RSA"},
1430 {OID{1, 3, 6, 1, 4, 1, 8301, 3, 1, 2, 9, 0, 38},
"secp521r1"},
1431 {OID{1, 2, 643, 2, 2, 35, 1},
"gost_256A"},
1432 {OID{1, 2, 643, 2, 2, 36, 0},
"gost_256A"},
1436std::unordered_map<std::string, OID> OID_Map::load_str2oid_map() {
1438 {
"Curve25519", OID{1, 3, 101, 110}},
1439 {
"SM2_Sig", OID{1, 2, 156, 10197, 1, 301, 1}},
1440 {
"RSA/EMSA3(MD2)", OID{1, 2, 840, 113549, 1, 1, 2}},
1441 {
"RSA/EMSA3(MD5)", OID{1, 2, 840, 113549, 1, 1, 4}},
1442 {
"RSA/EMSA3(SHA-1)", OID{1, 2, 840, 113549, 1, 1, 5}},
1443 {
"RSA/EMSA3(SHA-256)", OID{1, 2, 840, 113549, 1, 1, 11}},
1444 {
"RSA/EMSA3(SHA-384)", OID{1, 2, 840, 113549, 1, 1, 12}},
1445 {
"RSA/EMSA3(SHA-512)", OID{1, 2, 840, 113549, 1, 1, 13}},
1446 {
"RSA/EMSA3(SHA-224)", OID{1, 2, 840, 113549, 1, 1, 14}},
1447 {
"RSA/EMSA3(SHA-512-256)", OID{1, 2, 840, 113549, 1, 1, 16}},
1448 {
"RSA/EMSA3(SHA-3(224))", OID{2, 16, 840, 1, 101, 3, 4, 3, 13}},
1449 {
"RSA/EMSA3(SHA-3(256))", OID{2, 16, 840, 1, 101, 3, 4, 3, 14}},
1450 {
"RSA/EMSA3(SHA-3(384))", OID{2, 16, 840, 1, 101, 3, 4, 3, 15}},
1451 {
"RSA/EMSA3(SHA-3(512))", OID{2, 16, 840, 1, 101, 3, 4, 3, 16}},
1452 {
"RSA/EMSA3(SM3)", OID{1, 2, 156, 10197, 1, 504}},
1453 {
"RSA/EMSA3(RIPEMD-160)", OID{1, 3, 36, 3, 3, 1, 2}},
1454 {
"RSA/EMSA4", OID{1, 2, 840, 113549, 1, 1, 10}},
1455 {
"PBES2", OID{1, 2, 840, 113549, 1, 5, 13}},