Botan 3.8.1
Crypto and TLS for C&
oid_maps.cpp
Go to the documentation of this file.
1/*
2* OID maps
3*
4* This file was automatically generated by ./src/scripts/dev_tools/gen_oids.py on 2025-04-27
5*
6* All manual edits to this file will be lost. Edit the script
7* then regenerate this source file.
8*
9* Botan is released under the Simplified BSD License (see license.txt)
10*/
11
12#include <botan/internal/oid_map.h>
13#include <unordered_map>
14
15namespace Botan {
16
17namespace {
18
19std::vector<std::pair<const char*, std::vector<uint32_t>>> oid_maps() {
20 // clang-format off
21 return {
22 {"AES-128/CBC", {2, 16, 840, 1, 101, 3, 4, 1, 2}},
23 {"AES-128/CCM", {2, 16, 840, 1, 101, 3, 4, 1, 7}},
24 {"AES-128/GCM", {2, 16, 840, 1, 101, 3, 4, 1, 6}},
25 {"AES-128/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 1}},
26 {"AES-128/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 1}},
27 {"AES-192/CBC", {2, 16, 840, 1, 101, 3, 4, 1, 22}},
28 {"AES-192/CCM", {2, 16, 840, 1, 101, 3, 4, 1, 27}},
29 {"AES-192/GCM", {2, 16, 840, 1, 101, 3, 4, 1, 26}},
30 {"AES-192/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 2}},
31 {"AES-192/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 2}},
32 {"AES-256/CBC", {2, 16, 840, 1, 101, 3, 4, 1, 42}},
33 {"AES-256/CCM", {2, 16, 840, 1, 101, 3, 4, 1, 47}},
34 {"AES-256/GCM", {2, 16, 840, 1, 101, 3, 4, 1, 46}},
35 {"AES-256/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 3}},
36 {"AES-256/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 3}},
37 {"CAST-128/CBC", {1, 2, 840, 113533, 7, 66, 10}},
38 {"Camellia-128/CBC", {1, 2, 392, 200011, 61, 1, 1, 1, 2}},
39 {"Camellia-128/GCM", {0, 3, 4401, 5, 3, 1, 9, 6}},
40 {"Camellia-128/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 6}},
41 {"Camellia-128/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 6}},
42 {"Camellia-192/CBC", {1, 2, 392, 200011, 61, 1, 1, 1, 3}},
43 {"Camellia-192/GCM", {0, 3, 4401, 5, 3, 1, 9, 26}},
44 {"Camellia-192/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 7}},
45 {"Camellia-192/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 7}},
46 {"Camellia-256/CBC", {1, 2, 392, 200011, 61, 1, 1, 1, 4}},
47 {"Camellia-256/GCM", {0, 3, 4401, 5, 3, 1, 9, 46}},
48 {"Camellia-256/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 8}},
49 {"Camellia-256/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 8}},
50 {"Certificate Comment", {2, 16, 840, 1, 113730, 1, 13}},
51 {"ChaCha20Poly1305", {1, 2, 840, 113549, 1, 9, 16, 3, 18}},
52 {"ClassicMcEliece_348864", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 1}},
53 {"ClassicMcEliece_348864f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 2}},
54 {"ClassicMcEliece_460896", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 3}},
55 {"ClassicMcEliece_460896f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 4}},
56 {"ClassicMcEliece_6688128", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 5}},
57 {"ClassicMcEliece_6688128f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 6}},
58 {"ClassicMcEliece_6688128pc", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 1}},
59 {"ClassicMcEliece_6688128pcf", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 2}},
60 {"ClassicMcEliece_6960119", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 7}},
61 {"ClassicMcEliece_6960119f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 8}},
62 {"ClassicMcEliece_6960119pc", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 3}},
63 {"ClassicMcEliece_6960119pcf", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 4}},
64 {"ClassicMcEliece_8192128", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 9}},
65 {"ClassicMcEliece_8192128f", {1, 3, 6, 1, 4, 1, 22554, 5, 1, 10}},
66 {"ClassicMcEliece_8192128pc", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 5}},
67 {"ClassicMcEliece_8192128pcf", {1, 3, 6, 1, 4, 1, 25258, 1, 18, 6}},
68 {"Compression.Zlib", {1, 2, 840, 113549, 1, 9, 16, 3, 8}},
69 {"DES/CBC", {1, 3, 14, 3, 2, 7}},
70 {"DH", {1, 2, 840, 10046, 2, 1}},
71 {"DSA", {1, 2, 840, 10040, 4, 1}},
72 {"DSA/SHA-1", {1, 2, 840, 10040, 4, 3}},
73 {"DSA/SHA-224", {2, 16, 840, 1, 101, 3, 4, 3, 1}},
74 {"DSA/SHA-256", {2, 16, 840, 1, 101, 3, 4, 3, 2}},
75 {"DSA/SHA-3(224)", {2, 16, 840, 1, 101, 3, 4, 3, 5}},
76 {"DSA/SHA-3(256)", {2, 16, 840, 1, 101, 3, 4, 3, 6}},
77 {"DSA/SHA-3(384)", {2, 16, 840, 1, 101, 3, 4, 3, 7}},
78 {"DSA/SHA-3(512)", {2, 16, 840, 1, 101, 3, 4, 3, 8}},
79 {"DSA/SHA-384", {2, 16, 840, 1, 101, 3, 4, 3, 3}},
80 {"DSA/SHA-512", {2, 16, 840, 1, 101, 3, 4, 3, 4}},
81 {"Dilithium-4x4-AES-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 10, 1}},
82 {"Dilithium-4x4-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 9, 1}},
83 {"Dilithium-6x5-AES-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 10, 2}},
84 {"Dilithium-6x5-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 9, 2}},
85 {"Dilithium-8x7-AES-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 10, 3}},
86 {"Dilithium-8x7-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 9, 3}},
87 {"ECDH", {1, 3, 132, 1, 12}},
88 {"ECDSA", {1, 2, 840, 10045, 2, 1}},
89 {"ECDSA/SHA-1", {1, 2, 840, 10045, 4, 1}},
90 {"ECDSA/SHA-224", {1, 2, 840, 10045, 4, 3, 1}},
91 {"ECDSA/SHA-256", {1, 2, 840, 10045, 4, 3, 2}},
92 {"ECDSA/SHA-3(224)", {2, 16, 840, 1, 101, 3, 4, 3, 9}},
93 {"ECDSA/SHA-3(256)", {2, 16, 840, 1, 101, 3, 4, 3, 10}},
94 {"ECDSA/SHA-3(384)", {2, 16, 840, 1, 101, 3, 4, 3, 11}},
95 {"ECDSA/SHA-3(512)", {2, 16, 840, 1, 101, 3, 4, 3, 12}},
96 {"ECDSA/SHA-384", {1, 2, 840, 10045, 4, 3, 3}},
97 {"ECDSA/SHA-512", {1, 2, 840, 10045, 4, 3, 4}},
98 {"ECGDSA", {1, 3, 36, 3, 3, 2, 5, 2, 1}},
99 {"ECGDSA/RIPEMD-160", {1, 3, 36, 3, 3, 2, 5, 4, 1}},
100 {"ECGDSA/SHA-1", {1, 3, 36, 3, 3, 2, 5, 4, 2}},
101 {"ECGDSA/SHA-224", {1, 3, 36, 3, 3, 2, 5, 4, 3}},
102 {"ECGDSA/SHA-256", {1, 3, 36, 3, 3, 2, 5, 4, 4}},
103 {"ECGDSA/SHA-384", {1, 3, 36, 3, 3, 2, 5, 4, 5}},
104 {"ECGDSA/SHA-512", {1, 3, 36, 3, 3, 2, 5, 4, 6}},
105 {"ECKCDSA", {1, 0, 14888, 3, 0, 5}},
106 {"ECKCDSA/SHA-1", {1, 2, 410, 200004, 1, 100, 4, 3}},
107 {"ECKCDSA/SHA-224", {1, 2, 410, 200004, 1, 100, 4, 4}},
108 {"ECKCDSA/SHA-256", {1, 2, 410, 200004, 1, 100, 4, 5}},
109 {"Ed25519", {1, 3, 101, 112}},
110 {"Ed448", {1, 3, 101, 113}},
111 {"ElGamal", {1, 3, 6, 1, 4, 1, 3029, 1, 2, 1}},
112 {"FrodoKEM-1344-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 15, 3}},
113 {"FrodoKEM-1344-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 14, 3}},
114 {"FrodoKEM-640-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 15, 1}},
115 {"FrodoKEM-640-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 14, 1}},
116 {"FrodoKEM-976-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 15, 2}},
117 {"FrodoKEM-976-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 14, 2}},
118 {"GOST-34.10", {1, 2, 643, 2, 2, 19}},
119 {"GOST-34.10-2012-256", {1, 2, 643, 7, 1, 1, 1, 1}},
120 {"GOST-34.10-2012-256/SHA-256", {1, 3, 6, 1, 4, 1, 25258, 1, 6, 1}},
121 {"GOST-34.10-2012-256/Streebog-256", {1, 2, 643, 7, 1, 1, 3, 2}},
122 {"GOST-34.10-2012-512", {1, 2, 643, 7, 1, 1, 1, 2}},
123 {"GOST-34.10-2012-512/Streebog-512", {1, 2, 643, 7, 1, 1, 3, 3}},
124 {"GOST-34.10/GOST-R-34.11-94", {1, 2, 643, 2, 2, 3}},
125 {"GOST.INN", {1, 2, 643, 3, 131, 1, 1}},
126 {"GOST.IssuerSigningTool", {1, 2, 643, 100, 112}},
127 {"GOST.OGRN", {1, 2, 643, 100, 1}},
128 {"GOST.SubjectSigningTool", {1, 2, 643, 100, 111}},
129 {"HMAC(SHA-1)", {1, 2, 840, 113549, 2, 7}},
130 {"HMAC(SHA-224)", {1, 2, 840, 113549, 2, 8}},
131 {"HMAC(SHA-256)", {1, 2, 840, 113549, 2, 9}},
132 {"HMAC(SHA-384)", {1, 2, 840, 113549, 2, 10}},
133 {"HMAC(SHA-512)", {1, 2, 840, 113549, 2, 11}},
134 {"HMAC(SHA-512-256)", {1, 2, 840, 113549, 2, 13}},
135 {"HSS-LMS", {1, 2, 840, 113549, 1, 9, 16, 3, 17}},
136 {"HSS-LMS-Private-Key", {1, 3, 6, 1, 4, 1, 25258, 1, 13}},
137 {"KeyWrap.AES-128", {2, 16, 840, 1, 101, 3, 4, 1, 5}},
138 {"KeyWrap.AES-192", {2, 16, 840, 1, 101, 3, 4, 1, 25}},
139 {"KeyWrap.AES-256", {2, 16, 840, 1, 101, 3, 4, 1, 45}},
140 {"KeyWrap.CAST-128", {1, 2, 840, 113533, 7, 66, 15}},
141 {"KeyWrap.TripleDES", {1, 2, 840, 113549, 1, 9, 16, 3, 6}},
142 {"Kyber-1024-90s-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 11, 3}},
143 {"Kyber-1024-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 7, 3}},
144 {"Kyber-512-90s-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 11, 1}},
145 {"Kyber-512-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 7, 1}},
146 {"Kyber-768-90s-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 11, 2}},
147 {"Kyber-768-r3", {1, 3, 6, 1, 4, 1, 25258, 1, 7, 2}},
148 {"MD5", {1, 2, 840, 113549, 2, 5}},
149 {"MGF1", {1, 2, 840, 113549, 1, 1, 8}},
150 {"ML-DSA-4x4", {2, 16, 840, 1, 101, 3, 4, 3, 17}},
151 {"ML-DSA-6x5", {2, 16, 840, 1, 101, 3, 4, 3, 18}},
152 {"ML-DSA-8x7", {2, 16, 840, 1, 101, 3, 4, 3, 19}},
153 {"ML-KEM-1024", {2, 16, 840, 1, 101, 3, 4, 4, 3}},
154 {"ML-KEM-512", {2, 16, 840, 1, 101, 3, 4, 4, 1}},
155 {"ML-KEM-768", {2, 16, 840, 1, 101, 3, 4, 4, 2}},
156 {"McEliece", {1, 3, 6, 1, 4, 1, 25258, 1, 3}},
157 {"Microsoft SmartcardLogon", {1, 3, 6, 1, 4, 1, 311, 20, 2, 2}},
158 {"Microsoft UPN", {1, 3, 6, 1, 4, 1, 311, 20, 2, 3}},
159 {"OpenPGP.Curve25519", {1, 3, 6, 1, 4, 1, 3029, 1, 5, 1}},
160 {"OpenPGP.Ed25519", {1, 3, 6, 1, 4, 1, 11591, 15, 1}},
161 {"PBE-PKCS5v20", {1, 2, 840, 113549, 1, 5, 13}},
162 {"PKCS5.PBKDF2", {1, 2, 840, 113549, 1, 5, 12}},
163 {"PKCS9.ChallengePassword", {1, 2, 840, 113549, 1, 9, 7}},
164 {"PKCS9.ContentType", {1, 2, 840, 113549, 1, 9, 3}},
165 {"PKCS9.EmailAddress", {1, 2, 840, 113549, 1, 9, 1}},
166 {"PKCS9.ExtensionRequest", {1, 2, 840, 113549, 1, 9, 14}},
167 {"PKCS9.MessageDigest", {1, 2, 840, 113549, 1, 9, 4}},
168 {"PKCS9.UnstructuredName", {1, 2, 840, 113549, 1, 9, 2}},
169 {"PKIX.AuthorityInformationAccess", {1, 3, 6, 1, 5, 5, 7, 1, 1}},
170 {"PKIX.CertificateAuthorityIssuers", {1, 3, 6, 1, 5, 5, 7, 48, 2}},
171 {"PKIX.ClientAuth", {1, 3, 6, 1, 5, 5, 7, 3, 2}},
172 {"PKIX.CodeSigning", {1, 3, 6, 1, 5, 5, 7, 3, 3}},
173 {"PKIX.EmailProtection", {1, 3, 6, 1, 5, 5, 7, 3, 4}},
174 {"PKIX.IPsecEndSystem", {1, 3, 6, 1, 5, 5, 7, 3, 5}},
175 {"PKIX.IPsecTunnel", {1, 3, 6, 1, 5, 5, 7, 3, 6}},
176 {"PKIX.IPsecUser", {1, 3, 6, 1, 5, 5, 7, 3, 7}},
177 {"PKIX.OCSP", {1, 3, 6, 1, 5, 5, 7, 48, 1}},
178 {"PKIX.OCSP.BasicResponse", {1, 3, 6, 1, 5, 5, 7, 48, 1, 1}},
179 {"PKIX.OCSP.NoCheck", {1, 3, 6, 1, 5, 5, 7, 48, 1, 5}},
180 {"PKIX.OCSPSigning", {1, 3, 6, 1, 5, 5, 7, 3, 9}},
181 {"PKIX.ServerAuth", {1, 3, 6, 1, 5, 5, 7, 3, 1}},
182 {"PKIX.TNAuthList", {1, 3, 6, 1, 5, 5, 7, 1, 26}},
183 {"PKIX.TimeStamping", {1, 3, 6, 1, 5, 5, 7, 3, 8}},
184 {"PKIX.XMPPAddr", {1, 3, 6, 1, 5, 5, 7, 8, 5}},
185 {"RIPEMD-160", {1, 3, 36, 3, 2, 1}},
186 {"RSA", {1, 2, 840, 113549, 1, 1, 1}},
187 {"RSA/OAEP", {1, 2, 840, 113549, 1, 1, 7}},
188 {"RSA/PKCS1v15(MD2)", {1, 2, 840, 113549, 1, 1, 2}},
189 {"RSA/PKCS1v15(MD5)", {1, 2, 840, 113549, 1, 1, 4}},
190 {"RSA/PKCS1v15(RIPEMD-160)", {1, 3, 36, 3, 3, 1, 2}},
191 {"RSA/PKCS1v15(SHA-1)", {1, 2, 840, 113549, 1, 1, 5}},
192 {"RSA/PKCS1v15(SHA-224)", {1, 2, 840, 113549, 1, 1, 14}},
193 {"RSA/PKCS1v15(SHA-256)", {1, 2, 840, 113549, 1, 1, 11}},
194 {"RSA/PKCS1v15(SHA-3(224))", {2, 16, 840, 1, 101, 3, 4, 3, 13}},
195 {"RSA/PKCS1v15(SHA-3(256))", {2, 16, 840, 1, 101, 3, 4, 3, 14}},
196 {"RSA/PKCS1v15(SHA-3(384))", {2, 16, 840, 1, 101, 3, 4, 3, 15}},
197 {"RSA/PKCS1v15(SHA-3(512))", {2, 16, 840, 1, 101, 3, 4, 3, 16}},
198 {"RSA/PKCS1v15(SHA-384)", {1, 2, 840, 113549, 1, 1, 12}},
199 {"RSA/PKCS1v15(SHA-512)", {1, 2, 840, 113549, 1, 1, 13}},
200 {"RSA/PKCS1v15(SHA-512-256)", {1, 2, 840, 113549, 1, 1, 16}},
201 {"RSA/PKCS1v15(SM3)", {1, 2, 156, 10197, 1, 504}},
202 {"RSA/PSS", {1, 2, 840, 113549, 1, 1, 10}},
203 {"SEED/CBC", {1, 2, 410, 200004, 1, 4}},
204 {"SHA-1", {1, 3, 14, 3, 2, 26}},
205 {"SHA-224", {2, 16, 840, 1, 101, 3, 4, 2, 4}},
206 {"SHA-256", {2, 16, 840, 1, 101, 3, 4, 2, 1}},
207 {"SHA-3(224)", {2, 16, 840, 1, 101, 3, 4, 2, 7}},
208 {"SHA-3(256)", {2, 16, 840, 1, 101, 3, 4, 2, 8}},
209 {"SHA-3(384)", {2, 16, 840, 1, 101, 3, 4, 2, 9}},
210 {"SHA-3(512)", {2, 16, 840, 1, 101, 3, 4, 2, 10}},
211 {"SHA-384", {2, 16, 840, 1, 101, 3, 4, 2, 2}},
212 {"SHA-512", {2, 16, 840, 1, 101, 3, 4, 2, 3}},
213 {"SHA-512-256", {2, 16, 840, 1, 101, 3, 4, 2, 6}},
214 {"SHAKE-128", {2, 16, 840, 1, 101, 3, 4, 2, 11}},
215 {"SHAKE-256", {2, 16, 840, 1, 101, 3, 4, 2, 12}},
216 {"SLH-DSA-SHA2-128f", {2, 16, 840, 1, 101, 3, 4, 3, 21}},
217 {"SLH-DSA-SHA2-128s", {2, 16, 840, 1, 101, 3, 4, 3, 20}},
218 {"SLH-DSA-SHA2-192f", {2, 16, 840, 1, 101, 3, 4, 3, 23}},
219 {"SLH-DSA-SHA2-192s", {2, 16, 840, 1, 101, 3, 4, 3, 22}},
220 {"SLH-DSA-SHA2-256f", {2, 16, 840, 1, 101, 3, 4, 3, 25}},
221 {"SLH-DSA-SHA2-256s", {2, 16, 840, 1, 101, 3, 4, 3, 24}},
222 {"SLH-DSA-SHAKE-128f", {2, 16, 840, 1, 101, 3, 4, 3, 27}},
223 {"SLH-DSA-SHAKE-128s", {2, 16, 840, 1, 101, 3, 4, 3, 26}},
224 {"SLH-DSA-SHAKE-192f", {2, 16, 840, 1, 101, 3, 4, 3, 29}},
225 {"SLH-DSA-SHAKE-192s", {2, 16, 840, 1, 101, 3, 4, 3, 28}},
226 {"SLH-DSA-SHAKE-256f", {2, 16, 840, 1, 101, 3, 4, 3, 31}},
227 {"SLH-DSA-SHAKE-256s", {2, 16, 840, 1, 101, 3, 4, 3, 30}},
228 {"SM2", {1, 2, 156, 10197, 1, 301, 1}},
229 {"SM2_Enc", {1, 2, 156, 10197, 1, 301, 3}},
230 {"SM2_Kex", {1, 2, 156, 10197, 1, 301, 2}},
231 {"SM2_Sig/SM3", {1, 2, 156, 10197, 1, 501}},
232 {"SM3", {1, 2, 156, 10197, 1, 401}},
233 {"SM4/CBC", {1, 2, 156, 10197, 1, 104, 2}},
234 {"SM4/GCM", {1, 2, 156, 10197, 1, 104, 8}},
235 {"SM4/OCB", {1, 2, 156, 10197, 1, 104, 100}},
236 {"SM4/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 9}},
237 {"Scrypt", {1, 3, 6, 1, 4, 1, 11591, 4, 11}},
238 {"Serpent/CBC", {1, 3, 6, 1, 4, 1, 25258, 3, 1}},
239 {"Serpent/GCM", {1, 3, 6, 1, 4, 1, 25258, 3, 101}},
240 {"Serpent/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 4}},
241 {"Serpent/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 4}},
242 {"SphincsPlus-haraka-128f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 2}},
243 {"SphincsPlus-haraka-128s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 1}},
244 {"SphincsPlus-haraka-192f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 4}},
245 {"SphincsPlus-haraka-192s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 3}},
246 {"SphincsPlus-haraka-256f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 6}},
247 {"SphincsPlus-haraka-256s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 3, 5}},
248 {"SphincsPlus-sha2-128f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 2}},
249 {"SphincsPlus-sha2-128s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 1}},
250 {"SphincsPlus-sha2-192f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 4}},
251 {"SphincsPlus-sha2-192s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 3}},
252 {"SphincsPlus-sha2-256f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 6}},
253 {"SphincsPlus-sha2-256s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 2, 5}},
254 {"SphincsPlus-shake-128f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 2}},
255 {"SphincsPlus-shake-128s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 1}},
256 {"SphincsPlus-shake-192f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 4}},
257 {"SphincsPlus-shake-192s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 3}},
258 {"SphincsPlus-shake-256f-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 6}},
259 {"SphincsPlus-shake-256s-r3.1", {1, 3, 6, 1, 4, 1, 25258, 1, 12, 1, 5}},
260 {"Streebog-256", {1, 2, 643, 7, 1, 1, 2, 2}},
261 {"Streebog-512", {1, 2, 643, 7, 1, 1, 2, 3}},
262 {"Threefish-512/CBC", {1, 3, 6, 1, 4, 1, 25258, 3, 2}},
263 {"TripleDES/CBC", {1, 2, 840, 113549, 3, 7}},
264 {"Twofish/CBC", {1, 3, 6, 1, 4, 1, 25258, 3, 3}},
265 {"Twofish/GCM", {1, 3, 6, 1, 4, 1, 25258, 3, 102}},
266 {"Twofish/OCB", {1, 3, 6, 1, 4, 1, 25258, 3, 2, 5}},
267 {"Twofish/SIV", {1, 3, 6, 1, 4, 1, 25258, 3, 4, 5}},
268 {"X25519", {1, 3, 101, 110}},
269 {"X448", {1, 3, 101, 111}},
270 {"X509v3.AnyPolicy", {2, 5, 29, 32, 0}},
271 {"X509v3.AuthorityKeyIdentifier", {2, 5, 29, 35}},
272 {"X509v3.BasicConstraints", {2, 5, 29, 19}},
273 {"X509v3.CRLDistributionPoints", {2, 5, 29, 31}},
274 {"X509v3.CRLIssuingDistributionPoint", {2, 5, 29, 28}},
275 {"X509v3.CRLNumber", {2, 5, 29, 20}},
276 {"X509v3.CertificatePolicies", {2, 5, 29, 32}},
277 {"X509v3.ExtendedKeyUsage", {2, 5, 29, 37}},
278 {"X509v3.HoldInstructionCode", {2, 5, 29, 23}},
279 {"X509v3.InvalidityDate", {2, 5, 29, 24}},
280 {"X509v3.IssuerAlternativeName", {2, 5, 29, 18}},
281 {"X509v3.KeyUsage", {2, 5, 29, 15}},
282 {"X509v3.NameConstraints", {2, 5, 29, 30}},
283 {"X509v3.PolicyConstraints", {2, 5, 29, 36}},
284 {"X509v3.PrivateKeyUsagePeriod", {2, 5, 29, 16}},
285 {"X509v3.ReasonCode", {2, 5, 29, 21}},
286 {"X509v3.SubjectAlternativeName", {2, 5, 29, 17}},
287 {"X509v3.SubjectKeyIdentifier", {2, 5, 29, 14}},
288 {"X520.CommonName", {2, 5, 4, 3}},
289 {"X520.Country", {2, 5, 4, 6}},
290 {"X520.DNQualifier", {2, 5, 4, 46}},
291 {"X520.GenerationalQualifier", {2, 5, 4, 44}},
292 {"X520.GivenName", {2, 5, 4, 42}},
293 {"X520.Initials", {2, 5, 4, 43}},
294 {"X520.Locality", {2, 5, 4, 7}},
295 {"X520.Organization", {2, 5, 4, 10}},
296 {"X520.OrganizationalUnit", {2, 5, 4, 11}},
297 {"X520.Pseudonym", {2, 5, 4, 65}},
298 {"X520.SerialNumber", {2, 5, 4, 5}},
299 {"X520.State", {2, 5, 4, 8}},
300 {"X520.StreetAddress", {2, 5, 4, 9}},
301 {"X520.Surname", {2, 5, 4, 4}},
302 {"X520.Title", {2, 5, 4, 12}},
303 {"XMSS", {0, 4, 0, 127, 0, 15, 1, 1, 13, 0}},
304 {"XMSS-draft12", {1, 3, 6, 1, 4, 1, 25258, 1, 8}},
305 {"XMSS-draft6", {1, 3, 6, 1, 4, 1, 25258, 1, 5}},
306 {"brainpool160r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 1}},
307 {"brainpool192r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 3}},
308 {"brainpool224r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 5}},
309 {"brainpool256r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 7}},
310 {"brainpool320r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 9}},
311 {"brainpool384r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 11}},
312 {"brainpool512r1", {1, 3, 36, 3, 3, 2, 8, 1, 1, 13}},
313 {"eFrodoKEM-1344-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 17, 3}},
314 {"eFrodoKEM-1344-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 16, 3}},
315 {"eFrodoKEM-640-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 17, 1}},
316 {"eFrodoKEM-640-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 16, 1}},
317 {"eFrodoKEM-976-AES", {1, 3, 6, 1, 4, 1, 25258, 1, 17, 2}},
318 {"eFrodoKEM-976-SHAKE", {1, 3, 6, 1, 4, 1, 25258, 1, 16, 2}},
319 {"frp256v1", {1, 2, 250, 1, 223, 101, 256, 1}},
320 {"gost_256A", {1, 2, 643, 7, 1, 2, 1, 1, 1}},
321 {"gost_256B", {1, 2, 643, 7, 1, 2, 1, 1, 2}},
322 {"gost_512A", {1, 2, 643, 7, 1, 2, 1, 2, 1}},
323 {"gost_512B", {1, 2, 643, 7, 1, 2, 1, 2, 2}},
324 {"numsp256d1", {1, 3, 6, 1, 4, 1, 25258, 4, 1}},
325 {"numsp384d1", {1, 3, 6, 1, 4, 1, 25258, 4, 2}},
326 {"numsp512d1", {1, 3, 6, 1, 4, 1, 25258, 4, 3}},
327 {"secp160k1", {1, 3, 132, 0, 9}},
328 {"secp160r1", {1, 3, 132, 0, 8}},
329 {"secp160r2", {1, 3, 132, 0, 30}},
330 {"secp192k1", {1, 3, 132, 0, 31}},
331 {"secp192r1", {1, 2, 840, 10045, 3, 1, 1}},
332 {"secp224k1", {1, 3, 132, 0, 32}},
333 {"secp224r1", {1, 3, 132, 0, 33}},
334 {"secp256k1", {1, 3, 132, 0, 10}},
335 {"secp256r1", {1, 2, 840, 10045, 3, 1, 7}},
336 {"secp384r1", {1, 3, 132, 0, 34}},
337 {"secp521r1", {1, 3, 132, 0, 35}},
338 {"sm2p256v1", {1, 2, 156, 10197, 1, 301}},
339 {"x962_p192v2", {1, 2, 840, 10045, 3, 1, 2}},
340 {"x962_p192v3", {1, 2, 840, 10045, 3, 1, 3}},
341 {"x962_p239v1", {1, 2, 840, 10045, 3, 1, 4}},
342 {"x962_p239v2", {1, 2, 840, 10045, 3, 1, 5}},
343 {"x962_p239v3", {1, 2, 840, 10045, 3, 1, 6}}
344 };
345 // clang-format on
346}
347
348} // namespace
349
350std::unordered_map<OID, std::string> OID_Map::load_oid2str_map() {
351 std::pair<const char*, std::vector<uint32_t>> dup_oids[] = {
352 // clang-format off
353 {"RSA", {2, 5, 8, 1, 1}},
354 {"secp521r1", {1, 3, 6, 1, 4, 1, 8301, 3, 1, 2, 9, 0, 38}},
355 {"gost_256A", {1, 2, 643, 2, 2, 35, 1}},
356 {"gost_256A", {1, 2, 643, 2, 2, 36, 0}}
357 // clang-format on
358 };
359
360 std::unordered_map<OID, std::string> map;
361
362 for(auto& entry : oid_maps()) {
363 map.insert(std::make_pair(OID(std::move(entry.second)), std::string(entry.first)));
364 }
365
366 for(auto& entry : dup_oids) {
367 map.insert(std::make_pair(OID(std::move(entry.second)), std::string(entry.first)));
368 }
369
370 return map;
371}
372
373std::unordered_map<std::string, OID> OID_Map::load_str2oid_map() {
374 std::pair<const char*, std::vector<uint32_t>> aliases[] = {
375 // clang-format off
376 {"Curve25519", {1, 3, 101, 110}},
377 {"SM2_Sig", {1, 2, 156, 10197, 1, 301, 1}},
378 {"RSA/EMSA3(MD2)", {1, 2, 840, 113549, 1, 1, 2}},
379 {"RSA/EMSA3(MD5)", {1, 2, 840, 113549, 1, 1, 4}},
380 {"RSA/EMSA3(SHA-1)", {1, 2, 840, 113549, 1, 1, 5}},
381 {"RSA/EMSA3(SHA-256)", {1, 2, 840, 113549, 1, 1, 11}},
382 {"RSA/EMSA3(SHA-384)", {1, 2, 840, 113549, 1, 1, 12}},
383 {"RSA/EMSA3(SHA-512)", {1, 2, 840, 113549, 1, 1, 13}},
384 {"RSA/EMSA3(SHA-224)", {1, 2, 840, 113549, 1, 1, 14}},
385 {"RSA/EMSA3(SHA-512-256)", {1, 2, 840, 113549, 1, 1, 16}},
386 {"RSA/EMSA3(SHA-3(224))", {2, 16, 840, 1, 101, 3, 4, 3, 13}},
387 {"RSA/EMSA3(SHA-3(256))", {2, 16, 840, 1, 101, 3, 4, 3, 14}},
388 {"RSA/EMSA3(SHA-3(384))", {2, 16, 840, 1, 101, 3, 4, 3, 15}},
389 {"RSA/EMSA3(SHA-3(512))", {2, 16, 840, 1, 101, 3, 4, 3, 16}},
390 {"RSA/EMSA3(SM3)", {1, 2, 156, 10197, 1, 504}},
391 {"RSA/EMSA3(RIPEMD-160)", {1, 3, 36, 3, 3, 1, 2}},
392 {"RSA/EMSA4", {1, 2, 840, 113549, 1, 1, 10}},
393 {"PBES2", {1, 2, 840, 113549, 1, 5, 13}}
394 // clang-format on
395 };
396
397 std::unordered_map<std::string, OID> map;
398
399 for(auto& entry : oid_maps()) {
400 map.insert(std::make_pair(std::string(entry.first), OID(std::move(entry.second))));
401 }
402
403 for(auto& entry : aliases) {
404 map.insert(std::make_pair(std::string(entry.first), OID(std::move(entry.second))));
405 }
406
407 return map;
408}
409
410} // namespace Botan