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

randombit / botan / 25457312714

06 May 2026 07:43PM UTC coverage: 89.331% (-2.3%) from 91.667%
25457312714

push

github

randombit
In TLS 1.3 verification of client certs, check the correct extension for OCSP

This was checking if the client asked us (the server) for OCSP, instead of
checking if we asked the client for OCSP when we sent the CertificateRequest.

107574 of 120422 relevant lines covered (89.33%)

11482758.98 hits per line

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

54.17
/src/lib/asn1/static_oids.cpp
1
/*
2
* This file was automatically generated by ./src/scripts/dev_tools/gen_oids.py on 2026-04-24
3
* All manual changes will be lost. Edit the script instead.
4
*
5
* Botan is released under the Simplified BSD License (see license.txt)
6
*/
7

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

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

13
namespace Botan {
14

15
namespace {
16

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

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

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

37
   for(const char c : s) {
1,762,325✔
38
      hash *= 251;
1,659,847✔
39
      hash += c;
1,659,847✔
40
   }
41

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

45
}  // namespace
46

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

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

737
//static
738
std::optional<OID> OID_Map::lookup_static_oid_name(std::string_view req) {
102,478✔
739
   const uint32_t hc = hash_oid_name(req);
102,478✔
740

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

1427
std::unordered_map<OID, std::string> OID_Map::load_oid2str_map() {
2,458✔
1428
   return {
2,458✔
1429
      {OID{2, 5, 8, 1, 1}, "RSA"},
2,458✔
1430
      {OID{1, 3, 6, 1, 4, 1, 8301, 3, 1, 2, 9, 0, 38}, "secp521r1"},
4,916✔
1431
      {OID{1, 2, 643, 2, 2, 35, 1}, "gost_256A"},
4,916✔
1432
      {OID{1, 2, 643, 2, 2, 36, 0}, "gost_256A"},
4,916✔
1433
   };
17,206✔
1434
}
9,832✔
1435

1436
std::unordered_map<std::string, OID> OID_Map::load_str2oid_map() {
2,458✔
1437
   return {
2,458✔
1438
      {"Curve25519", OID{1, 3, 101, 110}},
2,458✔
1439
      {"SM2_Sig", OID{1, 2, 156, 10197, 1, 301, 1}},
2,458✔
1440
      {"RSA/EMSA3(MD2)", OID{1, 2, 840, 113549, 1, 1, 2}},
2,458✔
1441
      {"RSA/EMSA3(MD5)", OID{1, 2, 840, 113549, 1, 1, 4}},
2,458✔
1442
      {"RSA/EMSA3(SHA-1)", OID{1, 2, 840, 113549, 1, 1, 5}},
2,458✔
1443
      {"RSA/EMSA3(SHA-256)", OID{1, 2, 840, 113549, 1, 1, 11}},
2,458✔
1444
      {"RSA/EMSA3(SHA-384)", OID{1, 2, 840, 113549, 1, 1, 12}},
2,458✔
1445
      {"RSA/EMSA3(SHA-512)", OID{1, 2, 840, 113549, 1, 1, 13}},
2,458✔
1446
      {"RSA/EMSA3(SHA-224)", OID{1, 2, 840, 113549, 1, 1, 14}},
2,458✔
1447
      {"RSA/EMSA3(SHA-512-256)", OID{1, 2, 840, 113549, 1, 1, 16}},
2,458✔
1448
      {"RSA/EMSA3(SHA-3(224))", OID{2, 16, 840, 1, 101, 3, 4, 3, 13}},
2,458✔
1449
      {"RSA/EMSA3(SHA-3(256))", OID{2, 16, 840, 1, 101, 3, 4, 3, 14}},
2,458✔
1450
      {"RSA/EMSA3(SHA-3(384))", OID{2, 16, 840, 1, 101, 3, 4, 3, 15}},
2,458✔
1451
      {"RSA/EMSA3(SHA-3(512))", OID{2, 16, 840, 1, 101, 3, 4, 3, 16}},
2,458✔
1452
      {"RSA/EMSA3(SM3)", OID{1, 2, 156, 10197, 1, 504}},
2,458✔
1453
      {"RSA/EMSA3(RIPEMD-160)", OID{1, 3, 36, 3, 3, 1, 2}},
2,458✔
1454
      {"RSA/EMSA4", OID{1, 2, 840, 113549, 1, 1, 10}},
2,458✔
1455
      {"PBES2", OID{1, 2, 840, 113549, 1, 5, 13}},
2,458✔
1456
   };
49,160✔
1457
}
44,244✔
1458

1459
}  // 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