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

randombit / botan / 25202427239

30 Apr 2026 02:35PM UTC coverage: 89.379% (+0.02%) from 89.359%
25202427239

push

github

web-flow
Merge pull request #5552 from falko-strenzke/falko/point-not-on-curve-test

Add test that ECDH rejects points not on the curve

107166 of 119901 relevant lines covered (89.38%)

11327707.57 hits per line

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

54.31
/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) {
55,321✔
19
   if(oid.matches(val)) {
55,321✔
20
      return name;
55,321✔
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) {
105,506✔
27
   if(req == actual) {
105,506✔
28
      return OID(oid);
105,506✔
29
   } else {
30
      return {};
×
31
   }
32
}
33

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

37
   for(const char c : s) {
1,832,383✔
38
      hash *= 251;
1,726,586✔
39
      hash += c;
1,726,586✔
40
   }
41

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

45
}  // namespace
46

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

51
   switch(hc) {
62,812✔
52
      case 0x01506:
2✔
53
         return if_match(oid, {1, 2, 840, 10045, 4, 3, 1}, "ECDSA/SHA-224");
4✔
54
      case 0x01507:
4,294✔
55
         return if_match(oid, {1, 2, 840, 10045, 4, 3, 2}, "ECDSA/SHA-256");
8,588✔
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:
57✔
127
         return if_match(oid, {1, 3, 14, 3, 2, 26}, "SHA-1");
114✔
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:
5✔
139
         return if_match(oid, {1, 3, 132, 0, 32}, "secp224k1");
10✔
140
      case 0x1994C:
10✔
141
         return if_match(oid, {1, 3, 132, 0, 33}, "secp224r1");
20✔
142
      case 0x1994D:
97✔
143
         return if_match(oid, {1, 3, 132, 0, 34}, "secp384r1");
194✔
144
      case 0x1994E:
79✔
145
         return if_match(oid, {1, 3, 132, 0, 35}, "secp521r1");
158✔
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:
798✔
165
         return if_match(oid, {1, 3, 101, 112}, "Ed25519");
1,596✔
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,608✔
183
         return if_match(oid, {1, 2, 840, 10045, 2, 1}, "ECDSA");
17,216✔
184
      case 0x2B74B:
1✔
185
         return if_match(oid, {1, 2, 840, 10045, 4, 1}, "ECDSA/SHA-1");
2✔
186
      case 0x3474A:
43✔
187
         return if_match(oid, {1, 2, 840, 10046, 2, 1}, "DH");
86✔
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,180✔
657
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 1}, "RSA");
28,360✔
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,991✔
671
         return if_match(oid, {1, 2, 840, 113549, 1, 1, 11}, "RSA/PKCS1v15(SHA-256)");
29,982✔
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:
12✔
719
         return if_match(oid, {1, 2, 840, 10045, 3, 1, 3}, "x962_p192v3");
24✔
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:
363✔
727
         return if_match(oid, {1, 2, 840, 10045, 3, 1, 7}, "secp256r1");
726✔
728
      case 0xCFA13:
360✔
729
         return if_match(oid, {1, 2, 840, 10040, 4, 1}, "DSA");
720✔
730
      case 0xCFA15:
×
731
         return if_match(oid, {1, 2, 840, 10040, 4, 3}, "DSA/SHA-1");
×
732
      default:
7,491✔
733
         return {};
7,491✔
734
   }
735
}
736

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

741
   switch(hc) {
105,797✔
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,241✔
765
         return if_match(req, "PKIX.ServerAuth", {1, 3, 6, 1, 5, 5, 7, 3, 1});
1,241✔
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:
115✔
815
         return if_match(req, "X509v3.AnyExtendedKeyUsage", {2, 5, 29, 37, 0});
115✔
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,888✔
861
         return if_match(req, "SHA-256", {2, 16, 840, 1, 101, 3, 4, 2, 1});
1,888✔
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,306✔
889
         return if_match(req, "secp384r1", {1, 3, 132, 0, 34});
2,306✔
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,888✔
909
         return if_match(req, "SHA-384", {2, 16, 840, 1, 101, 3, 4, 2, 2});
1,888✔
910
      case 0x3A963:
47✔
911
         return if_match(req, "DH", {1, 2, 840, 10046, 2, 1});
47✔
912
      case 0x3AC83:
4,506✔
913
         return if_match(req, "MGF1", {1, 2, 840, 113549, 1, 1, 8});
4,506✔
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:
1✔
933
         return if_match(req, "X509v3.BasicConstraints", {2, 5, 29, 19});
1✔
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:
339✔
983
         return if_match(req, "RSA/PKCS1v15(SHA-512)", {1, 2, 840, 113549, 1, 1, 13});
339✔
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,524✔
993
         return if_match(req, "ECDSA/SHA-256", {1, 2, 840, 10045, 4, 3, 2});
3,524✔
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:
348✔
1031
         return if_match(req, "SHA-512", {2, 16, 840, 1, 101, 3, 4, 2, 3});
348✔
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,240✔
1039
         return if_match(req, "X520.CommonName", {2, 5, 4, 3});
2,240✔
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:
1,481✔
1049
         return if_match(req, "X509v3.KeyUsage", {2, 5, 29, 15});
1,481✔
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,880✔
1073
         return if_match(req, "ECDSA/SHA-384", {1, 2, 840, 10045, 4, 3, 3});
1,880✔
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,626✔
1097
         return if_match(req, "X509v3.SubjectAlternativeName", {2, 5, 29, 17});
20,626✔
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:
1,561✔
1159
         return if_match(req, "X509v3.ExtendedKeyUsage", {2, 5, 29, 37});
1,561✔
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:
336✔
1179
         return if_match(req, "ECDSA/SHA-512", {1, 2, 840, 10045, 4, 3, 4});
336✔
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,884✔
1199
         return if_match(req, "RSA/PKCS1v15(SHA-384)", {1, 2, 840, 113549, 1, 1, 12});
1,884✔
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,927✔
1207
         return if_match(req, "secp256r1", {1, 2, 840, 10045, 3, 1, 7});
2,927✔
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:
708✔
1219
         return if_match(req, "PKIX.CertificateAuthorityIssuers", {1, 3, 6, 1, 5, 5, 7, 48, 2});
708✔
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:
709✔
1263
         return if_match(req, "PKIX.OCSP", {1, 3, 6, 1, 5, 5, 7, 48, 1});
709✔
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,478✔
1301
         return if_match(req, "RSA/PKCS1v15(SHA-256)", {1, 2, 840, 113549, 1, 1, 11});
3,478✔
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:
124✔
1319
         return if_match(req, "X509v3.NameConstraints", {2, 5, 29, 30});
124✔
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:
254✔
1351
         return if_match(req, "PKIX.ClientAuth", {1, 3, 6, 1, 5, 5, 7, 3, 2});
254✔
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,120✔
1383
         return if_match(req, "RSA/PSS", {1, 2, 840, 113549, 1, 1, 10});
4,120✔
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:
90✔
1419
         return if_match(req, "PKIX.OCSPSigning", {1, 3, 6, 1, 5, 5, 7, 3, 9});
90✔
1420
      case 0xC42CA:
736✔
1421
         return if_match(req, "brainpool256r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 7});
736✔
1422
      default:
291✔
1423
         return {};
291✔
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