• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

randombit / botan / 17401833297

02 Sep 2025 11:17AM UTC coverage: 90.649% (-0.02%) from 90.671%
17401833297

Pull #4996

github

web-flow
Merge 76653987e into a72cc07c6
Pull Request #4996: Add CertificateParametersBuilder as a replacement for X509_Cert_Options

100376 of 110730 relevant lines covered (90.65%)

12338516.61 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

59.7
/src/lib/asn1/static_oids.cpp
1
/*
2
* This file was automatically generated by ./src/scripts/dev_tools/gen_oids.py on 2025-06-04
3
*
4
* All manual edits to this file will be lost. Edit the script then regenerate this source file.
5
*
6
* Botan is released under the Simplified BSD License (see license.txt)
7
*/
8

9
#include <botan/internal/oid_map.h>
10

11
#include <initializer_list>
12
#include <unordered_map>
13

14
namespace Botan {
15

16
namespace {
17

18
// The hash can collide so we must verify the actual value matches before returning
19
std::optional<std::string_view> if_match(const OID& oid, std::initializer_list<uint32_t> val, std::string_view name) {
62,333✔
20
   if(oid.matches(val)) {
62,333✔
21
      return name;
62,333✔
22
   } else {
23
      return {};
×
24
   }
25
}
26

27
std::optional<OID> if_match(std::string_view req, std::string_view actual, std::initializer_list<uint32_t> oid) {
102,619✔
28
   if(req == actual) {
102,619✔
29
      return OID(oid);
102,619✔
30
   } else {
31
      return {};
×
32
   }
33
}
34

35
uint32_t hash_oid_name(std::string_view s) {
102,886✔
36
   uint64_t hash = 0x8188B31879A4879A;
102,886✔
37

38
   for(char c : s) {
1,729,493✔
39
      hash *= 251;
1,626,607✔
40
      hash += c;
1,626,607✔
41
   }
42

43
   return static_cast<uint32_t>(hash % 805289);
102,886✔
44
}
45

46
}  // namespace
47

48
//static
49
std::optional<std::string_view> OID_Map::lookup_static_oid(const OID& oid) {
72,905✔
50
   const uint32_t hc = static_cast<uint32_t>(oid.hash_code() % 858701);
72,905✔
51

52
   switch(hc) {
72,905✔
53
      case 0x01506:
4✔
54
         return if_match(oid, {1, 2, 840, 10045, 4, 3, 1}, "ECDSA/SHA-224");
8✔
55
      case 0x01507:
3,003✔
56
         return if_match(oid, {1, 2, 840, 10045, 4, 3, 2}, "ECDSA/SHA-256");
6,006✔
57
      case 0x01508:
1,831✔
58
         return if_match(oid, {1, 2, 840, 10045, 4, 3, 3}, "ECDSA/SHA-384");
3,662✔
59
      case 0x01509:
53✔
60
         return if_match(oid, {1, 2, 840, 10045, 4, 3, 4}, "ECDSA/SHA-512");
106✔
61
      case 0x04C1E:
32✔
62
         return if_match(oid, {1, 3, 6, 1, 4, 1, 3029, 1, 2, 1}, "ElGamal");
64✔
63
      case 0x04E61:
×
64
         return if_match(oid, {1, 3, 6, 1, 4, 1, 3029, 1, 5, 1}, "OpenPGP.Curve25519");
×
65
      case 0x0779B:
×
66
         return if_match(oid, {1, 2, 840, 113549, 2, 5}, "MD5");
×
67
      case 0x0779D:
×
68
         return if_match(oid, {1, 2, 840, 113549, 2, 7}, "HMAC(SHA-1)");
×
69
      case 0x0779E:
×
70
         return if_match(oid, {1, 2, 840, 113549, 2, 8}, "HMAC(SHA-224)");
×
71
      case 0x0779F:
265✔
72
         return if_match(oid, {1, 2, 840, 113549, 2, 9}, "HMAC(SHA-256)");
530✔
73
      case 0x077A0:
1✔
74
         return if_match(oid, {1, 2, 840, 113549, 2, 10}, "HMAC(SHA-384)");
2✔
75
      case 0x077A1:
×
76
         return if_match(oid, {1, 2, 840, 113549, 2, 11}, "HMAC(SHA-512)");
×
77
      case 0x077A3:
×
78
         return if_match(oid, {1, 2, 840, 113549, 2, 13}, "HMAC(SHA-512-256)");
×
79
      case 0x0785E:
1✔
80
         return if_match(oid, {1, 2, 840, 113549, 3, 7}, "TripleDES/CBC");
2✔
81
      case 0x0C904:
108✔
82
         return if_match(oid, {1, 0, 14888, 3, 0, 5}, "ECKCDSA");
216✔
83
      case 0x11547:
28✔
84
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 1}, "SphincsPlus-shake-128s-r3.1");
56✔
85
      case 0x11548:
29✔
86
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 2}, "SphincsPlus-shake-128f-r3.1");
58✔
87
      case 0x11549:
28✔
88
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 3}, "SphincsPlus-shake-192s-r3.1");
56✔
89
      case 0x1154A:
28✔
90
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 4}, "SphincsPlus-shake-192f-r3.1");
56✔
91
      case 0x1154B:
28✔
92
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 5}, "SphincsPlus-shake-256s-r3.1");
56✔
93
      case 0x1154C:
28✔
94
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 6}, "SphincsPlus-shake-256f-r3.1");
56✔
95
      case 0x11608:
28✔
96
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 1}, "SphincsPlus-sha2-128s-r3.1");
56✔
97
      case 0x11609:
29✔
98
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 2}, "SphincsPlus-sha2-128f-r3.1");
58✔
99
      case 0x1160A:
28✔
100
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 3}, "SphincsPlus-sha2-192s-r3.1");
56✔
101
      case 0x1160B:
28✔
102
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 4}, "SphincsPlus-sha2-192f-r3.1");
56✔
103
      case 0x1160C:
28✔
104
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 5}, "SphincsPlus-sha2-256s-r3.1");
56✔
105
      case 0x1160D:
28✔
106
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 6}, "SphincsPlus-sha2-256f-r3.1");
56✔
107
      case 0x116C9:
×
108
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 1}, "SphincsPlus-haraka-128s-r3.1");
×
109
      case 0x116CA:
×
110
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 2}, "SphincsPlus-haraka-128f-r3.1");
×
111
      case 0x116CB:
×
112
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 3}, "SphincsPlus-haraka-192s-r3.1");
×
113
      case 0x116CC:
×
114
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 4}, "SphincsPlus-haraka-192f-r3.1");
×
115
      case 0x116CD:
×
116
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 5}, "SphincsPlus-haraka-256s-r3.1");
×
117
      case 0x116CE:
×
118
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 6}, "SphincsPlus-haraka-256f-r3.1");
×
119
      case 0x1533B:
×
120
         return if_match(oid, {1, 2, 156, 10197, 1, 104, 2}, "SM4/CBC");
×
121
      case 0x15341:
×
122
         return if_match(oid, {1, 2, 156, 10197, 1, 104, 8}, "SM4/GCM");
×
123
      case 0x1539D:
×
124
         return if_match(oid, {1, 2, 156, 10197, 1, 104, 100}, "SM4/OCB");
×
125
      case 0x187D7:
×
126
         return if_match(oid, {1, 3, 14, 3, 2, 7}, "DES/CBC");
×
127
      case 0x187EA:
57✔
128
         return if_match(oid, {1, 3, 14, 3, 2, 26}, "SHA-1");
114✔
129
      case 0x19933:
6✔
130
         return if_match(oid, {1, 3, 132, 0, 8}, "secp160r1");
12✔
131
      case 0x19934:
6✔
132
         return if_match(oid, {1, 3, 132, 0, 9}, "secp160k1");
12✔
133
      case 0x19935:
6✔
134
         return if_match(oid, {1, 3, 132, 0, 10}, "secp256k1");
12✔
135
      case 0x19949:
23✔
136
         return if_match(oid, {1, 3, 132, 0, 30}, "secp160r2");
46✔
137
      case 0x1994A:
76✔
138
         return if_match(oid, {1, 3, 132, 0, 31}, "secp192k1");
152✔
139
      case 0x1994B:
71✔
140
         return if_match(oid, {1, 3, 132, 0, 32}, "secp224k1");
213✔
141
      case 0x1994C:
126✔
142
         return if_match(oid, {1, 3, 132, 0, 33}, "secp224r1");
252✔
143
      case 0x1994D:
153✔
144
         return if_match(oid, {1, 3, 132, 0, 34}, "secp384r1");
306✔
145
      case 0x1994E:
287✔
146
         return if_match(oid, {1, 3, 132, 0, 35}, "secp521r1");
574✔
147
      case 0x199F8:
262✔
148
         return if_match(oid, {1, 3, 132, 1, 12}, "ECDH");
524✔
149
      case 0x1E7BF:
55✔
150
         return if_match(oid, {1, 2, 156, 10197, 1, 301, 1}, "SM2");
110✔
151
      case 0x1E7C0:
×
152
         return if_match(oid, {1, 2, 156, 10197, 1, 301, 2}, "SM2_Kex");
×
153
      case 0x1E7C1:
×
154
         return if_match(oid, {1, 2, 156, 10197, 1, 301, 3}, "SM2_Enc");
×
155
      case 0x21960:
×
156
         return if_match(oid, {1, 3, 36, 3, 3, 1, 2}, "RSA/PKCS1v15(RIPEMD-160)");
×
157
      case 0x2198A:
×
158
         return if_match(oid, {1, 2, 840, 113533, 7, 66, 10}, "CAST-128/CBC");
×
159
      case 0x2198F:
×
160
         return if_match(oid, {1, 2, 840, 113533, 7, 66, 15}, "KeyWrap.CAST-128");
×
161
      case 0x227C0:
98✔
162
         return if_match(oid, {1, 3, 101, 110}, "X25519");
196✔
163
      case 0x227C1:
14✔
164
         return if_match(oid, {1, 3, 101, 111}, "X448");
28✔
165
      case 0x227C2:
798✔
166
         return if_match(oid, {1, 3, 101, 112}, "Ed25519");
1,596✔
167
      case 0x227C3:
123✔
168
         return if_match(oid, {1, 3, 101, 113}, "Ed448");
246✔
169
      case 0x27565:
4✔
170
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 48, 1, 1}, "PKIX.OCSP.BasicResponse");
8✔
171
      case 0x27569:
×
172
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 48, 1, 5}, "PKIX.OCSP.NoCheck");
×
173
      case 0x29F7C:
×
174
         return if_match(oid, {1, 2, 410, 200004, 1, 100, 4, 3}, "ECKCDSA/SHA-1");
×
175
      case 0x29F7D:
×
176
         return if_match(oid, {1, 2, 410, 200004, 1, 100, 4, 4}, "ECKCDSA/SHA-224");
×
177
      case 0x29F7E:
59✔
178
         return if_match(oid, {1, 2, 410, 200004, 1, 100, 4, 5}, "ECKCDSA/SHA-256");
118✔
179
      case 0x2AC3B:
3✔
180
         return if_match(oid, {2, 5, 29, 32, 0}, "X509v3.AnyPolicy");
6✔
181
      case 0x2B5C9:
11,383✔
182
         return if_match(oid, {1, 2, 840, 10045, 2, 1}, "ECDSA");
22,766✔
183
      case 0x2B74B:
14✔
184
         return if_match(oid, {1, 2, 840, 10045, 4, 1}, "ECDSA/SHA-1");
28✔
185
      case 0x3474A:
73✔
186
         return if_match(oid, {1, 2, 840, 10046, 2, 1}, "DH");
146✔
187
      case 0x38D6D:
10✔
188
         return if_match(oid, {1, 2, 643, 7, 1, 2, 1, 1, 1}, "gost_256A");
20✔
189
      case 0x38D6E:
×
190
         return if_match(oid, {1, 2, 643, 7, 1, 2, 1, 1, 2}, "gost_256B");
