9#include <botan/internal/oid_map.h>
11#include <initializer_list>
12#include <unordered_map>
19std::optional<std::string_view> if_match(
const OID& oid, std::initializer_list<uint32_t> val, std::string_view name) {
20 if(oid.matches(val)) {
27std::optional<OID> if_match(std::string_view req, std::string_view actual, std::initializer_list<uint32_t> oid) {
35uint32_t hash_oid_name(std::string_view s) {
36 uint64_t hash = 0x8188B31879A4879A;
43 return static_cast<uint32_t
>(hash % 805289);
49std::optional<std::string_view> OID_Map::lookup_static_oid(
const OID& oid) {
50 const uint32_t hc =
static_cast<uint32_t
>(oid.hash_code() % 858701);
54 return if_match(oid, {1, 2, 840, 10045, 4, 3, 1},
"ECDSA/SHA-224");
56 return if_match(oid, {1, 2, 840, 10045, 4, 3, 2},
"ECDSA/SHA-256");
58 return if_match(oid, {1, 2, 840, 10045, 4, 3, 3},
"ECDSA/SHA-384");
60 return if_match(oid, {1, 2, 840, 10045, 4, 3, 4},
"ECDSA/SHA-512");
62 return if_match(oid, {1, 3, 6, 1, 4, 1, 3029, 1, 2, 1},
"ElGamal");
64 return if_match(oid, {1, 3, 6, 1, 4, 1, 3029, 1, 5, 1},
"OpenPGP.Curve25519");
66 return if_match(oid, {1, 2, 840, 113549, 2, 5},
"MD5");
68 return if_match(oid, {1, 2, 840, 113549, 2, 7},
"HMAC(SHA-1)");
70 return if_match(oid, {1, 2, 840, 113549, 2, 8},
"HMAC(SHA-224)");
72 return if_match(oid, {1, 2, 840, 113549, 2, 9},
"HMAC(SHA-256)");
74 return if_match(oid, {1, 2, 840, 113549, 2, 10},
"HMAC(SHA-384)");
76 return if_match(oid, {1, 2, 840, 113549, 2, 11},
"HMAC(SHA-512)");
78 return if_match(oid, {1, 2, 840, 113549, 2, 13},
"HMAC(SHA-512-256)");
80 return if_match(oid, {1, 2, 840, 113549, 3, 7},
"TripleDES/CBC");
82 return if_match(oid, {1, 0, 14888, 3, 0, 5},
"ECKCDSA");
84 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 1},
"SphincsPlus-shake-128s-r3.1");
86 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 2},
"SphincsPlus-shake-128f-r3.1");
88 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 3},
"SphincsPlus-shake-192s-r3.1");
90 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 4},
"SphincsPlus-shake-192f-r3.1");
92 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 5},
"SphincsPlus-shake-256s-r3.1");
94 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 6},
"SphincsPlus-shake-256f-r3.1");
96 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 1},
"SphincsPlus-sha2-128s-r3.1");
98 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 2},
"SphincsPlus-sha2-128f-r3.1");
100 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 3},
"SphincsPlus-sha2-192s-r3.1");
102 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 4},
"SphincsPlus-sha2-192f-r3.1");
104 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 5},
"SphincsPlus-sha2-256s-r3.1");
106 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 6},
"SphincsPlus-sha2-256f-r3.1");
108 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 1},
"SphincsPlus-haraka-128s-r3.1");
110 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 2},
"SphincsPlus-haraka-128f-r3.1");
112 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 3},
"SphincsPlus-haraka-192s-r3.1");
114 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 4},
"SphincsPlus-haraka-192f-r3.1");
116 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 5},
"SphincsPlus-haraka-256s-r3.1");
118 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 6},
"SphincsPlus-haraka-256f-r3.1");
120 return if_match(oid, {1, 2, 156, 10197, 1, 104, 2},
"SM4/CBC");
122 return if_match(oid, {1, 2, 156, 10197, 1, 104, 8},
"SM4/GCM");
124 return if_match(oid, {1, 2, 156, 10197, 1, 104, 100},
"SM4/OCB");
126 return if_match(oid, {1, 3, 14, 3, 2, 7},
"DES/CBC");
128 return if_match(oid, {1, 3, 14, 3, 2, 26},
"SHA-1");
130 return if_match(oid, {1, 3, 132, 0, 8},
"secp160r1");
132 return if_match(oid, {1, 3, 132, 0, 9},
"secp160k1");
134 return if_match(oid, {1, 3, 132, 0, 10},
"secp256k1");
136 return if_match(oid, {1, 3, 132, 0, 30},
"secp160r2");
138 return if_match(oid, {1, 3, 132, 0, 31},
"secp192k1");
140 return if_match(oid, {1, 3, 132, 0, 32},
"secp224k1");
142 return if_match(oid, {1, 3, 132, 0, 33},
"secp224r1");
144 return if_match(oid, {1, 3, 132, 0, 34},
"secp384r1");
146 return if_match(oid, {1, 3, 132, 0, 35},
"secp521r1");
148 return if_match(oid, {1, 3, 132, 1, 12},
"ECDH");
150 return if_match(oid, {1, 2, 156, 10197, 1, 301, 1},
"SM2");
152 return if_match(oid, {1, 2, 156, 10197, 1, 301, 2},
"SM2_Kex");
154 return if_match(oid, {1, 2, 156, 10197, 1, 301, 3},
"SM2_Enc");
156 return if_match(oid, {1, 3, 36, 3, 3, 1, 2},
"RSA/PKCS1v15(RIPEMD-160)");
158 return if_match(oid, {1, 2, 840, 113533, 7, 66, 10},
"CAST-128/CBC");
160 return if_match(oid, {1, 2, 840, 113533, 7, 66, 15},
"KeyWrap.CAST-128");
162 return if_match(oid, {1, 3, 101, 110},
"X25519");
164 return if_match(oid, {1, 3, 101, 111},
"X448");
166 return if_match(oid, {1, 3, 101, 112},
"Ed25519");
168 return if_match(oid, {1, 3, 101, 113},
"Ed448");
170 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 48, 1, 1},
"PKIX.OCSP.BasicResponse");
172 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 48, 1, 5},
"PKIX.OCSP.NoCheck");
174 return if_match(oid, {1, 2, 410, 200004, 1, 100, 4, 3},
"ECKCDSA/SHA-1");
176 return if_match(oid, {1, 2, 410, 200004, 1, 100, 4, 4},
"ECKCDSA/SHA-224");
178 return if_match(oid, {1, 2, 410, 200004, 1, 100, 4, 5},
"ECKCDSA/SHA-256");
180 return if_match(oid, {2, 5, 29, 32, 0},
"X509v3.AnyPolicy");
182 return if_match(oid, {1, 2, 840, 10045, 2, 1},
"ECDSA");
184 return if_match(oid, {1, 2, 840, 10045, 4, 1},
"ECDSA/SHA-1");
186 return if_match(oid, {1, 2, 840, 10046, 2, 1},
"DH");
188 return if_match(oid, {1, 2, 643, 7, 1, 2, 1, 1, 1},
"gost_256A");
190 return if_match(oid, {1, 2, 643, 7, 1, 2, 1, 1, 2},
"gost_256B");
192 return if_match(oid, {1, 2, 643, 7, 1, 2, 1, 2, 1},
"gost_512A");
194 return if_match(oid, {1, 2, 643, 7, 1, 2, 1, 2, 2},
"gost_512B");
196 return if_match(oid, {1, 2, 643, 2, 2, 3},
"GOST-34.10/GOST-R-34.11-94");
198 return if_match(oid, {1, 2, 643, 2, 2, 19},
"GOST-34.10");
200 return if_match(oid, {0, 3, 4401, 5, 3, 1, 9, 6},
"Camellia-128/GCM");
202 return if_match(oid, {0, 3, 4401, 5, 3, 1, 9, 26},
"Camellia-192/GCM");
204 return if_match(oid, {0, 3, 4401, 5, 3, 1, 9, 46},
"Camellia-256/GCM");
206 return if_match(oid, {1, 3, 36, 3, 2, 1},
"RIPEMD-160");
208 return if_match(oid, {0, 4, 0, 127, 0, 15, 1, 1, 13, 0},
"XMSS");
210 return if_match(oid, {1, 2, 410, 200004, 1, 4},
"SEED/CBC");
212 return if_match(oid, {1, 2, 156, 10197, 1, 301},
"sm2p256v1");
214 return if_match(oid, {1, 2, 156, 10197, 1, 401},
"SM3");
216 return if_match(oid, {1, 2, 156, 10197, 1, 501},
"SM2_Sig/SM3");
218 return if_match(oid, {1, 2, 156, 10197, 1, 504},
"RSA/PKCS1v15(SM3)");
220 return if_match(oid, {1, 2, 643, 3, 131, 1, 1},
"GOST.INN");
222 return if_match(oid, {1, 2, 250, 1, 223, 101, 256, 1},
"frp256v1");
224 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 6, 1},
"GOST-34.10-2012-256/SHA-256");
226 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 7, 1},
"Kyber-512-r3");
228 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 7, 2},
"Kyber-768-r3");
230 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 7, 3},
"Kyber-1024-r3");
232 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 9, 1},
"Dilithium-4x4-r3");
234 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 9, 2},
"Dilithium-6x5-r3");
236 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 9, 3},
"Dilithium-8x7-r3");
238 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 10, 1},
"Dilithium-4x4-AES-r3");
240 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 10, 2},
"Dilithium-6x5-AES-r3");
242 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 10, 3},
"Dilithium-8x7-AES-r3");
244 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 11, 1},
"Kyber-512-90s-r3");
246 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 11, 2},
"Kyber-768-90s-r3");
248 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 11, 3},
"Kyber-1024-90s-r3");
250 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 14, 1},
"FrodoKEM-640-SHAKE");
252 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 14, 2},
"FrodoKEM-976-SHAKE");
254 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 14, 3},
"FrodoKEM-1344-SHAKE");
256 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 15, 1},
"FrodoKEM-640-AES");
258 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 15, 2},
"FrodoKEM-976-AES");
260 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 15, 3},
"FrodoKEM-1344-AES");
262 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 16, 1},
"eFrodoKEM-640-SHAKE");
264 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 16, 2},
"eFrodoKEM-976-SHAKE");
266 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 16, 3},
"eFrodoKEM-1344-SHAKE");
268 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 17, 1},
"eFrodoKEM-640-AES");
270 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 17, 2},
"eFrodoKEM-976-AES");
272 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 17, 3},
"eFrodoKEM-1344-AES");
274 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 1},
"ClassicMcEliece_6688128pc");
276 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 2},
"ClassicMcEliece_6688128pcf");
278 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 3},
"ClassicMcEliece_6960119pc");
280 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 4},
"ClassicMcEliece_6960119pcf");
282 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 5},
"ClassicMcEliece_8192128pc");
284 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 6},
"ClassicMcEliece_8192128pcf");
286 return if_match(oid, {2, 16, 840, 1, 113730, 1, 13},
"Certificate Comment");
288 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 2, 1},
"ECGDSA");
290 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 1},
"ECGDSA/RIPEMD-160");
292 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 2},
"ECGDSA/SHA-1");
294 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 3},
"ECGDSA/SHA-224");
296 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 4},
"ECGDSA/SHA-256");
298 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 5},
"ECGDSA/SHA-384");
300 return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 6},
"ECGDSA/SHA-512");
302 return if_match(oid, {1, 2, 643, 7, 1, 1, 1, 1},
"GOST-34.10-2012-256");
304 return if_match(oid, {1, 2, 643, 7, 1, 1, 1, 2},
"GOST-34.10-2012-512");
306 return if_match(oid, {1, 2, 643, 7, 1, 1, 2, 2},
"Streebog-256");
308 return if_match(oid, {1, 2, 643, 7, 1, 1, 2, 3},
"Streebog-512");
310 return if_match(oid, {1, 2, 643, 7, 1, 1, 3, 2},
"GOST-34.10-2012-256/Streebog-256");
312 return if_match(oid, {1, 2, 643, 7, 1, 1, 3, 3},
"GOST-34.10-2012-512/Streebog-512");
314 return if_match(oid, {2, 5, 4, 3},
"X520.CommonName");
316 return if_match(oid, {2, 5, 4, 4},
"X520.Surname");
318 return if_match(oid, {2, 5, 4, 5},
"X520.SerialNumber");
320 return if_match(oid, {2, 5, 4, 6},
"X520.Country");
322 return if_match(oid, {2, 5, 4, 7},
"X520.Locality");
324 return if_match(oid, {2, 5, 4, 8},
"X520.State");
326 return if_match(oid, {2, 5, 4, 9},
"X520.StreetAddress");
328 return if_match(oid, {2, 5, 4, 10},
"X520.Organization");
330 return if_match(oid, {2, 5, 4, 11},
"X520.OrganizationalUnit");
332 return if_match(oid, {2, 5, 4, 12},
"X520.Title");
334 return if_match(oid, {2, 5, 4, 42},
"X520.GivenName");
336 return if_match(oid, {2, 5, 4, 43},
"X520.Initials");
338 return if_match(oid, {2, 5, 4, 44},
"X520.GenerationalQualifier");
340 return if_match(oid, {2, 5, 4, 46},
"X520.DNQualifier");
342 return if_match(oid, {2, 5, 4, 65},
"X520.Pseudonym");
344 return if_match(oid, {2, 5, 29, 14},
"X509v3.SubjectKeyIdentifier");
346 return if_match(oid, {2, 5, 29, 15},
"X509v3.KeyUsage");
348 return if_match(oid, {2, 5, 29, 16},
"X509v3.PrivateKeyUsagePeriod");
350 return if_match(oid, {2, 5, 29, 17},
"X509v3.SubjectAlternativeName");
352 return if_match(oid, {2, 5, 29, 18},
"X509v3.IssuerAlternativeName");
354 return if_match(oid, {2, 5, 29, 19},
"X509v3.BasicConstraints");
356 return if_match(oid, {2, 5, 29, 20},
"X509v3.CRLNumber");
358 return if_match(oid, {2, 5, 29, 21},
"X509v3.ReasonCode");
360 return if_match(oid, {2, 5, 29, 23},
"X509v3.HoldInstructionCode");
362 return if_match(oid, {2, 5, 29, 24},
"X509v3.InvalidityDate");
364 return if_match(oid, {2, 5, 29, 28},
"X509v3.CRLIssuingDistributionPoint");
366 return if_match(oid, {2, 5, 29, 30},
"X509v3.NameConstraints");
368 return if_match(oid, {2, 5, 29, 31},
"X509v3.CRLDistributionPoints");
370 return if_match(oid, {2, 5, 29, 32},
"X509v3.CertificatePolicies");
372 return if_match(oid, {2, 5, 29, 35},
"X509v3.AuthorityKeyIdentifier");
374 return if_match(oid, {2, 5, 29, 36},
"X509v3.PolicyConstraints");
376 return if_match(oid, {2, 5, 29, 37},
"X509v3.ExtendedKeyUsage");
378 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 1},
"AES-128/OCB");
380 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 2},
"AES-192/OCB");
382 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 3},
"AES-256/OCB");
384 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 4},
"Serpent/OCB");
386 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 5},
"Twofish/OCB");
388 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 6},
"Camellia-128/OCB");
390 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 7},
"Camellia-192/OCB");
392 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 8},
"Camellia-256/OCB");
394 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 1},
"AES-128/SIV");
396 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 2},
"AES-192/SIV");
398 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 3},
"AES-256/SIV");
400 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 4},
"Serpent/SIV");
402 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 5},
"Twofish/SIV");
404 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 6},
"Camellia-128/SIV");
406 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 7},
"Camellia-192/SIV");
408 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 8},
"Camellia-256/SIV");
410 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 9},
"SM4/SIV");
412 return if_match(oid, {1, 2, 392, 200011, 61, 1, 1, 1, 2},
"Camellia-128/CBC");
414 return if_match(oid, {1, 2, 392, 200011, 61, 1, 1, 1, 3},
"Camellia-192/CBC");
416 return if_match(oid, {1, 2, 392, 200011, 61, 1, 1, 1, 4},
"Camellia-256/CBC");
418 return if_match(oid, {1, 2, 840, 113549, 1, 9, 16, 3, 6},
"KeyWrap.TripleDES");
420 return if_match(oid, {1, 2, 840, 113549, 1, 9, 16, 3, 8},
"Compression.Zlib");
422 return if_match(oid, {1, 2, 840, 113549, 1, 9, 16, 3, 17},
"HSS-LMS");
424 return if_match(oid, {1, 2, 840, 113549, 1, 9, 16, 3, 18},
"ChaCha20Poly1305");
426 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 2},
"AES-128/CBC");
428 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 5},
"KeyWrap.AES-128");
430 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 6},
"AES-128/GCM");
432 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 7},
"AES-128/CCM");
434 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 22},
"AES-192/CBC");
436 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 25},
"KeyWrap.AES-192");
438 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 26},
"AES-192/GCM");
440 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 27},
"AES-192/CCM");
442 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 42},
"AES-256/CBC");
444 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 45},
"KeyWrap.AES-256");
446 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 46},
"AES-256/GCM");
448 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 47},
"AES-256/CCM");
450 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 1},
"SHA-256");
452 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 2},
"SHA-384");
454 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 3},
"SHA-512");
456 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 4},
"SHA-224");
458 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 6},
"SHA-512-256");
460 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 7},
"SHA-3(224)");
462 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 8},
"SHA-3(256)");
464 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 9},
"SHA-3(384)");
466 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 10},
"SHA-3(512)");
468 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 11},
"SHAKE-128");
470 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 12},
"SHAKE-256");
472 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 1},
"DSA/SHA-224");
474 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 2},
"DSA/SHA-256");
476 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 3},
"DSA/SHA-384");
478 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 4},
"DSA/SHA-512");
480 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 5},
"DSA/SHA-3(224)");
482 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 6},
"DSA/SHA-3(256)");
484 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 7},
"DSA/SHA-3(384)");
486 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 8},
"DSA/SHA-3(512)");
488 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 9},
"ECDSA/SHA-3(224)");
490 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 10},
"ECDSA/SHA-3(256)");
492 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 11},
"ECDSA/SHA-3(384)");
494 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 12},
"ECDSA/SHA-3(512)");
496 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 13},
"RSA/PKCS1v15(SHA-3(224))");
498 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 14},
"RSA/PKCS1v15(SHA-3(256))");
500 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 15},
"RSA/PKCS1v15(SHA-3(384))");
502 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 16},
"RSA/PKCS1v15(SHA-3(512))");
504 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 17},
"ML-DSA-4x4");
506 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 18},
"ML-DSA-6x5");
508 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 19},
"ML-DSA-8x7");
510 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 20},
"SLH-DSA-SHA2-128s");
512 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 21},
"SLH-DSA-SHA2-128f");
514 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 22},
"SLH-DSA-SHA2-192s");
516 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 23},
"SLH-DSA-SHA2-192f");
518 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 24},
"SLH-DSA-SHA2-256s");
520 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 25},
"SLH-DSA-SHA2-256f");
522 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 26},
"SLH-DSA-SHAKE-128s");
524 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 27},
"SLH-DSA-SHAKE-128f");
526 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 28},
"SLH-DSA-SHAKE-192s");
528 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 29},
"SLH-DSA-SHAKE-192f");
530 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 30},
"SLH-DSA-SHAKE-256s");
532 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 31},
"SLH-DSA-SHAKE-256f");
534 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 4, 1},
"ML-KEM-512");
536 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 4, 2},
"ML-KEM-768");
538 return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 4, 3},
"ML-KEM-1024");
540 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 1, 1},
"PKIX.AuthorityInformationAccess");
542 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 1, 7},
"PKIX.IpAddrBlocks");
544 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 1, 8},
"PKIX.AutonomousSysIds");
546 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 1, 26},
"PKIX.TNAuthList");
548 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 1},
"PKIX.ServerAuth");
550 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 2},
"PKIX.ClientAuth");
552 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 3},
"PKIX.CodeSigning");
554 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 4},
"PKIX.EmailProtection");
556 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 5},
"PKIX.IPsecEndSystem");
558 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 6},
"PKIX.IPsecTunnel");
560 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 7},
"PKIX.IPsecUser");
562 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 8},
"PKIX.TimeStamping");
564 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 9},
"PKIX.OCSPSigning");
566 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 8, 5},
"PKIX.XMPPAddr");
568 return if_match(oid, {1, 3, 6, 1, 4, 1, 311, 20, 2, 2},
"Microsoft SmartcardLogon");
570 return if_match(oid, {1, 3, 6, 1, 4, 1, 311, 20, 2, 3},
"Microsoft UPN");
572 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 48, 1},
"PKIX.OCSP");
574 return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 48, 2},
"PKIX.CertificateAuthorityIssuers");
576 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 1},
"brainpool160r1");
578 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 3},
"brainpool192r1");
580 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 5},
"brainpool224r1");
582 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 7},
"brainpool256r1");
584 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 9},
"brainpool320r1");
586 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 11},
"brainpool384r1");
588 return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 13},
"brainpool512r1");
590 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 3},
"McEliece");
592 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 5},
"XMSS-draft6");
594 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 8},
"XMSS-draft12");
596 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 13},
"HSS-LMS-Private-Key");
598 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 1},
"Serpent/CBC");
600 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2},
"Threefish-512/CBC");
602 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 3},
"Twofish/CBC");
604 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 101},
"Serpent/GCM");
606 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 102},
"Twofish/GCM");
608 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 4, 1},
"numsp256d1");
610 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 4, 2},
"numsp384d1");
612 return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 4, 3},
"numsp512d1");
614 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 1},
"ClassicMcEliece_348864");
616 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 2},
"ClassicMcEliece_348864f");
618 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 3},
"ClassicMcEliece_460896");
620 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 4},
"ClassicMcEliece_460896f");
622 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 5},
"ClassicMcEliece_6688128");
624 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 6},
"ClassicMcEliece_6688128f");
626 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 7},
"ClassicMcEliece_6960119");
628 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 8},
"ClassicMcEliece_6960119f");
630 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 9},
"ClassicMcEliece_8192128");
632 return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 10},
"ClassicMcEliece_8192128f");
634 return if_match(oid, {1, 2, 840, 113549, 1, 1, 1},
"RSA");
636 return if_match(oid, {1, 2, 840, 113549, 1, 1, 2},
"RSA/PKCS1v15(MD2)");
638 return if_match(oid, {1, 2, 840, 113549, 1, 1, 4},
"RSA/PKCS1v15(MD5)");
640 return if_match(oid, {1, 2, 840, 113549, 1, 1, 5},
"RSA/PKCS1v15(SHA-1)");
642 return if_match(oid, {1, 2, 840, 113549, 1, 1, 7},
"RSA/OAEP");
644 return if_match(oid, {1, 2, 840, 113549, 1, 1, 8},
"MGF1");
646 return if_match(oid, {1, 2, 840, 113549, 1, 1, 10},
"RSA/PSS");
648 return if_match(oid, {1, 2, 840, 113549, 1, 1, 11},
"RSA/PKCS1v15(SHA-256)");
650 return if_match(oid, {1, 2, 840, 113549, 1, 1, 12},
"RSA/PKCS1v15(SHA-384)");
652 return if_match(oid, {1, 2, 840, 113549, 1, 1, 13},
"RSA/PKCS1v15(SHA-512)");
654 return if_match(oid, {1, 2, 840, 113549, 1, 1, 14},
"RSA/PKCS1v15(SHA-224)");
656 return if_match(oid, {1, 2, 840, 113549, 1, 1, 16},
"RSA/PKCS1v15(SHA-512-256)");
658 return if_match(oid, {1, 2, 840, 113549, 1, 5, 12},
"PKCS5.PBKDF2");
660 return if_match(oid, {1, 2, 840, 113549, 1, 5, 13},
"PBE-PKCS5v20");
662 return if_match(oid, {1, 2, 840, 113549, 1, 9, 1},
"PKCS9.EmailAddress");
664 return if_match(oid, {1, 2, 840, 113549, 1, 9, 2},
"PKCS9.UnstructuredName");
666 return if_match(oid, {1, 2, 840, 113549, 1, 9, 3},
"PKCS9.ContentType");
668 return if_match(oid, {1, 2, 840, 113549, 1, 9, 4},
"PKCS9.MessageDigest");
670 return if_match(oid, {1, 2, 840, 113549, 1, 9, 7},
"PKCS9.ChallengePassword");
672 return if_match(oid, {1, 2, 840, 113549, 1, 9, 14},
"PKCS9.ExtensionRequest");
674 return if_match(oid, {1, 3, 6, 1, 4, 1, 11591, 4, 11},
"Scrypt");
676 return if_match(oid, {1, 3, 6, 1, 4, 1, 11591, 15, 1},
"OpenPGP.Ed25519");
678 return if_match(oid, {1, 2, 643, 100, 1},
"GOST.OGRN");
680 return if_match(oid, {1, 2, 643, 100, 111},
"GOST.SubjectSigningTool");
682 return if_match(oid, {1, 2, 643, 100, 112},
"GOST.IssuerSigningTool");
684 return if_match(oid, {1, 2, 840, 10045, 3, 1, 1},
"secp192r1");
686 return if_match(oid, {1, 2, 840, 10045, 3, 1, 2},
"x962_p192v2");
688 return if_match(oid, {1, 2, 840, 10045, 3, 1, 3},
"x962_p192v3");
690 return if_match(oid, {1, 2, 840, 10045, 3, 1, 4},
"x962_p239v1");
692 return if_match(oid, {1, 2, 840, 10045, 3, 1, 5},
"x962_p239v2");
694 return if_match(oid, {1, 2, 840, 10045, 3, 1, 6},
"x962_p239v3");
696 return if_match(oid, {1, 2, 840, 10045, 3, 1, 7},
"secp256r1");
698 return if_match(oid, {1, 2, 840, 10040, 4, 1},
"DSA");
700 return if_match(oid, {1, 2, 840, 10040, 4, 3},
"DSA/SHA-1");
707std::optional<OID> OID_Map::lookup_static_oid_name(std::string_view req) {
708 const uint32_t hc = hash_oid_name(req);
712 return if_match(req,
"Twofish/GCM", {1, 3, 6, 1, 4, 1, 25258, 3, 102});
714 return if_match(req,
"SphincsPlus-sha2-192f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 4});
716 return if_match(req,
"FrodoKEM-640-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 14, 1});
718 return if_match(req,
"MD5", {1, 2, 840, 113549, 2, 5});
720 return if_match(req,
"SphincsPlus-shake-192f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 4});
722 return if_match(req,
"Microsoft SmartcardLogon", {1, 3, 6, 1, 4, 1, 311, 20, 2, 2});
724 return if_match(req,
"secp160k1", {1, 3, 132, 0, 9});
726 return if_match(req,
"Camellia-256/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 8});
728 return if_match(req,
"secp160r1", {1, 3, 132, 0, 8});
730 return if_match(req,
"secp160r2", {1, 3, 132, 0, 30});
732 return if_match(req,
"X520.Country", {2, 5, 4, 6});
734 return if_match(req,
"PKIX.ServerAuth", {1, 3, 6, 1, 5, 5, 7, 3, 1});
736 return if_match(req,
"numsp384d1", {1, 3, 6, 1, 4, 1, 25258, 4, 2});
738 return if_match(req,
"RSA/PKCS1v15(SHA-1)", {1, 2, 840, 113549, 1, 1, 5});
740 return if_match(req,
"DES/CBC", {1, 3, 14, 3, 2, 7});
742 return if_match(req,
"ECDSA/SHA-3(512)", {2, 16, 840, 1, 101, 3, 4, 3, 12});
744 return if_match(req,
"SphincsPlus-sha2-128s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 1});
746 return if_match(req,
"ECGDSA", {1, 3, 36, 3, 3, 2, 5, 2, 1});
748 return if_match(req,
"SphincsPlus-shake-128s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 1});
750 return if_match(req,
"ClassicMcEliece_8192128f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 10});
752 return if_match(req,
"numsp512d1", {1, 3, 6, 1, 4, 1, 25258, 4, 3});
754 return if_match(req,
"PKCS9.UnstructuredName", {1, 2, 840, 113549, 1, 9, 2});
756 return if_match(req,
"Camellia-256/GCM", {0, 3, 4401, 5, 3, 1, 9, 46});
758 return if_match(req,
"DSA/SHA-3(384)", {2, 16, 840, 1, 101, 3, 4, 3, 7});
760 return if_match(req,
"secp192k1", {1, 3, 132, 0, 31});
762 return if_match(req,
"X520.DNQualifier", {2, 5, 4, 46});
764 return if_match(req,
"secp192r1", {1, 2, 840, 10045, 3, 1, 1});
766 return if_match(req,
"SM2_Kex", {1, 2, 156, 10197, 1, 301, 2});
768 return if_match(req,
"X520.GenerationalQualifier", {2, 5, 4, 44});
770 return if_match(req,
"PKCS5.PBKDF2", {1, 2, 840, 113549, 1, 5, 12});
772 return if_match(req,
"eFrodoKEM-1344-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 17, 3});
774 return if_match(req,
"ClassicMcEliece_460896", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 3});
776 return if_match(req,
"XMSS-draft12", {1, 3, 6, 1, 4, 1, 25258, 1, 8});
778 return if_match(req,
"Compression.Zlib", {1, 2, 840, 113549, 1, 9, 16, 3, 8});
780 return if_match(req,
"Streebog-512", {1, 2, 643, 7, 1, 1, 2, 3});
782 return if_match(req,
"Kyber-1024-90s-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 11, 3});
784 return if_match(req,
"X520.GivenName", {2, 5, 4, 42});
786 return if_match(req,
"RSA/PKCS1v15(SM3)", {1, 2, 156, 10197, 1, 504});
788 return if_match(req,
"SLH-DSA-SHA2-256f", {2, 16, 840, 1, 101, 3, 4, 3, 25});
790 return if_match(req,
"SLH-DSA-SHA2-256s", {2, 16, 840, 1, 101, 3, 4, 3, 24});
792 return if_match(req,
"FrodoKEM-976-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 15, 2});
794 return if_match(req,
"eFrodoKEM-1344-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 16, 3});
796 return if_match(req,
"X509v3.InvalidityDate", {2, 5, 29, 24});
798 return if_match(req,
"DSA/SHA-1", {1, 2, 840, 10040, 4, 3});
800 return if_match(req,
"KeyWrap.AES-128", {2, 16, 840, 1, 101, 3, 4, 1, 5});
802 return if_match(req,
"KeyWrap.AES-192", {2, 16, 840, 1, 101, 3, 4, 1, 25});
804 return if_match(req,
"SphincsPlus-haraka-192f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 4});
806 return if_match(req,
"KeyWrap.CAST-128", {1, 2, 840, 113533, 7, 66, 15});
808 return if_match(req,
"ML-KEM-512", {2, 16, 840, 1, 101, 3, 4, 4, 1});
810 return if_match(req,
"GOST-34.10-2012-512", {1, 2, 643, 7, 1, 1, 1, 2});
812 return if_match(req,
"ElGamal", {1, 3, 6, 1, 4, 1, 3029, 1, 2, 1});
814 return if_match(req,
"X520.Initials", {2, 5, 4, 43});
816 return if_match(req,
"PKIX.AutonomousSysIds", {1, 3, 6, 1, 5, 5, 7, 1, 8});
818 return if_match(req,
"SphincsPlus-haraka-128s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 1});
820 return if_match(req,
"DSA/SHA-3(256)", {2, 16, 840, 1, 101, 3, 4, 3, 6});
822 return if_match(req,
"SHA-224", {2, 16, 840, 1, 101, 3, 4, 2, 4});
824 return if_match(req,
"SHA-256", {2, 16, 840, 1, 101, 3, 4, 2, 1});
826 return if_match(req,
"KeyWrap.AES-256", {2, 16, 840, 1, 101, 3, 4, 1, 45});
828 return if_match(req,
"SM2_Sig/SM3", {1, 2, 156, 10197, 1, 501});
830 return if_match(req,
"ECGDSA/RIPEMD-160", {1, 3, 36, 3, 3, 2, 5, 4, 1});
832 return if_match(req,
"ECDSA/SHA-3(224)", {2, 16, 840, 1, 101, 3, 4, 3, 9});
834 return if_match(req,
"RSA/PKCS1v15(RIPEMD-160)", {1, 3, 36, 3, 3, 1, 2});
836 return if_match(req,
"Kyber-512-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 7, 1});
838 return if_match(req,
"SLH-DSA-SHA2-128f", {2, 16, 840, 1, 101, 3, 4, 3, 21});
840 return if_match(req,
"SLH-DSA-SHA2-128s", {2, 16, 840, 1, 101, 3, 4, 3, 20});
842 return if_match(req,
"RSA/PKCS1v15(SHA-3(224))", {2, 16, 840, 1, 101, 3, 4, 3, 13});
844 return if_match(req,
"GOST-34.10-2012-256/Streebog-256", {1, 2, 643, 7, 1, 1, 3, 2});
846 return if_match(req,
"HMAC(SHA-512)", {1, 2, 840, 113549, 2, 11});
848 return if_match(req,
"secp384r1", {1, 3, 132, 0, 34});
850 return if_match(req,
"TripleDES/CBC", {1, 2, 840, 113549, 3, 7});
852 return if_match(req,
"FrodoKEM-976-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 14, 2});
854 return if_match(req,
"Ed25519", {1, 3, 101, 112});
856 return if_match(req,
"SHAKE-128", {2, 16, 840, 1, 101, 3, 4, 2, 11});
858 return if_match(req,
"ClassicMcEliece_348864", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 1});
860 return if_match(req,
"ML-DSA-4x4", {2, 16, 840, 1, 101, 3, 4, 3, 17});
862 return if_match(req,
"ClassicMcEliece_8192128", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 9});
864 return if_match(req,
"Ed448", {1, 3, 101, 113});
866 return if_match(req,
"SHA-384", {2, 16, 840, 1, 101, 3, 4, 2, 2});
868 return if_match(req,
"DH", {1, 2, 840, 10046, 2, 1});
870 return if_match(req,
"MGF1", {1, 2, 840, 113549, 1, 1, 8});
872 return if_match(req,
"X509v3.IssuerAlternativeName", {2, 5, 29, 18});
874 return if_match(req,
"KeyWrap.TripleDES", {1, 2, 840, 113549, 1, 9, 16, 3, 6});
876 return if_match(req,
"X509v3.PrivateKeyUsagePeriod", {2, 5, 29, 16});
878 return if_match(req,
"SLH-DSA-SHAKE-192f", {2, 16, 840, 1, 101, 3, 4, 3, 29});
880 return if_match(req,
"SLH-DSA-SHAKE-192s", {2, 16, 840, 1, 101, 3, 4, 3, 28});
882 return if_match(req,
"DSA", {1, 2, 840, 10040, 4, 1});
884 return if_match(req,
"HSS-LMS", {1, 2, 840, 113549, 1, 9, 16, 3, 17});
886 return if_match(req,
"RSA/PKCS1v15(SHA-3(256))", {2, 16, 840, 1, 101, 3, 4, 3, 14});
888 return if_match(req,
"GOST.OGRN", {1, 2, 643, 100, 1});
890 return if_match(req,
"X509v3.BasicConstraints", {2, 5, 29, 19});
892 return if_match(req,
"SHA-3(512)", {2, 16, 840, 1, 101, 3, 4, 2, 10});
894 return if_match(req,
"ML-KEM-768", {2, 16, 840, 1, 101, 3, 4, 4, 2});
896 return if_match(req,
"ECDSA/SHA-3(384)", {2, 16, 840, 1, 101, 3, 4, 3, 11});
898 return if_match(req,
"X509v3.CRLDistributionPoints", {2, 5, 29, 31});
900 return if_match(req,
"brainpool160r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 1});
902 return if_match(req,
"gost_256A", {1, 2, 643, 7, 1, 2, 1, 1, 1});
904 return if_match(req,
"gost_256B", {1, 2, 643, 7, 1, 2, 1, 1, 2});
906 return if_match(req,
"GOST-34.10-2012-512/Streebog-512", {1, 2, 643, 7, 1, 1, 3, 3});
908 return if_match(req,
"ClassicMcEliece_6960119pc", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 3});
910 return if_match(req,
"Kyber-512-90s-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 11, 1});
912 return if_match(req,
"RSA/PKCS1v15(SHA-512-256)", {1, 2, 840, 113549, 1, 1, 16});
914 return if_match(req,
"X509v3.ReasonCode", {2, 5, 29, 21});
916 return if_match(req,
"SHAKE-256", {2, 16, 840, 1, 101, 3, 4, 2, 12});
918 return if_match(req,
"X509v3.PolicyConstraints", {2, 5, 29, 36});
920 return if_match(req,
"Serpent/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 4});
922 return if_match(req,
"Dilithium-4x4-AES-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 10, 1});
924 return if_match(req,
"ChaCha20Poly1305", {1, 2, 840, 113549, 1, 9, 16, 3, 18});
926 return if_match(req,
"frp256v1", {1, 2, 250, 1, 223, 101, 256, 1});
928 return if_match(req,
"ClassicMcEliece_6960119f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 8});
930 return if_match(req,
"PKIX.TNAuthList", {1, 3, 6, 1, 5, 5, 7, 1, 26});
932 return if_match(req,
"eFrodoKEM-976-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 17, 2});
934 return if_match(req,
"DSA/SHA-224", {2, 16, 840, 1, 101, 3, 4, 3, 1});
936 return if_match(req,
"DSA/SHA-256", {2, 16, 840, 1, 101, 3, 4, 3, 2});
938 return if_match(req,
"X509v3.AnyPolicy", {2, 5, 29, 32, 0});
940 return if_match(req,
"RSA/PKCS1v15(SHA-512)", {1, 2, 840, 113549, 1, 1, 13});
942 return if_match(req,
"CAST-128/CBC", {1, 2, 840, 113533, 7, 66, 10});
944 return if_match(req,
"RSA", {1, 2, 840, 113549, 1, 1, 1});
946 return if_match(req,
"ECDSA/SHA-224", {1, 2, 840, 10045, 4, 3, 1});
948 return if_match(req,
"GOST-34.10/GOST-R-34.11-94", {1, 2, 643, 2, 2, 3});
950 return if_match(req,
"ECDSA/SHA-256", {1, 2, 840, 10045, 4, 3, 2});
952 return if_match(req,
"brainpool192r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 3});
954 return if_match(req,
"PKCS9.ContentType", {1, 2, 840, 113549, 1, 9, 3});
956 return if_match(req,
"FrodoKEM-640-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 15, 1});
958 return if_match(req,
"x962_p192v2", {1, 2, 840, 10045, 3, 1, 2});
960 return if_match(req,
"x962_p192v3", {1, 2, 840, 10045, 3, 1, 3});
962 return if_match(req,
"AES-128/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 1});
964 return if_match(req,
"HMAC(SHA-224)", {1, 2, 840, 113549, 2, 8});
966 return if_match(req,
"FrodoKEM-1344-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 14, 3});
968 return if_match(req,
"PKIX.TimeStamping", {1, 3, 6, 1, 5, 5, 7, 3, 8});
970 return if_match(req,
"Serpent/CBC", {1, 3, 6, 1, 4, 1, 25258, 3, 1});
972 return if_match(req,
"SphincsPlus-sha2-128f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 2});
974 return if_match(req,
"AES-192/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 2});
976 return if_match(req,
"ML-DSA-6x5", {2, 16, 840, 1, 101, 3, 4, 3, 18});
978 return if_match(req,
"brainpool320r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 9});
980 return if_match(req,
"SphincsPlus-shake-128f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 2});
982 return if_match(req,
"XMSS-draft6", {1, 3, 6, 1, 4, 1, 25258, 1, 5});
984 return if_match(req,
"ECGDSA/SHA-224", {1, 3, 36, 3, 3, 2, 5, 4, 3});
986 return if_match(req,
"ECGDSA/SHA-256", {1, 3, 36, 3, 3, 2, 5, 4, 4});
988 return if_match(req,
"SHA-512", {2, 16, 840, 1, 101, 3, 4, 2, 3});
990 return if_match(req,
"PKIX.OCSP.NoCheck", {1, 3, 6, 1, 5, 5, 7, 48, 1, 5});
992 return if_match(req,
"X509v3.SubjectKeyIdentifier", {2, 5, 29, 14});
994 return if_match(req,
"X520.CommonName", {2, 5, 4, 3});
996 return if_match(req,
"ECDSA/SHA-3(256)", {2, 16, 840, 1, 101, 3, 4, 3, 10});
998 return if_match(req,
"SphincsPlus-sha2-256s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 5});
1000 return if_match(req,
"X520.Surname", {2, 5, 4, 4});
1002 return if_match(req,
"ClassicMcEliece_8192128pc", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 5});
1004 return if_match(req,
"X509v3.KeyUsage", {2, 5, 29, 15});
1006 return if_match(req,
"numsp256d1", {1, 3, 6, 1, 4, 1, 25258, 4, 1});
1008 return if_match(req,
"SphincsPlus-shake-256s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 5});
1010 return if_match(req,
"DSA/SHA-384", {2, 16, 840, 1, 101, 3, 4, 3, 3});
1012 return if_match(req,
"X520.SerialNumber", {2, 5, 4, 5});
1014 return if_match(req,
"SM4/OCB", {1, 2, 156, 10197, 1, 104, 100});
1016 return if_match(req,
"AES-128/CBC", {2, 16, 840, 1, 101, 3, 4, 1, 2});
1018 return if_match(req,
"AES-128/CCM", {2, 16, 840, 1, 101, 3, 4, 1, 7});
1020 return if_match(req,
"HMAC(SHA-512-256)", {1, 2, 840, 113549, 2, 13});
1022 return if_match(req,
"SM2", {1, 2, 156, 10197, 1, 301, 1});
1024 return if_match(req,
"SM3", {1, 2, 156, 10197, 1, 401});
1026 return if_match(req,
"ECDSA/SHA-384", {1, 2, 840, 10045, 4, 3, 3});
1028 return if_match(req,
"SHA-3(224)", {2, 16, 840, 1, 101, 3, 4, 2, 7});
1030 return if_match(req,
"AES-192/CBC", {2, 16, 840, 1, 101, 3, 4, 1, 22});
1032 return if_match(req,
"AES-192/CCM", {2, 16, 840, 1, 101, 3, 4, 1, 27});
1034 return if_match(req,
"OpenPGP.Ed25519", {1, 3, 6, 1, 4, 1, 11591, 15, 1});
1036 return if_match(req,
"sm2p256v1", {1, 2, 156, 10197, 1, 301});
1038 return if_match(req,
"FrodoKEM-1344-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 15, 3});
1040 return if_match(req,
"X520.State", {2, 5, 4, 8});
1042 return if_match(req,
"HMAC(SHA-384)", {1, 2, 840, 113549, 2, 10});
1044 return if_match(req,
"ECGDSA/SHA-384", {1, 3, 36, 3, 3, 2, 5, 4, 5});
1046 return if_match(req,
"Camellia-128/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 6});
1048 return if_match(req,
"PKCS9.ExtensionRequest", {1, 2, 840, 113549, 1, 9, 14});
1050 return if_match(req,
"X509v3.SubjectAlternativeName", {2, 5, 29, 17});
1052 return if_match(req,
"SM4/CBC", {1, 2, 156, 10197, 1, 104, 2});
1054 return if_match(req,
"Dilithium-4x4-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 9, 1});
1056 return if_match(req,
"PKIX.IpAddrBlocks", {1, 3, 6, 1, 5, 5, 7, 1, 7});
1058 return if_match(req,
"ECDSA", {1, 2, 840, 10045, 2, 1});
1060 return if_match(req,
"GOST.INN", {1, 2, 643, 3, 131, 1, 1});
1062 return if_match(req,
"Camellia-192/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 7});
1064 return if_match(req,
"Dilithium-8x7-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 9, 3});
1066 return if_match(req,
"RSA/PKCS1v15(SHA-224)", {1, 2, 840, 113549, 1, 1, 14});
1068 return if_match(req,
"PKIX.AuthorityInformationAccess", {1, 3, 6, 1, 5, 5, 7, 1, 1});
1070 return if_match(req,
"brainpool384r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 11});
1072 return if_match(req,
"SphincsPlus-haraka-128f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 2});
1074 return if_match(req,
"ML-KEM-1024", {2, 16, 840, 1, 101, 3, 4, 4, 3});
1076 return if_match(req,
"AES-256/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 3});
1078 return if_match(req,
"Camellia-128/CBC", {1, 2, 392, 200011, 61, 1, 1, 1, 2});
1080 return if_match(req,
"ML-DSA-8x7", {2, 16, 840, 1, 101, 3, 4, 3, 19});
1082 return if_match(req,
"PKIX.XMPPAddr", {1, 3, 6, 1, 5, 5, 7, 8, 5});
1084 return if_match(req,
"RSA/PKCS1v15(MD2)", {1, 2, 840, 113549, 1, 1, 2});
1086 return if_match(req,
"RSA/PKCS1v15(MD5)", {1, 2, 840, 113549, 1, 1, 4});
1088 return if_match(req,
"ClassicMcEliece_348864f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 2});
1090 return if_match(req,
"SHA-3(384)", {2, 16, 840, 1, 101, 3, 4, 2, 9});
1092 return if_match(req,
"brainpool512r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 13});
1094 return if_match(req,
"SphincsPlus-haraka-256s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 5});
1096 return if_match(req,
"secp224k1", {1, 3, 132, 0, 32});
1098 return if_match(req,
"secp224r1", {1, 3, 132, 0, 33});
1100 return if_match(req,
"Camellia-192/CBC", {1, 2, 392, 200011, 61, 1, 1, 1, 3});
1102 return if_match(req,
"ClassicMcEliece_6688128pc", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 1});
1104 return if_match(req,
"DSA/SHA-512", {2, 16, 840, 1, 101, 3, 4, 3, 4});
1106 return if_match(req,
"X509v3.ExtendedKeyUsage", {2, 5, 29, 37});
1108 return if_match(req,
"SM2_Enc", {1, 2, 156, 10197, 1, 301, 3});
1110 return if_match(req,
"Twofish/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 5});
1112 return if_match(req,
"SphincsPlus-sha2-192s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 3});
1114 return if_match(req,
"SLH-DSA-SHAKE-256f", {2, 16, 840, 1, 101, 3, 4, 3, 31});
1116 return if_match(req,
"SLH-DSA-SHAKE-256s", {2, 16, 840, 1, 101, 3, 4, 3, 30});
1118 return if_match(req,
"PKIX.EmailProtection", {1, 3, 6, 1, 5, 5, 7, 3, 4});
1120 return if_match(req,
"SHA-512-256", {2, 16, 840, 1, 101, 3, 4, 2, 6});
1122 return if_match(req,
"SphincsPlus-shake-192s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 3});
1124 return if_match(req,
"GOST-34.10", {1, 2, 643, 2, 2, 19});
1126 return if_match(req,
"ECDSA/SHA-512", {1, 2, 840, 10045, 4, 3, 4});
1128 return if_match(req,
"ClassicMcEliece_6688128f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 6});
1130 return if_match(req,
"eFrodoKEM-640-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 16, 1});
1132 return if_match(req,
"PKIX.IPsecTunnel", {1, 3, 6, 1, 5, 5, 7, 3, 6});
1134 return if_match(req,
"X520.Organization", {2, 5, 4, 10});
1136 return if_match(req,
"AES-256/CBC", {2, 16, 840, 1, 101, 3, 4, 1, 42});
1138 return if_match(req,
"AES-256/CCM", {2, 16, 840, 1, 101, 3, 4, 1, 47});
1140 return if_match(req,
"HMAC(SHA-256)", {1, 2, 840, 113549, 2, 9});
1142 return if_match(req,
"Threefish-512/CBC", {1, 3, 6, 1, 4, 1, 25258, 3, 2});
1144 return if_match(req,
"RSA/PKCS1v15(SHA-384)", {1, 2, 840, 113549, 1, 1, 12});
1146 return if_match(req,
"eFrodoKEM-640-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 17, 1});
1148 return if_match(req,
"ClassicMcEliece_6960119pcf", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 4});
1150 return if_match(req,
"secp256k1", {1, 3, 132, 0, 10});
1152 return if_match(req,
"secp256r1", {1, 2, 840, 10045, 3, 1, 7});
1154 return if_match(req,
"PKIX.IPsecUser", {1, 3, 6, 1, 5, 5, 7, 3, 7});
1156 return if_match(req,
"Serpent/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 4});
1158 return if_match(req,
"ECGDSA/SHA-512", {1, 3, 36, 3, 3, 2, 5, 4, 6});
1160 return if_match(req,
"Twofish/CBC", {1, 3, 6, 1, 4, 1, 25258, 3, 3});
1162 return if_match(req,
"PKCS9.EmailAddress", {1, 2, 840, 113549, 1, 9, 1});
1164 return if_match(req,
"PKIX.CertificateAuthorityIssuers", {1, 3, 6, 1, 5, 5, 7, 48, 2});
1166 return if_match(req,
"X509v3.AuthorityKeyIdentifier", {2, 5, 29, 35});
1168 return if_match(req,
"ECDSA/SHA-1", {1, 2, 840, 10045, 4, 1});
1170 return if_match(req,
"PBE-PKCS5v20", {1, 2, 840, 113549, 1, 5, 13});
1172 return if_match(req,
"PKCS9.MessageDigest", {1, 2, 840, 113549, 1, 9, 4});
1174 return if_match(req,
"Camellia-256/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 8});
1176 return if_match(req,
"ClassicMcEliece_6688128", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 5});
1178 return if_match(req,
"PKCS9.ChallengePassword", {1, 2, 840, 113549, 1, 9, 7});
1180 return if_match(req,
"ECKCDSA", {1, 0, 14888, 3, 0, 5});
1182 return if_match(req,
"X509v3.CertificatePolicies", {2, 5, 29, 32});
1184 return if_match(req,
"HSS-LMS-Private-Key", {1, 3, 6, 1, 4, 1, 25258, 1, 13});
1186 return if_match(req,
"Kyber-768-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 7, 2});
1188 return if_match(req,
"Dilithium-6x5-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 9, 2});
1190 return if_match(req,
"AES-128/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 1});
1192 return if_match(req,
"SHA-3(256)", {2, 16, 840, 1, 101, 3, 4, 2, 8});
1194 return if_match(req,
"Serpent/GCM", {1, 3, 6, 1, 4, 1, 25258, 3, 101});
1196 return if_match(req,
"X25519", {1, 3, 101, 110});
1198 return if_match(req,
"McEliece", {1, 3, 6, 1, 4, 1, 25258, 1, 3});
1200 return if_match(req,
"Dilithium-6x5-AES-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 10, 2});
1202 return if_match(req,
"AES-192/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 2});
1204 return if_match(req,
"SLH-DSA-SHAKE-128f", {2, 16, 840, 1, 101, 3, 4, 3, 27});
1206 return if_match(req,
"SLH-DSA-SHAKE-128s", {2, 16, 840, 1, 101, 3, 4, 3, 26});
1208 return if_match(req,
"PKIX.OCSP", {1, 3, 6, 1, 5, 5, 7, 48, 1});
1210 return if_match(req,
"PKIX.IPsecEndSystem", {1, 3, 6, 1, 5, 5, 7, 3, 5});
1212 return if_match(req,
"Camellia-256/CBC", {1, 2, 392, 200011, 61, 1, 1, 1, 4});
1214 return if_match(req,
"HMAC(SHA-1)", {1, 2, 840, 113549, 2, 7});
1216 return if_match(req,
"SEED/CBC", {1, 2, 410, 200004, 1, 4});
1218 return if_match(req,
"SphincsPlus-haraka-192s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 3});
1220 return if_match(req,
"GOST.SubjectSigningTool", {1, 2, 643, 100, 111});
1222 return if_match(req,
"XMSS", {0, 4, 0, 127, 0, 15, 1, 1, 13, 0});
1224 return if_match(req,
"ECKCDSA/SHA-1", {1, 2, 410, 200004, 1, 100, 4, 3});
1226 return if_match(req,
"SM4/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 9});
1228 return if_match(req,
"AES-128/GCM", {2, 16, 840, 1, 101, 3, 4, 1, 6});
1230 return if_match(req,
"X520.OrganizationalUnit", {2, 5, 4, 11});
1232 return if_match(req,
"OpenPGP.Curve25519", {1, 3, 6, 1, 4, 1, 3029, 1, 5, 1});
1234 return if_match(req,
"SLH-DSA-SHA2-192f", {2, 16, 840, 1, 101, 3, 4, 3, 23});
1236 return if_match(req,
"SLH-DSA-SHA2-192s", {2, 16, 840, 1, 101, 3, 4, 3, 22});
1238 return if_match(req,
"Scrypt", {1, 3, 6, 1, 4, 1, 11591, 4, 11});
1240 return if_match(req,
"GOST-34.10-2012-256/SHA-256", {1, 3, 6, 1, 4, 1, 25258, 1, 6, 1});
1242 return if_match(req,
"ClassicMcEliece_460896f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 4});
1244 return if_match(req,
"RIPEMD-160", {1, 3, 36, 3, 2, 1});
1246 return if_match(req,
"RSA/PKCS1v15(SHA-256)", {1, 2, 840, 113549, 1, 1, 11});
1248 return if_match(req,
"DSA/SHA-3(512)", {2, 16, 840, 1, 101, 3, 4, 3, 8});
1250 return if_match(req,
"ClassicMcEliece_6960119", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 7});
1252 return if_match(req,
"X448", {1, 3, 101, 111});
1254 return if_match(req,
"AES-192/GCM", {2, 16, 840, 1, 101, 3, 4, 1, 26});
1256 return if_match(req,
"ClassicMcEliece_6688128pcf", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 2});
1258 return if_match(req,
"X509v3.CRLNumber", {2, 5, 29, 20});
1260 return if_match(req,
"X520.Title", {2, 5, 4, 12});
1262 return if_match(req,
"X509v3.NameConstraints", {2, 5, 29, 30});
1264 return if_match(req,
"X520.Pseudonym", {2, 5, 4, 65});
1266 return if_match(req,
"SphincsPlus-sha2-256f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 6});
1268 return if_match(req,
"secp521r1", {1, 3, 132, 0, 35});
1270 return if_match(req,
"SphincsPlus-shake-256f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 6});
1272 return if_match(req,
"Camellia-128/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 6});
1274 return if_match(req,
"SM4/GCM", {1, 2, 156, 10197, 1, 104, 8});
1276 return if_match(req,
"Kyber-768-90s-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 11, 2});
1278 return if_match(req,
"Camellia-192/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 7});
1280 return if_match(req,
"Dilithium-8x7-AES-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 10, 3});
1282 return if_match(req,
"GOST.IssuerSigningTool", {1, 2, 643, 100, 112});
1284 return if_match(req,
"RSA/OAEP", {1, 2, 840, 113549, 1, 1, 7});
1286 return if_match(req,
"Streebog-256", {1, 2, 643, 7, 1, 1, 2, 2});
1288 return if_match(req,
"Certificate Comment", {2, 16, 840, 1, 113730, 1, 13});
1290 return if_match(req,
"PKIX.ClientAuth", {1, 3, 6, 1, 5, 5, 7, 3, 2});
1292 return if_match(req,
"ClassicMcEliece_8192128pcf", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 6});
1294 return if_match(req,
"ECDH", {1, 3, 132, 1, 12});
1296 return if_match(req,
"RSA/PKCS1v15(SHA-3(384))", {2, 16, 840, 1, 101, 3, 4, 3, 15});
1298 return if_match(req,
"AES-256/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 3});
1300 return if_match(req,
"Camellia-128/GCM", {0, 3, 4401, 5, 3, 1, 9, 6});
1302 return if_match(req,
"X520.Locality", {2, 5, 4, 7});
1304 return if_match(req,
"ECKCDSA/SHA-224", {1, 2, 410, 200004, 1, 100, 4, 4});
1306 return if_match(req,
"ECKCDSA/SHA-256", {1, 2, 410, 200004, 1, 100, 4, 5});
1308 return if_match(req,
"eFrodoKEM-976-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 16, 2});
1310 return if_match(req,
"ECGDSA/SHA-1", {1, 3, 36, 3, 3, 2, 5, 4, 2});
1312 return if_match(req,
"RSA/PKCS1v15(SHA-3(512))", {2, 16, 840, 1, 101, 3, 4, 3, 16});
1314 return if_match(req,
"Camellia-192/GCM", {0, 3, 4401, 5, 3, 1, 9, 26});
1316 return if_match(req,
"brainpool224r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 5});
1318 return if_match(req,
"X509v3.CRLIssuingDistributionPoint", {2, 5, 29, 28});
1320 return if_match(req,
"Microsoft UPN", {1, 3, 6, 1, 4, 1, 311, 20, 2, 3});
1322 return if_match(req,
"RSA/PSS", {1, 2, 840, 113549, 1, 1, 10});
1324 return if_match(req,
"PKIX.CodeSigning", {1, 3, 6, 1, 5, 5, 7, 3, 3});
1326 return if_match(req,
"GOST-34.10-2012-256", {1, 2, 643, 7, 1, 1, 1, 1});
1328 return if_match(req,
"Twofish/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 5});
1330 return if_match(req,
"gost_512A", {1, 2, 643, 7, 1, 2, 1, 2, 1});
1332 return if_match(req,
"gost_512B", {1, 2, 643, 7, 1, 2, 1, 2, 2});
1334 return if_match(req,
"X520.StreetAddress", {2, 5, 4, 9});
1336 return if_match(req,
"x962_p239v1", {1, 2, 840, 10045, 3, 1, 4});
1338 return if_match(req,
"x962_p239v2", {1, 2, 840, 10045, 3, 1, 5});
1340 return if_match(req,
"x962_p239v3", {1, 2, 840, 10045, 3, 1, 6});
1342 return if_match(req,
"X509v3.HoldInstructionCode", {2, 5, 29, 23});
1344 return if_match(req,
"AES-256/GCM", {2, 16, 840, 1, 101, 3, 4, 1, 46});
1346 return if_match(req,
"PKIX.OCSP.BasicResponse", {1, 3, 6, 1, 5, 5, 7, 48, 1, 1});
1348 return if_match(req,
"Kyber-1024-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 7, 3});
1350 return if_match(req,
"DSA/SHA-3(224)", {2, 16, 840, 1, 101, 3, 4, 3, 5});
1352 return if_match(req,
"SphincsPlus-haraka-256f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 6});
1354 return if_match(req,
"SHA-1", {1, 3, 14, 3, 2, 26});
1356 return if_match(req,
"PKIX.OCSPSigning", {1, 3, 6, 1, 5, 5, 7, 3, 9});
1358 return if_match(req,
"brainpool256r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 7});
1364std::unordered_map<OID, std::string> OID_Map::load_oid2str_map() {
1366 {OID{2, 5, 8, 1, 1},
"RSA"},
1367 {OID{1, 3, 6, 1, 4, 1, 8301, 3, 1, 2, 9, 0, 38},
"secp521r1"},
1368 {OID{1, 2, 643, 2, 2, 35, 1},
"gost_256A"},
1369 {OID{1, 2, 643, 2, 2, 36, 0},
"gost_256A"},
1373std::unordered_map<std::string, OID> OID_Map::load_str2oid_map() {
1375 {
"Curve25519", OID{1, 3, 101, 110}},
1376 {
"SM2_Sig", OID{1, 2, 156, 10197, 1, 301, 1}},
1377 {
"RSA/EMSA3(MD2)", OID{1, 2, 840, 113549, 1, 1, 2}},
1378 {
"RSA/EMSA3(MD5)", OID{1, 2, 840, 113549, 1, 1, 4}},
1379 {
"RSA/EMSA3(SHA-1)", OID{1, 2, 840, 113549, 1, 1, 5}},
1380 {
"RSA/EMSA3(SHA-256)", OID{1, 2, 840, 113549, 1, 1, 11}},
1381 {
"RSA/EMSA3(SHA-384)", OID{1, 2, 840, 113549, 1, 1, 12}},
1382 {
"RSA/EMSA3(SHA-512)", OID{1, 2, 840, 113549, 1, 1, 13}},
1383 {
"RSA/EMSA3(SHA-224)", OID{1, 2, 840, 113549, 1, 1, 14}},
1384 {
"RSA/EMSA3(SHA-512-256)", OID{1, 2, 840, 113549, 1, 1, 16}},
1385 {
"RSA/EMSA3(SHA-3(224))", OID{2, 16, 840, 1, 101, 3, 4, 3, 13}},
1386 {
"RSA/EMSA3(SHA-3(256))", OID{2, 16, 840, 1, 101, 3, 4, 3, 14}},
1387 {
"RSA/EMSA3(SHA-3(384))", OID{2, 16, 840, 1, 101, 3, 4, 3, 15}},
1388 {
"RSA/EMSA3(SHA-3(512))", OID{2, 16, 840, 1, 101, 3, 4, 3, 16}},
1389 {
"RSA/EMSA3(SM3)", OID{1, 2, 156, 10197, 1, 504}},
1390 {
"RSA/EMSA3(RIPEMD-160)", OID{1, 3, 36, 3, 3, 1, 2}},
1391 {
"RSA/EMSA4", OID{1, 2, 840, 113549, 1, 1, 10}},
1392 {
"PBES2", OID{1, 2, 840, 113549, 1, 5, 13}},