×
191
      case 0x38E2E:
2✔
192
         return if_match(oid, {1, 2, 643, 7, 1, 2, 1, 2, 1}, "gost_512A");
4✔
193
      case 0x38E2F:
×
194
         return if_match(oid, {1, 2, 643, 7, 1, 2, 1, 2, 2}, "gost_512B");
×
195
      case 0x38F2C:
×
196
         return if_match(oid, {1, 2, 643, 2, 2, 3}, "GOST-34.10/GOST-R-34.11-94");
×
197
      case 0x38F3C:
×
198
         return if_match(oid, {1, 2, 643, 2, 2, 19}, "GOST-34.10");
×
199
      case 0x3D7B8:
×
200
         return if_match(oid, {0, 3, 4401, 5, 3, 1, 9, 6}, "Camellia-128/GCM");
×
201
      case 0x3D7CC:
×
202
         return if_match(oid, {0, 3, 4401, 5, 3, 1, 9, 26}, "Camellia-192/GCM");
×
203
      case 0x3D7E0:
×
204
         return if_match(oid, {0, 3, 4401, 5, 3, 1, 9, 46}, "Camellia-256/GCM");
×
205
      case 0x3F20F:
×
206
         return if_match(oid, {1, 3, 36, 3, 2, 1}, "RIPEMD-160");
×
207
      case 0x4266E:
86✔
208
         return if_match(oid, {0, 4, 0, 127, 0, 15, 1, 1, 13, 0}, "XMSS");
172✔
209
      case 0x478C4:
×
210
         return if_match(oid, {1, 2, 410, 200004, 1, 4}, "SEED/CBC");
×
211
      case 0x47D98:
4✔
212
         return if_match(oid, {1, 2, 156, 10197, 1, 301}, "sm2p256v1");
8✔
213
      case 0x47DFC:
×
214
         return if_match(oid, {1, 2, 156, 10197, 1, 401}, "SM3");
×
215
      case 0x47E60:
×
216
         return if_match(oid, {1, 2, 156, 10197, 1, 501}, "SM2_Sig/SM3");
×
217
      case 0x47E63:
×
218
         return if_match(oid, {1, 2, 156, 10197, 1, 504}, "RSA/PKCS1v15(SM3)");
×
219
      case 0x52B13:
×
220
         return if_match(oid, {1, 2, 643, 3, 131, 1, 1}, "GOST.INN");
×
221
      case 0x635AE:
2✔
222
         return if_match(oid, {1, 2, 250, 1, 223, 101, 256, 1}, "frp256v1");
4✔
223
      case 0x6EB86:
59✔
224
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 6, 1}, "GOST-34.10-2012-256/SHA-256");
118✔
225
      case 0x6EC47:
188✔
226
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 7, 1}, "Kyber-512-r3");
376✔
227
      case 0x6EC48:
122✔
228
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 7, 2}, "Kyber-768-r3");
244✔
229
      case 0x6EC49:
122✔
230
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 7, 3}, "Kyber-1024-r3");
244✔
231
      case 0x6EDC9:
61✔
232
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 9, 1}, "Dilithium-4x4-r3");
122✔
233
      case 0x6EDCA:
203✔
234
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 9, 2}, "Dilithium-6x5-r3");
406✔
235
      case 0x6EDCB:
59✔
236
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 9, 3}, "Dilithium-8x7-r3");
118✔
237
      case 0x6EE8A:
59✔
238
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 10, 1}, "Dilithium-4x4-AES-r3");
118✔
239
      case 0x6EE8B:
59✔
240
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 10, 2}, "Dilithium-6x5-AES-r3");
118✔
241
      case 0x6EE8C:
100✔
242
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 10, 3}, "Dilithium-8x7-AES-r3");
200✔
243
      case 0x6EF4B:
122✔
244
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 11, 1}, "Kyber-512-90s-r3");
244✔
245
      case 0x6EF4C:
122✔
246
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 11, 2}, "Kyber-768-90s-r3");
244✔
247
      case 0x6EF4D:
122✔
248
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 11, 3}, "Kyber-1024-90s-r3");
244✔
249
      case 0x6F18E:
122✔
250
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 14, 1}, "FrodoKEM-640-SHAKE");
244✔
251
      case 0x6F18F:
122✔
252
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 14, 2}, "FrodoKEM-976-SHAKE");
244✔
253
      case 0x6F190:
100✔
254
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 14, 3}, "FrodoKEM-1344-SHAKE");
200✔
255
      case 0x6F24F:
122✔
256
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 15, 1}, "FrodoKEM-640-AES");
244✔
257
      case 0x6F250:
122✔
258
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 15, 2}, "FrodoKEM-976-AES");
244✔
259
      case 0x6F251:
100✔
260
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 15, 3}, "FrodoKEM-1344-AES");
200✔
261
      case 0x6F310:
122✔
262
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 16, 1}, "eFrodoKEM-640-SHAKE");
244✔
263
      case 0x6F311:
122✔
264
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 16, 2}, "eFrodoKEM-976-SHAKE");
244✔
265
      case 0x6F312:
100✔
266
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 16, 3}, "eFrodoKEM-1344-SHAKE");
200✔
267
      case 0x6F3D1:
122✔
268
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 17, 1}, "eFrodoKEM-640-AES");
244✔
269
      case 0x6F3D2:
122✔
270
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 17, 2}, "eFrodoKEM-976-AES");
244✔
271
      case 0x6F3D3:
100✔
272
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 17, 3}, "eFrodoKEM-1344-AES");
200✔
273
      case 0x6F492:
4✔
274
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 1}, "ClassicMcEliece_6688128pc");
8✔
275
      case 0x6F493:
4✔
276
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 2}, "ClassicMcEliece_6688128pcf");
8✔
277
      case 0x6F494:
4✔
278
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 3}, "ClassicMcEliece_6960119pc");
8✔
279
      case 0x6F495:
26✔
280
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 4}, "ClassicMcEliece_6960119pcf");
52✔
281
      case 0x6F496:
4✔
282
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 5}, "ClassicMcEliece_8192128pc");
8✔
283
      case 0x6F497:
4✔
284
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 18, 6}, "ClassicMcEliece_8192128pcf");
8✔
285
      case 0x6F79D:
×
286
         return if_match(oid, {2, 16, 840, 1, 113730, 1, 13}, "Certificate Comment");
×
287
      case 0x701A0:
109✔
288
         return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 2, 1}, "ECGDSA");
218✔
289
      case 0x70322:
×
290
         return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 1}, "ECGDSA/RIPEMD-160");
×
291
      case 0x70323:
×
292
         return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 2}, "ECGDSA/SHA-1");
×
293
      case 0x70324:
×
294
         return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 3}, "ECGDSA/SHA-224");
×
295
      case 0x70325:
59✔
296
         return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 4}, "ECGDSA/SHA-256");
118✔
297
      case 0x70326:
×
298
         return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 5}, "ECGDSA/SHA-384");
×
299
      case 0x70327:
×
300
         return if_match(oid, {1, 3, 36, 3, 3, 2, 5, 4, 6}, "ECGDSA/SHA-512");
×
301
      case 0x72B21:
90✔
302
         return if_match(oid, {1, 2, 643, 7, 1, 1, 1, 1}, "GOST-34.10-2012-256");
180✔
303
      case 0x72B22:
×
304
         return if_match(oid, {1, 2, 643, 7, 1, 1, 1, 2}, "GOST-34.10-2012-512");
×
305
      case 0x72BE3:
×
306
         return if_match(oid, {1, 2, 643, 7, 1, 1, 2, 2}, "Streebog-256");
×
307
      case 0x72BE4:
×
308
         return if_match(oid, {1, 2, 643, 7, 1, 1, 2, 3}, "Streebog-512");
×
309
      case 0x72CA4:
10✔
310
         return if_match(oid, {1, 2, 643, 7, 1, 1, 3, 2}, "GOST-34.10-2012-256/Streebog-256");
20✔
311
      case 0x72CA5:
×
312
         return if_match(oid, {1, 2, 643, 7, 1, 1, 3, 3}, "GOST-34.10-2012-512/Streebog-512");
×
313
      case 0x7E10F:
237✔
314
         return if_match(oid, {2, 5, 4, 3}, "X520.CommonName");
474✔
315
      case 0x7E110:
2✔
316
         return if_match(oid, {2, 5, 4, 4}, "X520.Surname");
4✔
317
      case 0x7E111:
4✔
318
         return if_match(oid, {2, 5, 4, 5}, "X520.SerialNumber");
8✔
319
      case 0x7E112:
169✔
320
         return if_match(oid, {2, 5, 4, 6}, "X520.Country");
338✔
321
      case 0x7E113:
30✔
322
         return if_match(oid, {2, 5, 4, 7}, "X520.Locality");
60✔
323
      case 0x7E114:
22✔
324
         return if_match(oid, {2, 5, 4, 8}, "X520.State");
44✔
325
      case 0x7E115:
×
326
         return if_match(oid, {2, 5, 4, 9}, "X520.StreetAddress");
×
327
      case 0x7E116:
168✔
328
         return if_match(oid, {2, 5, 4, 10}, "X520.Organization");
336✔
329
      case 0x7E117:
74✔
330
         return if_match(oid, {2, 5, 4, 11}, "X520.OrganizationalUnit");
148✔
331
      case 0x7E118:
3✔
332
         return if_match(oid, {2, 5, 4, 12}, "X520.Title");
6✔
333
      case 0x7E136:
2✔
334
         return if_match(oid, {2, 5, 4, 42}, "X520.GivenName");
4✔
335
      case 0x7E137:
3✔
336
         return if_match(oid, {2, 5, 4, 43}, "X520.Initials");
6✔
337
      case 0x7E138:
2✔
338
         return if_match(oid, {2, 5, 4, 44}, "X520.GenerationalQualifier");
4✔
339
      case 0x7E13A:
4✔
340
         return if_match(oid, {2, 5, 4, 46}, "X520.DNQualifier");
8✔
341
      case 0x7E14D:
3✔
342
         return if_match(oid, {2, 5, 4, 65}, "X520.Pseudonym");
6✔
343
      case 0x7F3F3:
8✔
344
         return if_match(oid, {2, 5, 29, 14}, "X509v3.SubjectKeyIdentifier");
16✔
345
      case 0x7F3F4:
7✔
346
         return if_match(oid, {2, 5, 29, 15}, "X509v3.KeyUsage");
14✔
347
      case 0x7F3F5:
×
348
         return if_match(oid, {2, 5, 29, 16}, "X509v3.PrivateKeyUsagePeriod");
×
349
      case 0x7F3F6:
4✔
350
         return if_match(oid, {2, 5, 29, 17}, "X509v3.SubjectAlternativeName");
8✔
351
      case 0x7F3F7:
2✔
352
         return if_match(oid, {2, 5, 29, 18}, "X509v3.IssuerAlternativeName");
4✔
353
      case 0x7F3F8:
7✔
354
         return if_match(oid, {2, 5, 29, 19}, "X509v3.BasicConstraints");
14✔
355
      case 0x7F3F9:
2✔
356
         return if_match(oid, {2, 5, 29, 20}, "X509v3.CRLNumber");
4✔
357
      case 0x7F3FA:
2✔
358
         return if_match(oid, {2, 5, 29, 21}, "X509v3.ReasonCode");
4✔
359
      case 0x7F3FC:
2✔
360
         return if_match(oid, {2, 5, 29, 23}, "X509v3.HoldInstructionCode");
4✔
361
      case 0x7F3FD:
×
362
         return if_match(oid, {2, 5, 29, 24}, "X509v3.InvalidityDate");
×
363
      case 0x7F401:
17✔
364
         return if_match(oid, {2, 5, 29, 28}, "X509v3.CRLIssuingDistributionPoint");
34✔
365
      case 0x7F403:
12✔
366
         return if_match(oid, {2, 5, 29, 30}, "X509v3.NameConstraints");
24✔
367
      case 0x7F404:
6✔
368
         return if_match(oid, {2, 5, 29, 31}, "X509v3.CRLDistributionPoints");
12✔
369
      case 0x7F405:
6✔
370
         return if_match(oid, {2, 5, 29, 32}, "X509v3.CertificatePolicies");
12✔
371
      case 0x7F408:
5✔
372
         return if_match(oid, {2, 5, 29, 35}, "X509v3.AuthorityKeyIdentifier");
10✔
373
      case 0x7F409:
2✔
374
         return if_match(oid, {2, 5, 29, 36}, "X509v3.PolicyConstraints");
4✔
375
      case 0x7F40A:
4✔
376
         return if_match(oid, {2, 5, 29, 37}, "X509v3.ExtendedKeyUsage");
8✔
377
      case 0x80B84:
×
378
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 1}, "AES-128/OCB");
×
379
      case 0x80B85:
×
380
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 2}, "AES-192/OCB");
×
381
      case 0x80B86:
×
382
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 3}, "AES-256/OCB");
×
383
      case 0x80B87:
×
384
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 4}, "Serpent/OCB");
×
385
      case 0x80B88:
×
386
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 5}, "Twofish/OCB");
×
387
      case 0x80B89:
×
388
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 6}, "Camellia-128/OCB");
×
389
      case 0x80B8A:
×
390
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 7}, "Camellia-192/OCB");
×
391
      case 0x80B8B:
×
392
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2, 8}, "Camellia-256/OCB");
×
393
      case 0x80D06:
2✔
394
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 1}, "AES-128/SIV");
4✔
395
      case 0x80D07:
×
396
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 2}, "AES-192/SIV");
×
397
      case 0x80D08:
×
398
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 3}, "AES-256/SIV");
×
399
      case 0x80D09:
×
400
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 4}, "Serpent/SIV");
×
401
      case 0x80D0A:
×
402
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 5}, "Twofish/SIV");
×
403
      case 0x80D0B:
×
404
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 6}, "Camellia-128/SIV");
×
405
      case 0x80D0C:
×
406
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 7}, "Camellia-192/SIV");
×
407
      case 0x80D0D:
×
408
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 8}, "Camellia-256/SIV");
×
409
      case 0x80D0E:
×
410
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 4, 9}, "SM4/SIV");
×
411
      case 0x84C6A:
×
412
         return if_match(oid, {1, 2, 392, 200011, 61, 1, 1, 1, 2}, "Camellia-128/CBC");
×
413
      case 0x84C6B:
×
414
         return if_match(oid, {1, 2, 392, 200011, 61, 1, 1, 1, 3}, "Camellia-192/CBC");
×
415
      case 0x84C6C:
×
416
         return if_match(oid, {1, 2, 392, 200011, 61, 1, 1, 1, 4}, "Camellia-256/CBC");
×
417
      case 0x88CD3:
3✔
418
         return if_match(oid, {1, 2, 840, 113549, 1, 9, 16, 3, 6}, "KeyWrap.TripleDES");
6✔
419
      case 0x88CD5:
×
420
         return if_match(oid, {1, 2, 840, 113549, 1, 9, 16, 3, 8}, "Compression.Zlib");
×
421
      case 0x88CDE:
67✔
422
         return if_match(oid, {1, 2, 840, 113549, 1, 9, 16, 3, 17}, "HSS-LMS");
134✔
423
      case 0x88CDF:
×
424
         return if_match(oid, {1, 2, 840, 113549, 1, 9, 16, 3, 18}, "ChaCha20Poly1305");
×
425
      case 0x92296:
445✔
426
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 2}, "AES-128/CBC");
890✔
427
      case 0x92299:
×
428
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 5}, "KeyWrap.AES-128");
×
429
      case 0x9229A:
2✔
430
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 6}, "AES-128/GCM");
4✔
431
      case 0x9229B:
×
432
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 7}, "AES-128/CCM");
×
433
      case 0x922AA:
×
434
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 22}, "AES-192/CBC");
×
435
      case 0x922AD:
×
436
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 25}, "KeyWrap.AES-192");
×
437
      case 0x922AE:
×
438
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 26}, "AES-192/GCM");
×
439
      case 0x922AF:
×
440
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 27}, "AES-192/CCM");
×
441
      case 0x922BE:
40✔
442
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 42}, "AES-256/CBC");
80✔
443
      case 0x922C1:
×
444
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 45}, "KeyWrap.AES-256");
×
445
      case 0x922C2:
13✔
446
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 46}, "AES-256/GCM");
26✔
447
      case 0x922C3:
×
448
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 1, 47}, "AES-256/CCM");
×
449
      case 0x92356:
494✔
450
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 1}, "SHA-256");
988✔
451
      case 0x92357:
10✔
452
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 2}, "SHA-384");
20✔
453
      case 0x92358:
10✔
454
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 3}, "SHA-512");
20✔
455
      case 0x92359:
5✔
456
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 4}, "SHA-224");
10✔
457
      case 0x9235B:
×
458
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 6}, "SHA-512-256");
×
459
      case 0x9235C:
×
460
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 7}, "SHA-3(224)");
×
461
      case 0x9235D:
×
462
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 8}, "SHA-3(256)");
×
463
      case 0x9235E:
×
464
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 9}, "SHA-3(384)");
×
465
      case 0x9235F:
×
466
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 10}, "SHA-3(512)");
×
467
      case 0x92360:
×
468
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 11}, "SHAKE-128");
×
469
      case 0x92361:
×
470
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 2, 12}, "SHAKE-256");
×
471
      case 0x92417:
×
472
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 1}, "DSA/SHA-224");
×
473
      case 0x92418:
59✔
474
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 2}, "DSA/SHA-256");
118✔
475
      case 0x92419:
×
476
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 3}, "DSA/SHA-384");
×
477
      case 0x9241A:
×
478
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 4}, "DSA/SHA-512");
×
479
      case 0x9241B:
×
480
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 5}, "DSA/SHA-3(224)");
×
481
      case 0x9241C:
×
482
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 6}, "DSA/SHA-3(256)");
×
483
      case 0x9241D:
×
484
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 7}, "DSA/SHA-3(384)");
×
485
      case 0x9241E:
×
486
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 8}, "DSA/SHA-3(512)");
×
487
      case 0x9241F:
×
488
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 9}, "ECDSA/SHA-3(224)");
×
489
      case 0x92420:
×
490
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 10}, "ECDSA/SHA-3(256)");
×
491
      case 0x92421:
×
492
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 11}, "ECDSA/SHA-3(384)");
×
493
      case 0x92422:
×
494
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 12}, "ECDSA/SHA-3(512)");
×
495
      case 0x92423:
×
496
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 13}, "RSA/PKCS1v15(SHA-3(224))");
×
497
      case 0x92424:
×
498
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 14}, "RSA/PKCS1v15(SHA-3(256))");
×
499
      case 0x92425:
×
500
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 15}, "RSA/PKCS1v15(SHA-3(384))");
×
501
      case 0x92426:
×
502
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 16}, "RSA/PKCS1v15(SHA-3(512))");
×
503
      case 0x92427:
30✔
504
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 17}, "ML-DSA-4x4");
60✔
505
      case 0x92428:
140✔
506
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 18}, "ML-DSA-6x5");
280✔
507
      case 0x92429:
30✔
508
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 19}, "ML-DSA-8x7");
60✔
509
      case 0x9242A:
29✔
510
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 20}, "SLH-DSA-SHA2-128s");
58✔
511
      case 0x9242B:
64✔
512
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 21}, "SLH-DSA-SHA2-128f");
128✔
513
      case 0x9242C:
29✔
514
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 22}, "SLH-DSA-SHA2-192s");
58✔
515
      case 0x9242D:
29✔
516
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 23}, "SLH-DSA-SHA2-192f");
58✔
517
      case 0x9242E:
29✔
518
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 24}, "SLH-DSA-SHA2-256s");
58✔
519
      case 0x9242F:
29✔
520
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 25}, "SLH-DSA-SHA2-256f");
58✔
521
      case 0x92430:
35✔
522
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 26}, "SLH-DSA-SHAKE-128s");
70✔
523
      case 0x92431:
31✔
524
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 27}, "SLH-DSA-SHAKE-128f");
62✔
525
      case 0x92432:
29✔
526
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 28}, "SLH-DSA-SHAKE-192s");
58✔
527
      case 0x92433:
29✔
528
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 29}, "SLH-DSA-SHAKE-192f");
58✔
529
      case 0x92434:
29✔
530
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 30}, "SLH-DSA-SHAKE-256s");
58✔
531
      case 0x92435:
29✔
532
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 3, 31}, "SLH-DSA-SHAKE-256f");
58✔
533
      case 0x924D8:
122✔
534
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 4, 1}, "ML-KEM-512");
244✔
535
      case 0x924D9:
158✔
536
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 4, 2}, "ML-KEM-768");
316✔
537
      case 0x924DA:
122✔
538
         return if_match(oid, {2, 16, 840, 1, 101, 3, 4, 4, 3}, "ML-KEM-1024");
244✔
539
      case 0x9479F:
5✔
540
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 1, 1}, "PKIX.AuthorityInformationAccess");
10✔
541
      case 0x947A5:
×
542
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 1, 7}, "PKIX.IpAddrBlocks");
×
543
      case 0x947A6:
×
544
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 1, 8}, "PKIX.AutonomousSysIds");
×
545
      case 0x947B8:
×
546
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 1, 26}, "PKIX.TNAuthList");
×
547
      case 0x94921:
1✔
548
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 1}, "PKIX.ServerAuth");
2✔
549
      case 0x94922:
1✔
550
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 2}, "PKIX.ClientAuth");
2✔
551
      case 0x94923:
1✔
552
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 3}, "PKIX.CodeSigning");
2✔
553
      case 0x94924:
×
554
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 4}, "PKIX.EmailProtection");
×
555
      case 0x94925:
1✔
556
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 5}, "PKIX.IPsecEndSystem");
2✔
557
      case 0x94926:
×
558
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 6}, "PKIX.IPsecTunnel");
×
559
      case 0x94927:
1✔
560
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 7}, "PKIX.IPsecUser");
2✔
561
      case 0x94928:
1✔
562
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 8}, "PKIX.TimeStamping");
2✔
563
      case 0x94929:
1✔
564
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 3, 9}, "PKIX.OCSPSigning");
2✔
565
      case 0x94CEA:
1✔
566
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 8, 5}, "PKIX.XMPPAddr");
2✔
567
      case 0x954DB:
×
568
         return if_match(oid, {1, 3, 6, 1, 4, 1, 311, 20, 2, 2}, "Microsoft SmartcardLogon");
×
569
      case 0x954DC:
×
570
         return if_match(oid, {1, 3, 6, 1, 4, 1, 311, 20, 2, 3}, "Microsoft UPN");
×
571
      case 0x96B0E:
5✔
572
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 48, 1}, "PKIX.OCSP");
10✔
573
      case 0x96B0F:
4✔
574
         return if_match(oid, {1, 3, 6, 1, 5, 5, 7, 48, 2}, "PKIX.CertificateAuthorityIssuers");
8✔
575
      case 0x9A008:
2✔
576
         return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 1}, "brainpool160r1");
4✔
577
      case 0x9A00A:
2✔
578
         return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 3}, "brainpool192r1");
4✔
579
      case 0x9A00C:
2✔
580
         return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 5}, "brainpool224r1");
4✔
581
      case 0x9A00E:
9✔
582
         return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 7}, "brainpool256r1");
18✔
583
      case 0x9A010:
2✔
584
         return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 9}, "brainpool320r1");
4✔
585
      case 0x9A012:
5✔
586
         return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 11}, "brainpool384r1");
10✔
587
      case 0x9A014:
7✔
588
         return if_match(oid, {1, 3, 36, 3, 3, 2, 8, 1, 1, 13}, "brainpool512r1");
14✔
589
      case 0xA0D61:
9✔
590
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 3}, "McEliece");
18✔
591
      case 0xA0D63:
×
592
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 5}, "XMSS-draft6");
×
593
      case 0xA0D66:
×
594
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 8}, "XMSS-draft12");
×
595
      case 0xA0D6B:
12✔
596
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 1, 13}, "HSS-LMS-Private-Key");
24✔
597
      case 0xA0EE1:
×
598
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 1}, "Serpent/CBC");
×
599
      case 0xA0EE2:
×
600
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 2}, "Threefish-512/CBC");
×
601
      case 0xA0EE3:
×
602
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 3}, "Twofish/CBC");
×
603
      case 0xA0F45:
×
604
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 101}, "Serpent/GCM");
×
605
      case 0xA0F46:
×
606
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 3, 102}, "Twofish/GCM");
×
607
      case 0xA0FA2:
3✔
608
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 4, 1}, "numsp256d1");
6✔
609
      case 0xA0FA3:
×
610
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 4, 2}, "numsp384d1");
×
611
      case 0xA0FA4:
2✔
612
         return if_match(oid, {1, 3, 6, 1, 4, 1, 25258, 4, 3}, "numsp512d1");
4✔
613
      case 0xA244B:
26✔
614
         return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 1}, "ClassicMcEliece_348864");
52✔
615
      case 0xA244C:
4✔
616
         return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 2}, "ClassicMcEliece_348864f");
8✔
617
      case 0xA244D:
4✔
618
         return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 3}, "ClassicMcEliece_460896");
8✔
619
      case 0xA244E:
4✔
620
         return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 4}, "ClassicMcEliece_460896f");
8✔
621
      case 0xA244F:
4✔
622
         return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 5}, "ClassicMcEliece_6688128");
8✔
623
      case 0xA2450:
4✔
624
         return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 6}, "ClassicMcEliece_6688128f");
8✔
625
      case 0xA2451:
4✔
626
         return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 7}, "ClassicMcEliece_6960119");
8✔
627
      case 0xA2452:
4✔
628
         return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 8}, "ClassicMcEliece_6960119f");
8✔
629
      case 0xA2453:
4✔
630
         return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 9}, "ClassicMcEliece_8192128");
8✔
631
      case 0xA2454:
4✔
632
         return if_match(oid, {1, 3, 6, 1, 4, 1, 22554, 5, 1, 10}, "ClassicMcEliece_8192128f");
8✔
633
      case 0xAF989:
17,912✔
634
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 1}, "RSA");
35,824✔
635
      case 0xAF98A:
×
636
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 2}, "RSA/PKCS1v15(MD2)");
×
637
      case 0xAF98C:
75✔
638
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 4}, "RSA/PKCS1v15(MD5)");
150✔
639
      case 0xAF98D:
2,447✔
640
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 5}, "RSA/PKCS1v15(SHA-1)");
4,894✔
641
      case 0xAF98F:
1✔
642
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 7}, "RSA/OAEP");
2✔
643
      case 0xAF990:
534✔
644
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 8}, "MGF1");
1,068✔
645
      case 0xAF992:
908✔
646
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 10}, "RSA/PSS");
1,816✔
647
      case 0xAF993:
11,978✔
648
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 11}, "RSA/PKCS1v15(SHA-256)");
23,956✔
649
      case 0xAF994:
799✔
650
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 12}, "RSA/PKCS1v15(SHA-384)");
1,598✔
651
      case 0xAF995:
247✔
652
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 13}, "RSA/PKCS1v15(SHA-512)");
494✔
653
      case 0xAF996:
×
654
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 14}, "RSA/PKCS1v15(SHA-224)");
×
655
      case 0xAF998:
×
656
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 16}, "RSA/PKCS1v15(SHA-512-256)");
×
657
      case 0xAFC98:
1✔
658
         return if_match(oid, {1, 2, 840, 113549, 1, 5, 12}, "PKCS5.PBKDF2");
2✔
659
      case 0xAFC99:
503✔
660
         return if_match(oid, {1, 2, 840, 113549, 1, 5, 13}, "PBE-PKCS5v20");
1,006✔
661
      case 0xAFF91:
8✔
662
         return if_match(oid, {1, 2, 840, 113549, 1, 9, 1}, "PKCS9.EmailAddress");
16✔
663
      case 0xAFF92:
5✔
664
         return if_match(oid, {1, 2, 840, 113549, 1, 9, 2}, "PKCS9.UnstructuredName");
10✔
665
      case 0xAFF93:
5✔
666
         return if_match(oid, {1, 2, 840, 113549, 1, 9, 3}, "PKCS9.ContentType");
10✔
667
      case 0xAFF94:
5✔
668
         return if_match(oid, {1, 2, 840, 113549, 1, 9, 4}, "PKCS9.MessageDigest");
10✔
669
      case 0xAFF97:
4✔
670
         return if_match(oid, {1, 2, 840, 113549, 1, 9, 7}, "PKCS9.ChallengePassword");
8✔
671
      case 0xAFF9E:
4✔
672
         return if_match(oid, {1, 2, 840, 113549, 1, 9, 14}, "PKCS9.ExtensionRequest");
8✔
673
      case 0xC0226:
×
674
         return if_match(oid, {1, 3, 6, 1, 4, 1, 11591, 4, 11}, "Scrypt");
×
675
      case 0xC0A67:
×
676
         return if_match(oid, {1, 3, 6, 1, 4, 1, 11591, 15, 1}, "OpenPGP.Ed25519");
×
677
      case 0xC4CE5:
1✔
678
         return if_match(oid, {1, 2, 643, 100, 1}, "GOST.OGRN");
2✔
679
      case 0xC4D53:
×
680
         return if_match(oid, {1, 2, 643, 100, 111}, "GOST.SubjectSigningTool");
×
681
      case 0xC4D54:
×
682
         return if_match(oid, {1, 2, 643, 100, 112}, "GOST.IssuerSigningTool");
×
683
      case 0xC9C50:
9✔
684
         return if_match(oid, {1, 2, 840, 10045, 3, 1, 1}, "secp192r1");
18✔
685
      case 0xC9C51:
6✔
686
         return if_match(oid, {1, 2, 840, 10045, 3, 1, 2}, "x962_p192v2");
12✔
687
      case 0xC9C52:
22✔
688
         return if_match(oid, {1, 2, 840, 10045, 3, 1, 3}, "x962_p192v3");
44✔
689
      case 0xC9C53:
6✔
690
         return if_match(oid, {1, 2, 840, 10045, 3, 1, 4}, "x962_p239v1");
12✔
691
      case 0xC9C54:
7✔
692
         return if_match(oid, {1, 2, 840, 10045, 3, 1, 5}, "x962_p239v2");
14✔
693
      case 0xC9C55:
6✔
694
         return if_match(oid, {1, 2, 840, 10045, 3, 1, 6}, "x962_p239v3");
12✔
695
      case 0xC9C56:
317✔
696
         return if_match(oid, {1, 2, 840, 10045, 3, 1, 7}, "secp256r1");
634✔
697
      case 0xCFA13:
864✔
698
         return if_match(oid, {1, 2, 840, 10040, 4, 1}, "DSA");
1,728✔
699
      case 0xCFA15:
43✔
700
         return if_match(oid, {1, 2, 840, 10040, 4, 3}, "DSA/SHA-1");
86✔
701
      default:
10,572✔
702
         return {};
10,572✔
703
   }
704
}
705

706
//static
707
std::optional<OID> OID_Map::lookup_static_oid_name(std::string_view req) {
102,886✔
708
   const uint32_t hc = hash_oid_name(req);
102,886✔
709

710
   switch(hc) {
102,886✔
711
      case 0x00545:
×
712
         return if_match(req, "Twofish/GCM", {1, 3, 6, 1, 4, 1, 25258, 3, 102});
×
713
      case 0x00CF3:
26✔
714
         return if_match(req, "SphincsPlus-sha2-192f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 4});
26✔
715
      case 0x015FE:
68✔
716
         return if_match(req, "FrodoKEM-640-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 14, 1});
68✔
717
      case 0x01F9E:
1✔
718
         return if_match(req, "MD5", {1, 2, 840, 113549, 2, 5});
1✔
719
      case 0x02293:
26✔
720
         return if_match(req, "SphincsPlus-shake-192f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 4});
26✔
721
      case 0x02B93:
×
722
         return if_match(req, "Microsoft SmartcardLogon", {1, 3, 6, 1, 4, 1, 311, 20, 2, 2});
×
723
      case 0x041D5:
13✔
724
         return if_match(req, "secp160k1", {1, 3, 132, 0, 9});
13✔
725
      case 0x044B3:
×
726
         return if_match(req, "Camellia-256/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 8});
×
727
      case 0x048B2:
96✔
728
         return if_match(req, "secp160r1", {1, 3, 132, 0, 8});
96✔
729
      case 0x048B3:
78✔
730
         return if_match(req, "secp160r2", {1, 3, 132, 0, 30});
78✔
731
      case 0x05CDA:
1,714✔
732
         return if_match(req, "X520.Country", {2, 5, 4, 6});
1,714✔
733
      case 0x07783:
279✔
734
         return if_match(req, "PKIX.ServerAuth", {1, 3, 6, 1, 5, 5, 7, 3, 1});
279✔
735
      case 0x086C7:
×
736
         return if_match(req, "numsp384d1", {1, 3, 6, 1, 4, 1, 25258, 4, 2});
×
737
      case 0x08A92:
2,042✔
738
         return if_match(req, "RSA/PKCS1v15(SHA-1)", {1, 2, 840, 113549, 1, 1, 5});
2,042✔
739
      case 0x09EA0:
×
740
         return if_match(req, "DES/CBC", {1, 3, 14, 3, 2, 7});
×
741
      case 0x0B2D6:
×
742
         return if_match(req, "ECDSA/SHA-3(512)", {2, 16, 840, 1, 101, 3, 4, 3, 12});
×
743
      case 0x0BA72:
26✔
744
         return if_match(req, "SphincsPlus-sha2-128s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 1});
26✔
745
      case 0x0BE23:
100✔
746
         return if_match(req, "ECGDSA", {1, 3, 36, 3, 3, 2, 5, 2, 1});
100✔
747
      case 0x0D012:
26✔
748
         return if_match(req, "SphincsPlus-shake-128s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 1});
26✔
749
      case 0x0DCE9:
2✔
750
         return if_match(req, "ClassicMcEliece_8192128f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 10});
2✔
751
      case 0x0E52A:
110✔
752
         return if_match(req, "numsp512d1", {1, 3, 6, 1, 4, 1, 25258, 4, 3});
110✔
753
      case 0x0F9CC:
×
754
         return if_match(req, "PKCS9.UnstructuredName", {1, 2, 840, 113549, 1, 9, 2});
×
755
      case 0x0FF45:
×
756
         return if_match(req, "Camellia-256/GCM", {0, 3, 4401, 5, 3, 1, 9, 46});
×
757
      case 0x1033D:
×
758
         return if_match(req, "DSA/SHA-3(384)", {2, 16, 840, 1, 101, 3, 4, 3, 7});
×
759
      case 0x1139D:
13✔
760
         return if_match(req, "secp192k1", {1, 3, 132, 0, 31});
13✔
761
      case 0x113D6:
×
762
         return if_match(req, "X520.DNQualifier", {2, 5, 4, 46});
×
763
      case 0x11A7A:
466✔
764
         return if_match(req, "secp192r1", {1, 2, 840, 10045, 3, 1, 1});
466✔
765
      case 0x12096:
×
766
         return if_match(req, "SM2_Kex", {1, 2, 156, 10197, 1, 301, 2});
×
767
      case 0x13FC1:
×
768
         return if_match(req, "X520.GenerationalQualifier", {2, 5, 4, 44});
×
769
      case 0x1445B:
802✔
770
         return if_match(req, "PKCS5.PBKDF2", {1, 2, 840, 113549, 1, 5, 12});
802✔
771
      case 0x1495D:
50✔
772
         return if_match(req, "eFrodoKEM-1344-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 17, 3});
50✔
773
      case 0x14E30:
2✔
774
         return if_match(req, "ClassicMcEliece_460896", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 3});
2✔
775
      case 0x14FB1:
×
776
         return if_match(req, "XMSS-draft12", {1, 3, 6, 1, 4, 1, 25258, 1, 8});
×
777
      case 0x156E3:
×
778
         return if_match(req, "Compression.Zlib", {1, 2, 840, 113549, 1, 9, 16, 3, 8});
×
779
      case 0x1579E:
×
780
         return if_match(req, "Streebog-512", {1, 2, 643, 7, 1, 1, 2, 3});
×
781
      case 0x175EF:
68✔
782
         return if_match(req, "Kyber-1024-90s-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 11, 3});
68✔
783
      case 0x17709:
×
784
         return if_match(req, "X520.GivenName", {2, 5, 4, 42});
×
785
      case 0x17AD9:
×
786
         return if_match(req, "RSA/PKCS1v15(SM3)", {1, 2, 156, 10197, 1, 504});
×
787
      case 0x17CE2:
27✔
788
         return if_match(req, "SLH-DSA-SHA2-256f", {2, 16, 840, 1, 101, 3, 4, 3, 25});
27✔
789
      case 0x17CEF:
27✔
790
         return if_match(req, "SLH-DSA-SHA2-256s", {2, 16, 840, 1, 101, 3, 4, 3, 24});
27✔
791
      case 0x18618:
68✔
792
         return if_match(req, "FrodoKEM-976-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 15, 2});
68✔
793
      case 0x19480:
50✔
794
         return if_match(req, "eFrodoKEM-1344-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 16, 3});
50✔
795
      case 0x1958A:
×
796
         return if_match(req, "X509v3.InvalidityDate", {2, 5, 29, 24});
×
797
      case 0x19851:
×
798
         return if_match(req, "DSA/SHA-1", {1, 2, 840, 10040, 4, 3});
×
799
      case 0x1B2E7:
×
800
         return if_match(req, "KeyWrap.AES-128", {2, 16, 840, 1, 101, 3, 4, 1, 5});
×
801
      case 0x1B9BE:
×
802
         return if_match(req, "KeyWrap.AES-192", {2, 16, 840, 1, 101, 3, 4, 1, 25});
×
803
      case 0x1D439:
×
804
         return if_match(req, "SphincsPlus-haraka-192f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 4});
×
805
      case 0x2065B:
×
806
         return if_match(req, "KeyWrap.CAST-128", {1, 2, 840, 113533, 7, 66, 15});
×
807
      case 0x216A0:
68✔
808
         return if_match(req, "ML-KEM-512", {2, 16, 840, 1, 101, 3, 4, 4, 1});
68✔
809
      case 0x2216B:
×
810
         return if_match(req, "GOST-34.10-2012-512", {1, 2, 643, 7, 1, 1, 1, 2});
×
811
      case 0x22C2C:
46✔
812
         return if_match(req, "ElGamal", {1, 3, 6, 1, 4, 1, 3029, 1, 2, 1});
46✔
813
      case 0x2559A:
×
814
         return if_match(req, "X520.Initials", {2, 5, 4, 43});
×
815
      case 0x271AC:
×
816
         return if_match(req, "PKIX.AutonomousSysIds", {1, 3, 6, 1, 5, 5, 7, 1, 8});
×
817
      case 0x281B8:
×
818
         return if_match(req, "SphincsPlus-haraka-128s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 1});
×
819
      case 0x29999:
×
820
         return if_match(req, "DSA/SHA-3(256)", {2, 16, 840, 1, 101, 3, 4, 3, 6});
×
821
      case 0x2A83D:
1✔
822
         return if_match(req, "SHA-224", {2, 16, 840, 1, 101, 3, 4, 2, 4});
1✔
823
      case 0x2AB30:
2,519✔
824
         return if_match(req, "SHA-256", {2, 16, 840, 1, 101, 3, 4, 2, 1});
2,519✔
825
      case 0x2ABEF:
×
826
         return if_match(req, "KeyWrap.AES-256", {2, 16, 840, 1, 101, 3, 4, 1, 45});
×
827
      case 0x2BAEF:
×
828
         return if_match(req, "SM2_Sig/SM3", {1, 2, 156, 10197, 1, 501});
×
829
      case 0x2C39A:
×
830
         return if_match(req, "ECGDSA/RIPEMD-160", {1, 3, 36, 3, 3, 2, 5, 4, 1});
×
831
      case 0x2C54F:
×
832
         return if_match(req, "ECDSA/SHA-3(224)", {2, 16, 840, 1, 101, 3, 4, 3, 9});
×
833
      case 0x2EEA6:
×
834
         return if_match(req, "RSA/PKCS1v15(RIPEMD-160)", {1, 3, 36, 3, 3, 1, 2});
×
835
      case 0x2EFBA:
101✔
836
         return if_match(req, "Kyber-512-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 7, 1});
101✔
837
      case 0x3133E:
73✔
838
         return if_match(req, "SLH-DSA-SHA2-128f", {2, 16, 840, 1, 101, 3, 4, 3, 21});
73✔
839
      case 0x3134B:
27✔
840
         return if_match(req, "SLH-DSA-SHA2-128s", {2, 16, 840, 1, 101, 3, 4, 3, 20});
27✔
841
      case 0x3160D:
×
842
         return if_match(req, "RSA/PKCS1v15(SHA-3(224))", {2, 16, 840, 1, 101, 3, 4, 3, 13});
×
843
      case 0x319E0:
×
844
         return if_match(req, "GOST-34.10-2012-256/Streebog-256", {1, 2, 643, 7, 1, 1, 3, 2});
×
845
      case 0x31B3D:
×
846
         return if_match(req, "HMAC(SHA-512)", {1, 2, 840, 113549, 2, 11});
×
847
      case 0x31C6D:
2,294✔
848
         return if_match(req, "secp384r1", {1, 3, 132, 0, 34});
2,294✔
849
      case 0x32899:
×
850
         return if_match(req, "TripleDES/CBC", {1, 2, 840, 113549, 3, 7});
×
851
      case 0x3615D:
68✔
852
         return if_match(req, "FrodoKEM-976-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 14, 2});
68✔
853
      case 0x361B8:
830✔
854
         return if_match(req, "Ed25519", {1, 3, 101, 112});
830✔
855
      case 0x3649D:
×
856
         return if_match(req, "SHAKE-128", {2, 16, 840, 1, 101, 3, 4, 2, 11});
×
857
      case 0x36693:
20✔
858
         return if_match(req, "ClassicMcEliece_348864", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 1});
20✔
859
      case 0x373C7:
22✔
860
         return if_match(req, "ML-DSA-4x4", {2, 16, 840, 1, 101, 3, 4, 3, 17});
22✔
861
      case 0x3750B:
2✔
862
         return if_match(req, "ClassicMcEliece_8192128", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 9});
2✔
863
      case 0x39890:
176✔
864
         return if_match(req, "Ed448", {1, 3, 101, 113});
176✔
865
      case 0x3A438:
2,502✔
866
         return if_match(req, "SHA-384", {2, 16, 840, 1, 101, 3, 4, 2, 2});
2,502✔
867
      case 0x3A963:
47✔
868
         return if_match(req, "DH", {1, 2, 840, 10046, 2, 1});
47✔
869
      case 0x3AC83:
6,061✔
870
         return if_match(req, "MGF1", {1, 2, 840, 113549, 1, 1, 8});
6,061✔
871
      case 0x3ACBA:
×
872
         return if_match(req, "X509v3.IssuerAlternativeName", {2, 5, 29, 18});
×
873
      case 0x3B273:
1✔
874
         return if_match(req, "KeyWrap.TripleDES", {1, 2, 840, 113549, 1, 9, 16, 3, 6});
1✔
875
      case 0x3B91E:
×
876
         return if_match(req, "X509v3.PrivateKeyUsagePeriod", {2, 5, 29, 16});
×
877
      case 0x3BC8A:
27✔
878
         return if_match(req, "SLH-DSA-SHAKE-192f", {2, 16, 840, 1, 101, 3, 4, 3, 29});
27✔
879
      case 0x3BC97:
27✔
880
         return if_match(req, "SLH-DSA-SHAKE-192s", {2, 16, 840, 1, 101, 3, 4, 3, 28});
27✔
881
      case 0x3D127:
95✔
882
         return if_match(req, "DSA", {1, 2, 840, 10040, 4, 1});
95✔
883
      case 0x3E249:
109✔
884
         return if_match(req, "HSS-LMS", {1, 2, 840, 113549, 1, 9, 16, 3, 17});
109✔
885
      case 0x3E7D5:
×
886
         return if_match(req, "RSA/PKCS1v15(SHA-3(256))", {2, 16, 840, 1, 101, 3, 4, 3, 14});
×
887
      case 0x3F748:
×
888
         return if_match(req, "GOST.OGRN", {1, 2, 643, 100, 1});
×
889
      case 0x3F99F:
1✔
890
         return if_match(req, "X509v3.BasicConstraints", {2, 5, 29, 19});
1✔
891
      case 0x40726:
1✔
892
         return if_match(req, "SHA-3(512)", {2, 16, 840, 1, 101, 3, 4, 2, 10});
1✔
893
      case 0x407BF:
88✔
894
         return if_match(req, "ML-KEM-768", {2, 16, 840, 1, 101, 3, 4, 4, 2});
88✔
895
      case 0x41334:
×
896
         return if_match(req, "ECDSA/SHA-3(384)", {2, 16, 840, 1, 101, 3, 4, 3, 11});
×
897
      case 0x42DF3:
×
898
         return if_match(req, "X509v3.CRLDistributionPoints", {2, 5, 29, 31});
×
899
      case 0x437FB:
13✔
900
         return if_match(req, "brainpool160r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 1});
13✔
901
      case 0x441F5:
25✔
902
         return if_match(req, "gost_256A", {1, 2, 643, 7, 1, 2, 1, 1, 1});
25✔
903
      case 0x441F6:
×
904
         return if_match(req, "gost_256B", {1, 2, 643, 7, 1, 2, 1, 1, 2});
×
905
      case 0x44221:
×
906
         return if_match(req, "GOST-34.10-2012-512/Streebog-512", {1, 2, 643, 7, 1, 1, 3, 3});
×
907
      case 0x44322:
2✔
908
         return if_match(req, "ClassicMcEliece_6960119pc", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 3});
2✔
909
      case 0x44973:
68✔
910
         return if_match(req, "Kyber-512-90s-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 11, 1});
68✔
911
      case 0x45C27:
×
912
         return if_match(req, "RSA/PKCS1v15(SHA-512-256)", {1, 2, 840, 113549, 1, 1, 16});
×
913
      case 0x45C85:
×
914
         return if_match(req, "X509v3.ReasonCode", {2, 5, 29, 21});
×
915
      case 0x45DA5:
×
916
         return if_match(req, "SHAKE-256", {2, 16, 840, 1, 101, 3, 4, 2, 12});
×
917
      case 0x4663C:
×
918
         return if_match(req, "X509v3.PolicyConstraints", {2, 5, 29, 36});
×
919
      case 0x480F7:
×
920
         return if_match(req, "Serpent/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 4});
×
921
      case 0x48627:
53✔
922
         return if_match(req, "Dilithium-4x4-AES-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 10, 1});
53✔
923
      case 0x48861:
×
924
         return if_match(req, "ChaCha20Poly1305", {1, 2, 840, 113549, 1, 9, 16, 3, 18});
×
925
      case 0x4A292:
104✔
926
         return if_match(req, "frp256v1", {1, 2, 250, 1, 223, 101, 256, 1});
104✔
927
      case 0x4A9EE:
2✔
928
         return if_match(req, "ClassicMcEliece_6960119f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 8});
2✔
929
      case 0x4BF87:
×
930
         return if_match(req, "PKIX.TNAuthList", {1, 3, 6, 1, 5, 5, 7, 1, 26});
×
931
      case 0x4C088:
68✔
932
         return if_match(req, "eFrodoKEM-976-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 17, 2});
68✔
933
      case 0x4C513:
×
934
         return if_match(req, "DSA/SHA-224", {2, 16, 840, 1, 101, 3, 4, 3, 1});
×
935
      case 0x4C806:
37✔
936
         return if_match(req, "DSA/SHA-256", {2, 16, 840, 1, 101, 3, 4, 3, 2});
37✔
937
      case 0x4D740:
×
938
         return if_match(req, "X509v3.AnyPolicy", {2, 5, 29, 32, 0});
×
939
      case 0x4DE49:
501✔
940
         return if_match(req, "RSA/PKCS1v15(SHA-512)", {1, 2, 840, 113549, 1, 1, 13});
501✔
941
      case 0x4ED5D:
×
942
         return if_match(req, "CAST-128/CBC", {1, 2, 840, 113533, 7, 66, 10});
×
943
      case 0x4FCDC:
1,063✔
944
         return if_match(req, "RSA", {1, 2, 840, 113549, 1, 1, 1});
1,063✔
945
      case 0x501CB:
×
946
         return if_match(req, "ECDSA/SHA-224", {1, 2, 840, 10045, 4, 3, 1});
×
947
      case 0x50395:
×
948
         return if_match(req, "GOST-34.10/GOST-R-34.11-94", {1, 2, 643, 2, 2, 3});
×
949
      case 0x504BE:
4,182✔
950
         return if_match(req, "ECDSA/SHA-256", {1, 2, 840, 10045, 4, 3, 2});
4,182✔
951
      case 0x509C3:
78✔
952
         return if_match(req, "brainpool192r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 3});
78✔
953
      case 0x509F9:
×
954
         return if_match(req, "PKCS9.ContentType", {1, 2, 840, 113549, 1, 9, 3});
×
955
      case 0x50B26:
68✔
956
         return if_match(req, "FrodoKEM-640-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 15, 1});
68✔
957
      case 0x50D78:
13✔
958
         return if_match(req, "x962_p192v2", {1, 2, 840, 10045, 3, 1, 2});
13✔
959
      case 0x50D79:
13✔
960
         return if_match(req, "x962_p192v3", {1, 2, 840, 10045, 3, 1, 3});
13✔
961
      case 0x51DC6:
×
962
         return if_match(req, "AES-128/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 1});
×
963
      case 0x52DB6:
×
964
         return if_match(req, "HMAC(SHA-224)", {1, 2, 840, 113549, 2, 8});
×
965
      case 0x53E11:
50✔
966
         return if_match(req, "FrodoKEM-1344-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 14, 3});
50✔
967
      case 0x54012:
×
968
         return if_match(req, "PKIX.TimeStamping", {1, 3, 6, 1, 5, 5, 7, 3, 8});
×
969
      case 0x5407A:
×
970
         return if_match(req, "Serpent/CBC", {1, 3, 6, 1, 4, 1, 25258, 3, 1});
×
971
      case 0x5576D:
29✔
972
         return if_match(req, "SphincsPlus-sha2-128f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 2});
29✔
973
      case 0x55EF6:
×
974
         return if_match(req, "AES-192/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 2});
×
975
      case 0x55FFA:
119✔
976
         return if_match(req, "ML-DSA-6x5", {2, 16, 840, 1, 101, 3, 4, 3, 18});
119✔
977
      case 0x56826:
486✔
978
         return if_match(req, "brainpool320r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 9});
486✔
979
      case 0x56D0D:
29✔
980
         return if_match(req, "SphincsPlus-shake-128f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 2});
29✔
981
      case 0x57077:
×
982
         return if_match(req, "XMSS-draft6", {1, 3, 6, 1, 4, 1, 25258, 1, 5});
×
983
      case 0x5818B:
×
984
         return if_match(req, "ECGDSA/SHA-224", {1, 3, 36, 3, 3, 2, 5, 4, 3});
×
985
      case 0x5847E:
37✔
986
         return if_match(req, "ECGDSA/SHA-256", {1, 3, 36, 3, 3, 2, 5, 4, 4});
37✔
987
      case 0x5898B:
510✔
988
         return if_match(req, "SHA-512", {2, 16, 840, 1, 101, 3, 4, 2, 3});
510✔
989
      case 0x58991:
1✔
990
         return if_match(req, "PKIX.OCSP.NoCheck", {1, 3, 6, 1, 5, 5, 7, 48, 1, 5});
1✔
991
      case 0x59717:
1✔
992
         return if_match(req, "X509v3.SubjectKeyIdentifier", {2, 5, 29, 14});
1✔
993
      case 0x5A570:
2,144✔
994
         return if_match(req, "X520.CommonName", {2, 5, 4, 3});
2,144✔
995
      case 0x5A990:
×
996
         return if_match(req, "ECDSA/SHA-3(256)", {2, 16, 840, 1, 101, 3, 4, 3, 10});
×
997
      case 0x5AB0E:
26✔
998
         return if_match(req, "SphincsPlus-sha2-256s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 5});
26✔
999
      case 0x5AC4A:
×
1000
         return if_match(req, "X520.Surname", {2, 5, 4, 4});
×
1001
      case 0x5AF2C:
2✔
1002
         return if_match(req, "ClassicMcEliece_8192128pc", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 5});
2✔
1003
      case 0x5BC39:
1,487✔
1004
         return if_match(req, "X509v3.KeyUsage", {2, 5, 29, 15});
1,487✔
1005
      case 0x5BDDB:
×
1006
         return if_match(req, "numsp256d1", {1, 3, 6, 1, 4, 1, 25258, 4, 1});
×
1007
      case 0x5C0AE:
26✔
1008
         return if_match(req, "SphincsPlus-shake-256s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 5});
26✔
1009
      case 0x5C10E:
×
1010
         return if_match(req, "DSA/SHA-384", {2, 16, 840, 1, 101, 3, 4, 3, 3});
×
1011
      case 0x5D1CF:
×
1012
         return if_match(req, "X520.SerialNumber", {2, 5, 4, 5});
×
1013
      case 0x5D375:
×
1014
         return if_match(req, "SM4/OCB", {1, 2, 156, 10197, 1, 104, 100});
×
1015
      case 0x5DD49:
445✔
1016
         return if_match(req, "AES-128/CBC", {2, 16, 840, 1, 101, 3, 4, 1, 2});
445✔
1017
      case 0x5DE4E:
×
1018
         return if_match(req, "AES-128/CCM", {2, 16, 840, 1, 101, 3, 4, 1, 7});
×
1019
      case 0x5DF23:
×
1020
         return if_match(req, "HMAC(SHA-512-256)", {1, 2, 840, 113549, 2, 13});
×
1021
      case 0x5ED04:
75✔
1022
         return if_match(req, "SM2", {1, 2, 156, 10197, 1, 301, 1});
75✔
1023
      case 0x5ED05:
1✔
1024
         return if_match(req, "SM3", {1, 2, 156, 10197, 1, 401});
1✔
1025
      case 0x5FDC6:
2,490✔
1026
         return if_match(req, "ECDSA/SHA-384", {1, 2, 840, 10045, 4, 3, 3});
2,490✔
1027
      case 0x6199F:
1✔
1028
         return if_match(req, "SHA-3(224)", {2, 16, 840, 1, 101, 3, 4, 2, 7});
1✔
1029
      case 0x61E79:
×
1030
         return if_match(req, "AES-192/CBC", {2, 16, 840, 1, 101, 3, 4, 1, 22});
×
1031
      case 0x61F7E:
×
1032
         return if_match(req, "AES-192/CCM", {2, 16, 840, 1, 101, 3, 4, 1, 27});
×
1033
      case 0x64947:
×
1034
         return if_match(req, "OpenPGP.Ed25519", {1, 3, 6, 1, 4, 1, 11591, 15, 1});
×
1035
      case 0x652E7:
220✔
1036
         return if_match(req, "sm2p256v1", {1, 2, 156, 10197, 1, 301});
220✔
1037
      case 0x6697B:
50✔
1038
         return if_match(req, "FrodoKEM-1344-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 15, 3});
50✔
1039
      case 0x67B2C:
×
1040
         return if_match(req, "X520.State", {2, 5, 4, 8});
×
1041
      case 0x67B9B:
×
1042
         return if_match(req, "HMAC(SHA-384)", {1, 2, 840, 113549, 2, 10});
×
1043
      case 0x67D86:
×
1044
         return if_match(req, "ECGDSA/SHA-384", {1, 3, 36, 3, 3, 2, 5, 4, 5});
×
1045
      case 0x68A0B:
×
1046
         return if_match(req, "Camellia-128/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 6});
×
1047
      case 0x68E33:
3,150✔
1048
         return if_match(req, "PKCS9.ExtensionRequest", {1, 2, 840, 113549, 1, 9, 14});
3,150✔
1049
      case 0x69126:
20,519✔
1050
         return if_match(req, "X509v3.SubjectAlternativeName", {2, 5, 29, 17});
20,519✔
1051
      case 0x692F8:
×
1052
         return if_match(req, "SM4/CBC", {1, 2, 156, 10197, 1, 104, 2});
×
1053
      case 0x695E1:
54✔
1054
         return if_match(req, "Dilithium-4x4-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 9, 1});
54✔
1055
      case 0x696DC:
×
1056
         return if_match(req, "PKIX.IpAddrBlocks", {1, 3, 6, 1, 5, 5, 7, 1, 7});
×
1057
      case 0x6A7CA:
2,315✔
1058
         return if_match(req, "ECDSA", {1, 2, 840, 10045, 2, 1});
2,315✔
1059
      case 0x6BD26:
×
1060
         return if_match(req, "GOST.INN", {1, 2, 643, 3, 131, 1, 1});
×
1061
      case 0x6CB3B:
×
1062
         return if_match(req, "Camellia-192/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 7});
×
1063
      case 0x6E602:
53✔
1064
         return if_match(req, "Dilithium-8x7-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 9, 3});
53✔
1065
      case 0x6F0C2:
×
1066
         return if_match(req, "RSA/PKCS1v15(SHA-224)", {1, 2, 840, 113549, 1, 1, 14});
×
1067
      case 0x6FB26:
×
1068
         return if_match(req, "PKIX.AuthorityInformationAccess", {1, 3, 6, 1, 5, 5, 7, 1, 1});
×
1069
      case 0x70BB6:
708✔
1070
         return if_match(req, "brainpool384r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 11});
708✔
1071
      case 0x71EB3:
×
1072
         return if_match(req, "SphincsPlus-haraka-128f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 2});
×
1073
      case 0x7382C:
68✔
1074
         return if_match(req, "ML-KEM-1024", {2, 16, 840, 1, 101, 3, 4, 4, 3});
68✔
1075
      case 0x743BD:
×
1076
         return if_match(req, "AES-256/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 3});
×
1077
      case 0x7498E:
×
1078
         return if_match(req, "Camellia-128/CBC", {1, 2, 392, 200011, 61, 1, 1, 1, 2});
×
1079
      case 0x74C2E:
22✔
1080
         return if_match(req, "ML-DSA-8x7", {2, 16, 840, 1, 101, 3, 4, 3, 19});
22✔
1081
      case 0x7505F:
×
1082
         return if_match(req, "PKIX.XMPPAddr", {1, 3, 6, 1, 5, 5, 7, 8, 5});
×
1083
      case 0x7517A:
×
1084
         return if_match(req, "RSA/PKCS1v15(MD2)", {1, 2, 840, 113549, 1, 1, 2});
×
1085
      case 0x7546B:
×
1086
         return if_match(req, "RSA/PKCS1v15(MD5)", {1, 2, 840, 113549, 1, 1, 4});
×
1087
      case 0x75921:
2✔
1088
         return if_match(req, "ClassicMcEliece_348864f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 2});
2✔
1089
      case 0x76784:
1✔
1090
         return if_match(req, "SHA-3(384)", {2, 16, 840, 1, 101, 3, 4, 2, 9});
1✔
1091
      case 0x76A19:
690✔
1092
         return if_match(req, "brainpool512r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 13});
690✔
1093
      case 0x77254:
×
1094
         return if_match(req, "SphincsPlus-haraka-256s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 5});
×
1095
      case 0x77ADC:
80✔
1096
         return if_match(req, "secp224k1", {1, 3, 132, 0, 32});
80✔
1097
      case 0x781B9:
2,837✔
1098
         return if_match(req, "secp224r1", {1, 3, 132, 0, 33});
2,837✔
1099
      case 0x78ABE:
×
1100
         return if_match(req, "Camellia-192/CBC", {1, 2, 392, 200011, 61, 1, 1, 1, 3});
×
1101
      case 0x792F2:
2✔
1102
         return if_match(req, "ClassicMcEliece_6688128pc", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 1});
2✔
1103
      case 0x7A661:
×
1104
         return if_match(req, "DSA/SHA-512", {2, 16, 840, 1, 101, 3, 4, 3, 4});
×
1105
      case 0x7A977:
1,568✔
1106
         return if_match(req, "X509v3.ExtendedKeyUsage", {2, 5, 29, 37});
1,568✔
1107
      case 0x7AE67:
×
1108
         return if_match(req, "SM2_Enc", {1, 2, 156, 10197, 1, 301, 3});
×
1109
      case 0x7B602:
×
1110
         return if_match(req, "Twofish/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 5});
×
1111
      case 0x7B9A1:
26✔
1112
         return if_match(req, "SphincsPlus-sha2-192s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 3});
26✔
1113
      case 0x7BB0A:
27✔
1114
         return if_match(req, "SLH-DSA-SHAKE-256f", {2, 16, 840, 1, 101, 3, 4, 3, 31});
27✔
1115
      case 0x7BB17:
27✔
1116
         return if_match(req, "SLH-DSA-SHAKE-256s", {2, 16, 840, 1, 101, 3, 4, 3, 30});
27✔
1117
      case 0x7BCF3:
24✔
1118
         return if_match(req, "PKIX.EmailProtection", {1, 3, 6, 1, 5, 5, 7, 3, 4});
24✔
1119
      case 0x7CC2C:
1✔
1120
         return if_match(req, "SHA-512-256", {2, 16, 840, 1, 101, 3, 4, 2, 6});
1✔
1121
      case 0x7CF41:
26✔
1122
         return if_match(req, "SphincsPlus-shake-192s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 3});
26✔
1123
      case 0x7DB91:
×
1124
         return if_match(req, "GOST-34.10", {1, 2, 643, 2, 2, 19});
×
1125
      case 0x7E319:
495✔
1126
         return if_match(req, "ECDSA/SHA-512", {1, 2, 840, 10045, 4, 3, 4});
495✔
1127
      case 0x7E874:
2✔
1128
         return if_match(req, "ClassicMcEliece_6688128f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 6});
2✔
1129
      case 0x7EAAF:
68✔
1130
         return if_match(req, "eFrodoKEM-640-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 16, 1});
68✔
1131
      case 0x7F51F:
×
1132
         return if_match(req, "PKIX.IPsecTunnel", {1, 3, 6, 1, 5, 5, 7, 3, 6});
×
1133
      case 0x80272:
1,713✔
1134
         return if_match(req, "X520.Organization", {2, 5, 4, 10});
1,713✔
1135
      case 0x80340:
77✔
1136
         return if_match(req, "AES-256/CBC", {2, 16, 840, 1, 101, 3, 4, 1, 42});
77✔
1137
      case 0x80445:
×
1138
         return if_match(req, "AES-256/CCM", {2, 16, 840, 1, 101, 3, 4, 1, 47});
×
1139
      case 0x811F7:
301✔
1140
         return if_match(req, "HMAC(SHA-256)", {1, 2, 840, 113549, 2, 9});
301✔
1141
      case 0x82B47:
×
1142
         return if_match(req, "Threefish-512/CBC", {1, 3, 6, 1, 4, 1, 25258, 3, 2});
×
1143
      case 0x83EA7:
2,499✔
1144
         return if_match(req, "RSA/PKCS1v15(SHA-384)", {1, 2, 840, 113549, 1, 1, 12});
2,499✔
1145
      case 0x84596:
68✔
1146
         return if_match(req, "eFrodoKEM-640-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 17, 1});
68✔
1147
      case 0x8469F:
20✔
1148
         return if_match(req, "ClassicMcEliece_6960119pcf", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 4});
20✔
1149
      case 0x84CA4:
2,253✔
1150
         return if_match(req, "secp256k1", {1, 3, 132, 0, 10});
2,253✔
1151
      case 0x85381:
2,721✔
1152
         return if_match(req, "secp256r1", {1, 2, 840, 10045, 3, 1, 7});
2,721✔
1153
      case 0x854FC:
×
1154
         return if_match(req, "PKIX.IPsecUser", {1, 3, 6, 1, 5, 5, 7, 3, 7});
×
1155
      case 0x85F51:
×
1156
         return if_match(req, "Serpent/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 4});
×
1157
      case 0x862D9:
×
1158
         return if_match(req, "ECGDSA/SHA-512", {1, 3, 36, 3, 3, 2, 5, 4, 6});
×
1159
      case 0x87585:
×
1160
         return if_match(req, "Twofish/CBC", {1, 3, 6, 1, 4, 1, 25258, 3, 3});
×
1161
      case 0x877D1:
1,599✔
1162
         return if_match(req, "PKCS9.EmailAddress", {1, 2, 840, 113549, 1, 9, 1});
1,599✔
1163
      case 0x87D27:
1,207✔
1164
         return if_match(req, "PKIX.CertificateAuthorityIssuers", {1, 3, 6, 1, 5, 5, 7, 48, 2});
1,207✔
1165
      case 0x87E42:
×
1166
         return if_match(req, "X509v3.AuthorityKeyIdentifier", {2, 5, 29, 35});
×
1167
      case 0x889B1:
2,047✔
1168
         return if_match(req, "ECDSA/SHA-1", {1, 2, 840, 10045, 4, 1});
2,047✔
1169
      case 0x89658:
538✔
1170
         return if_match(req, "PBE-PKCS5v20", {1, 2, 840, 113549, 1, 5, 13});
538✔
1171
      case 0x8976D:
×
1172
         return if_match(req, "PKCS9.MessageDigest", {1, 2, 840, 113549, 1, 9, 4});
×
1173
      case 0x8B002:
×
1174
         return if_match(req, "Camellia-256/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 8});
×
1175
      case 0x8B935:
2✔
1176
         return if_match(req, "ClassicMcEliece_6688128", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 5});
2✔
1177
      case 0x8CE3D:
1,614✔
1178
         return if_match(req, "PKCS9.ChallengePassword", {1, 2, 840, 113549, 1, 9, 7});
1,614✔
1179
      case 0x8D45C:
99✔
1180
         return if_match(req, "ECKCDSA", {1, 0, 14888, 3, 0, 5});
99✔
1181
      case 0x8E0C1:
×
1182
         return if_match(req, "X509v3.CertificatePolicies", {2, 5, 29, 32});
×
1183
      case 0x8E39A:
13✔
1184
         return if_match(req, "HSS-LMS-Private-Key", {1, 3, 6, 1, 4, 1, 25258, 1, 13});
13✔
1185
      case 0x8EC51:
68✔
1186
         return if_match(req, "Kyber-768-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 7, 2});
68✔
1187
      case 0x8F94A:
178✔
1188
         return if_match(req, "Dilithium-6x5-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 9, 2});
178✔
1189
      case 0x8FC20:
2✔
1190
         return if_match(req, "AES-128/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 1});
2✔
1191
      case 0x8FDE0:
1✔
1192
         return if_match(req, "SHA-3(256)", {2, 16, 840, 1, 101, 3, 4, 2, 8});
1✔
1193
      case 0x919E3:
×
1194
         return if_match(req, "Serpent/GCM", {1, 3, 6, 1, 4, 1, 25258, 3, 101});
×
1195
      case 0x91C1A:
80✔
1196
         return if_match(req, "X25519", {1, 3, 101, 110});
80✔
1197
      case 0x91DC4:
13✔
1198
         return if_match(req, "McEliece", {1, 3, 6, 1, 4, 1, 25258, 1, 3});
13✔
1199
      case 0x93467:
53✔
1200
         return if_match(req, "Dilithium-6x5-AES-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 10, 2});
53✔
1201
      case 0x93D50:
×
1202
         return if_match(req, "AES-192/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 2});
×
1203
      case 0x95166:
31✔
1204
         return if_match(req, "SLH-DSA-SHAKE-128f", {2, 16, 840, 1, 101, 3, 4, 3, 27});
31✔
1205
      case 0x95173:
31✔
1206
         return if_match(req, "SLH-DSA-SHAKE-128s", {2, 16, 840, 1, 101, 3, 4, 3, 26});
31✔
1207
      case 0x952D6:
1,207✔
1208
         return if_match(req, "PKIX.OCSP", {1, 3, 6, 1, 5, 5, 7, 48, 1});
1,207✔
1209
      case 0x959B9:
×
1210
         return if_match(req, "PKIX.IPsecEndSystem", {1, 3, 6, 1, 5, 5, 7, 3, 5});
×
1211
      case 0x96F85:
×
1212
         return if_match(req, "Camellia-256/CBC", {1, 2, 392, 200011, 61, 1, 1, 1, 4});
×
1213
      case 0x97D5E:
264✔
1214
         return if_match(req, "HMAC(SHA-1)", {1, 2, 840, 113549, 2, 7});
264✔
1215
      case 0x9805C:
×
1216
         return if_match(req, "SEED/CBC", {1, 2, 410, 200004, 1, 4});
×
1217
      case 0x980E7:
×
1218
         return if_match(req, "SphincsPlus-haraka-192s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 3});
×
1219
      case 0x980F5:
×
1220
         return if_match(req, "GOST.SubjectSigningTool", {1, 2, 643, 100, 111});
×
1221
      case 0x98B03:
90✔
1222
         return if_match(req, "XMSS", {0, 4, 0, 127, 0, 15, 1, 1, 13, 0});
90✔
1223
      case 0x9A6B2:
×
1224
         return if_match(req, "ECKCDSA/SHA-1", {1, 2, 410, 200004, 1, 100, 4, 3});
×
1225
      case 0x9B1CF:
×
1226
         return if_match(req, "SM4/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 9});
×
1227
      case 0x9B6B2:
2✔
1228
         return if_match(req, "AES-128/GCM", {2, 16, 840, 1, 101, 3, 4, 1, 6});
2✔
1229
      case 0x9B6BB:
294✔
1230
         return if_match(req, "X520.OrganizationalUnit", {2, 5, 4, 11});
294✔
1231
      case 0x9B851:
×
1232
         return if_match(req, "OpenPGP.Curve25519", {1, 3, 6, 1, 4, 1, 3029, 1, 5, 1});
×
1233
      case 0x9C80B:
27✔
1234
         return if_match(req, "SLH-DSA-SHA2-192f", {2, 16, 840, 1, 101, 3, 4, 3, 23});
27✔
1235
      case 0x9C818:
27✔
1236
         return if_match(req, "SLH-DSA-SHA2-192s", {2, 16, 840, 1, 101, 3, 4, 3, 22});
27✔
1237
      case 0x9CD2B:
474✔
1238
         return if_match(req, "Scrypt", {1, 3, 6, 1, 4, 1, 11591, 4, 11});
474✔
1239
      case 0x9CDE1:
37✔
1240
         return if_match(req, "GOST-34.10-2012-256/SHA-256", {1, 3, 6, 1, 4, 1, 25258, 1, 6, 1});
37✔
1241
      case 0x9CF73:
2✔
1242
         return if_match(req, "ClassicMcEliece_460896f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 4});
2✔
1243
      case 0x9D354:
1✔
1244
         return if_match(req, "RIPEMD-160", {1, 3, 36, 3, 2, 1});
1✔
1245
      case 0x9D503:
4,542✔
1246
         return if_match(req, "RSA/PKCS1v15(SHA-256)", {1, 2, 840, 113549, 1, 1, 11});
4,542✔
1247
      case 0x9EC88:
×
1248
         return if_match(req, "DSA/SHA-3(512)", {2, 16, 840, 1, 101, 3, 4, 3, 8});
×
1249
      case 0x9EF36:
2✔
1250
         return if_match(req, "ClassicMcEliece_6960119", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 7});
2✔
1251
      case 0x9F764:
20✔
1252
         return if_match(req, "X448", {1, 3, 101, 111});
20✔
1253
      case 0x9F7E2:
×
1254
         return if_match(req, "AES-192/GCM", {2, 16, 840, 1, 101, 3, 4, 1, 26});
×
1255
      case 0x9F9C5:
2✔
1256
         return if_match(req, "ClassicMcEliece_6688128pcf", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 2});
2✔
1257
      case 0xA2B5B:
×
1258
         return if_match(req, "X509v3.CRLNumber", {2, 5, 29, 20});
×
1259
      case 0xA3005:
×
1260
         return if_match(req, "X520.Title", {2, 5, 4, 12});
×
1261
      case 0xA323F:
54✔
1262
         return if_match(req, "X509v3.NameConstraints", {2, 5, 29, 30});
54✔
1263
      case 0xA3C55:
×
1264
         return if_match(req, "X520.Pseudonym", {2, 5, 4, 65});
×
1265
      case 0xA4809:
26✔
1266
         return if_match(req, "SphincsPlus-sha2-256f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 6});
26✔
1267
      case 0xA57AF:
1,350✔
1268
         return if_match(req, "secp521r1", {1, 3, 132, 0, 35});
1,350✔
1269
      case 0xA5DA9:
26✔
1270
         return if_match(req, "SphincsPlus-shake-256f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 6});
26✔
1271
      case 0xA6865:
×
1272
         return if_match(req, "Camellia-128/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 6});
×
1273
      case 0xA6C61:
×
1274
         return if_match(req, "SM4/GCM", {1, 2, 156, 10197, 1, 104, 8});
×
1275
      case 0xA9061:
68✔
1276
         return if_match(req, "Kyber-768-90s-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 11, 2});
68✔
1277
      case 0xAA995:
×
1278
         return if_match(req, "Camellia-192/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 7});
×
1279
      case 0xAAE2B:
76✔
1280
         return if_match(req, "Dilithium-8x7-AES-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 10, 3});
76✔
1281
      case 0xABCED:
×
1282
         return if_match(req, "GOST.IssuerSigningTool", {1, 2, 643, 100, 112});
×
1283
      case 0xABD24:
3✔
1284
         return if_match(req, "RSA/OAEP", {1, 2, 840, 113549, 1, 1, 7});
3✔
1285
      case 0xAC2EC:
×
1286
         return if_match(req, "Streebog-256", {1, 2, 643, 7, 1, 1, 2, 2});
×
1287
      case 0xAC3DD:
×
1288
         return if_match(req, "Certificate Comment", {2, 16, 840, 1, 113730, 1, 13});
×
1289
      case 0xAE6FE:
133✔
1290
         return if_match(req, "PKIX.ClientAuth", {1, 3, 6, 1, 5, 5, 7, 3, 2});
133✔
1291
      case 0xAE8D3:
2✔
1292
         return if_match(req, "ClassicMcEliece_8192128pcf", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 6});
2✔
1293
      case 0xAF476:
201✔
1294
         return if_match(req, "ECDH", {1, 3, 132, 1, 12});
201✔
1295
      case 0xAFA6A:
×
1296
         return if_match(req, "RSA/PKCS1v15(SHA-3(384))", {2, 16, 840, 1, 101, 3, 4, 3, 15});
×
1297
      case 0xB2217:
×
1298
         return if_match(req, "AES-256/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 3});
×
1299
      case 0xB22F7:
×
1300
         return if_match(req, "Camellia-128/GCM", {0, 3, 4401, 5, 3, 1, 9, 6});
×
1301
      case 0xB23DE:
2✔
1302
         return if_match(req, "X520.Locality", {2, 5, 4, 7});
2✔
1303
      case 0xB2FBD:
×
1304
         return if_match(req, "ECKCDSA/SHA-224", {1, 2, 410, 200004, 1, 100, 4, 4});
×
1305
      case 0xB32B0:
37✔
1306
         return if_match(req, "ECKCDSA/SHA-256", {1, 2, 410, 200004, 1, 100, 4, 5});
37✔
1307
      case 0xB360E:
68✔
1308
         return if_match(req, "eFrodoKEM-976-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 16, 2});
68✔
1309
      case 0xB4368:
×
1310
         return if_match(req, "ECGDSA/SHA-1", {1, 3, 36, 3, 3, 2, 5, 4, 2});
×
1311
      case 0xB58CD:
×
1312
         return if_match(req, "RSA/PKCS1v15(SHA-3(512))", {2, 16, 840, 1, 101, 3, 4, 3, 16});
×
1313
      case 0xB6427:
×
1314
         return if_match(req, "Camellia-192/GCM", {0, 3, 4401, 5, 3, 1, 9, 26});
×
1315
      case 0xB7102:
538✔
1316
         return if_match(req, "brainpool224r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 5});
538✔
1317
      case 0xB710D:
×
1318
         return if_match(req, "X509v3.CRLIssuingDistributionPoint", {2, 5, 29, 28});
×
1319
      case 0xB72D4:
×
1320
         return if_match(req, "Microsoft UPN", {1, 3, 6, 1, 4, 1, 311, 20, 2, 3});
×
1321
      case 0xB73A5:
5,527✔
1322
         return if_match(req, "RSA/PSS", {1, 2, 840, 113549, 1, 1, 10});
5,527✔
1323
      case 0xB84B3:
×
1324
         return if_match(req, "PKIX.CodeSigning", {1, 3, 6, 1, 5, 5, 7, 3, 3});
×
1325
      case 0xB8CB9:
69✔
1326
         return if_match(req, "GOST-34.10-2012-256", {1, 2, 643, 7, 1, 1, 1, 1});
69✔
1327
      case 0xB945C:
×
1328
         return if_match(req, "Twofish/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 5});
×
1329
      case 0xB94E4:
13✔
1330
         return if_match(req, "gost_512A", {1, 2, 643, 7, 1, 2, 1, 2, 1});
13✔
1331
      case 0xB94E5:
×
1332
         return if_match(req, "gost_512B", {1, 2, 643, 7, 1, 2, 1, 2, 2});
×
1333
      case 0xBA1D8:
×
1334
         return if_match(req, "X520.StreetAddress", {2, 5, 4, 9});
×
1335
      case 0xBCC82:
15✔
1336
         return if_match(req, "x962_p239v1", {1, 2, 840, 10045, 3, 1, 4});
15✔
1337
      case 0xBCC83:
13✔
1338
         return if_match(req, "x962_p239v2", {1, 2, 840, 10045, 3, 1, 5});
13✔
1339
      case 0xBCC84:
13✔
1340
         return if_match(req, "x962_p239v3", {1, 2, 840, 10045, 3, 1, 6});
13✔
1341
      case 0xBD92B:
×
1342
         return if_match(req, "X509v3.HoldInstructionCode", {2, 5, 29, 23});
×
1343
      case 0xBDCA9:
13✔
1344
         return if_match(req, "AES-256/GCM", {2, 16, 840, 1, 101, 3, 4, 1, 46});
13✔
1345
      case 0xBE48D:
×
1346
         return if_match(req, "PKIX.OCSP.BasicResponse", {1, 3, 6, 1, 5, 5, 7, 48, 1, 1});
×
1347
      case 0xBF71E:
68✔
1348
         return if_match(req, "Kyber-1024-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 7, 3});
68✔
1349
      case 0xBFF01:
×
1350
         return if_match(req, "DSA/SHA-3(224)", {2, 16, 840, 1, 101, 3, 4, 3, 5});
×
1351
      case 0xC0F4F:
×
1352
         return if_match(req, "SphincsPlus-haraka-256f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 6});
×
1353
      case 0xC1875:
539✔
1354
         return if_match(req, "SHA-1", {1, 3, 14, 3, 2, 26});
539✔
1355
      case 0xC28D1:
148✔
1356
         return if_match(req, "PKIX.OCSPSigning", {1, 3, 6, 1, 5, 5, 7, 3, 9});
148✔
1357
      case 0xC42CA:
728✔
1358
         return if_match(req, "brainpool256r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 7});
728✔
1359
      default:
267✔
1360
         return {};
267✔
1361
   }
1362
}
1363

1364
std::unordered_map<OID, std::string> OID_Map::load_oid2str_map() {
2,238✔
1365
   return {
2,238✔
1366
      {OID{2, 5, 8, 1, 1}, "RSA"},
2,238✔
1367
      {OID{1, 3, 6, 1, 4, 1, 8301, 3, 1, 2, 9, 0, 38}, "secp521r1"},
4,476✔
1368
      {OID{1, 2, 643, 2, 2, 35, 1}, "gost_256A"},
4,476✔
1369
      {OID{1, 2, 643, 2, 2, 36, 0}, "gost_256A"},
4,476✔
1370
   };
15,666✔
1371
}
8,952✔
1372

1373
std::unordered_map<std::string, OID> OID_Map::load_str2oid_map() {
2,238✔
1374
   return {
2,238✔
1375
      {"Curve25519", OID{1, 3, 101, 110}},
2,238✔
1376
      {"SM2_Sig", OID{1, 2, 156, 10197, 1, 301, 1}},
2,238✔
1377
      {"RSA/EMSA3(MD2)", OID{1, 2, 840, 113549, 1, 1, 2}},
2,238✔
1378
      {"RSA/EMSA3(MD5)", OID{1, 2, 840, 113549, 1, 1, 4}},
2,238✔
1379
      {"RSA/EMSA3(SHA-1)", OID{1, 2, 840, 113549, 1, 1, 5}},
2,238✔
1380
      {"RSA/EMSA3(SHA-256)", OID{1, 2, 840, 113549, 1, 1, 11}},
2,238✔
1381
      {"RSA/EMSA3(SHA-384)", OID{1, 2, 840, 113549, 1, 1, 12}},
2,238✔
1382
      {"RSA/EMSA3(SHA-512)", OID{1, 2, 840, 113549, 1, 1, 13}},
2,238✔
1383
      {"RSA/EMSA3(SHA-224)", OID{1, 2, 840, 113549, 1, 1, 14}},
2,238✔
1384
      {"RSA/EMSA3(SHA-512-256)", OID{1, 2, 840, 113549, 1, 1, 16}},
2,238✔
1385
      {"RSA/EMSA3(SHA-3(224))", OID{2, 16, 840, 1, 101, 3, 4, 3, 13}},
2,238✔
1386
      {"RSA/EMSA3(SHA-3(256))", OID{2, 16, 840, 1, 101, 3, 4, 3, 14}},
2,238✔
1387
      {"RSA/EMSA3(SHA-3(384))", OID{2, 16, 840, 1, 101, 3, 4, 3, 15}},
2,238✔
1388
      {"RSA/EMSA3(SHA-3(512))", OID{2, 16, 840, 1, 101, 3, 4, 3, 16}},
2,238✔
1389
      {"RSA/EMSA3(SM3)", OID{1, 2, 156, 10197, 1, 504}},
2,238✔
1390
      {"RSA/EMSA3(RIPEMD-160)", OID{1, 3, 36, 3, 3, 1, 2}},
2,238✔
1391
      {"RSA/EMSA4", OID{1, 2, 840, 113549, 1, 1, 10}},
2,238✔
1392
      {"PBES2", OID{1, 2, 840, 113549, 1, 5, 13}},
2,238✔
1393
   };
44,760✔
1394
}
40,284✔
1395

1396
}  // namespace Botan
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc