52 #include <openssl/objects.h>
53 #include <openssl/obj_mac.h>
64 const char *EAC_OBJ_nid2ln(
int n);
65 const char *EAC_OBJ_nid2sn(
int n);
66 int EAC_OBJ_obj2nid(
const ASN1_OBJECT *o);
67 int EAC_OBJ_txt2nid(
const char *s);
68 int EAC_OBJ_ln2nid(
const char *s);
69 int EAC_OBJ_sn2nid(
const char *s);
71 #ifdef NID_id_PACE_ECDH_GM_AES_CBC_CMAC_128
72 #define HAVE_PATCHED_OPENSSL 1
78 #define OBJ_bsi_de 0L,4L,0L,127L,0L,7L
80 #define SN_standardizedDomainParameters "standardizedDomainParameters"
81 extern int NID_standardizedDomainParameters;
82 #define OBJ_standardizedDomainParameters OBJ_bsi_de,1L,2L
84 #define OBJ_id_PK OBJ_bsi_de,2L,2L,1L
86 #define SN_id_PK_DH "id-PK-DH"
87 extern int NID_id_PK_DH;
88 #define OBJ_id_PK_DH OBJ_id_PK,1L
90 #define SN_id_PK_ECDH "id-PK-ECDH"
91 extern int NID_id_PK_ECDH;
92 #define OBJ_id_PK_ECDH OBJ_id_PK,2L
94 #define SN_id_TA "id-TA"
96 #define OBJ_id_TA OBJ_bsi_de,2L,2L,2L
98 #define SN_id_TA_RSA "id-TA-RSA"
99 extern int NID_id_TA_RSA;
100 #define OBJ_id_TA_RSA OBJ_id_TA,1L
102 #define SN_id_TA_RSA_v1_5_SHA_1 "id-TA-RSA-v1-5-SHA-1"
103 extern int NID_id_TA_RSA_v1_5_SHA_1;
104 #define OBJ_id_TA_RSA_v1_5_SHA_1 OBJ_id_TA_RSA,1L
106 #define SN_id_TA_RSA_v1_5_SHA_256 "id-TA-RSA-v1-5-SHA-256"
107 extern int NID_id_TA_RSA_v1_5_SHA_256;
108 #define OBJ_id_TA_RSA_v1_5_SHA_256 OBJ_id_TA_RSA,2L
110 #define SN_id_TA_RSA_PSS_SHA_1 "id-TA-RSA-PSS-SHA-1"
111 extern int NID_id_TA_RSA_PSS_SHA_1;
112 #define OBJ_id_TA_RSA_PSS_SHA_1 OBJ_id_TA_RSA,3L
114 #define SN_id_TA_RSA_PSS_SHA_256 "id-TA-RSA-PSS-SHA-256"
115 extern int NID_id_TA_RSA_PSS_SHA_256;
116 #define OBJ_id_TA_RSA_PSS_SHA_256 OBJ_id_TA_RSA,4L
118 #define SN_id_TA_RSA_v1_5_SHA_512 "id-TA-RSA-v1-5-SHA-512"
119 extern int NID_id_TA_RSA_v1_5_SHA_512;
120 #define OBJ_id_TA_RSA_v1_5_SHA_512 OBJ_id_TA_RSA,5L
122 #define SN_id_TA_RSA_PSS_SHA_512 "id-TA-RSA-PSS-SHA-512"
123 extern int NID_id_TA_RSA_PSS_SHA_512;
124 #define OBJ_id_TA_RSA_PSS_SHA_512 OBJ_id_TA_RSA,6L
126 #define SN_id_TA_ECDSA "id-TA-ECDSA"
127 extern int NID_id_TA_ECDSA;
128 #define OBJ_id_TA_ECDSA OBJ_id_TA,2L
130 #define SN_id_TA_ECDSA_SHA_1 "id-TA-ECDSA-SHA-1"
131 extern int NID_id_TA_ECDSA_SHA_1;
132 #define OBJ_id_TA_ECDSA_SHA_1 OBJ_id_TA_ECDSA,1L
134 #define SN_id_TA_ECDSA_SHA_224 "id-TA-ECDSA-SHA-224"
135 extern int NID_id_TA_ECDSA_SHA_224;
136 #define OBJ_id_TA_ECDSA_SHA_224 OBJ_id_TA_ECDSA,2L
138 #define SN_id_TA_ECDSA_SHA_256 "id-TA-ECDSA-SHA-256"
139 extern int NID_id_TA_ECDSA_SHA_256;
140 #define OBJ_id_TA_ECDSA_SHA_256 OBJ_id_TA_ECDSA,3L
142 #define SN_id_TA_ECDSA_SHA_384 "id-TA-ECDSA-SHA-384"
143 extern int NID_id_TA_ECDSA_SHA_384;
144 #define OBJ_id_TA_ECDSA_SHA_384 OBJ_id_TA_ECDSA,4L
146 #define SN_id_TA_ECDSA_SHA_512 "id-TA-ECDSA-SHA-512"
147 extern int NID_id_TA_ECDSA_SHA_512;
148 #define OBJ_id_TA_ECDSA_SHA_512 OBJ_id_TA_ECDSA,5L
150 #define OBJ_id_CA OBJ_bsi_de,2L,2L,3L
152 #define SN_id_CA_DH "id-CA-DH"
153 extern int NID_id_CA_DH;
154 #define OBJ_id_CA_DH OBJ_id_CA,1L
156 #define SN_id_CA_DH_3DES_CBC_CBC "id-CA-DH-3DES-CBC-CBC"
157 extern int NID_id_CA_DH_3DES_CBC_CBC;
158 #define OBJ_id_CA_DH_3DES_CBC_CBC OBJ_id_CA_DH,1L
160 #define SN_id_CA_DH_AES_CBC_CMAC_128 "id-CA-DH-AES-CBC-CMAC-128"
161 extern int NID_id_CA_DH_AES_CBC_CMAC_128;
162 #define OBJ_id_CA_DH_AES_CBC_CMAC_128 OBJ_id_CA_DH,2L
164 #define SN_id_CA_DH_AES_CBC_CMAC_192 "id-CA-DH-AES-CBC-CMAC-192"
165 extern int NID_id_CA_DH_AES_CBC_CMAC_192;
166 #define OBJ_id_CA_DH_AES_CBC_CMAC_192 OBJ_id_CA_DH,3L
168 #define SN_id_CA_DH_AES_CBC_CMAC_256 "id-CA-DH-AES-CBC-CMAC-256"
169 extern int NID_id_CA_DH_AES_CBC_CMAC_256;
170 #define OBJ_id_CA_DH_AES_CBC_CMAC_256 OBJ_id_CA_DH,4L
172 #define SN_id_CA_ECDH "id-CA-ECDH"
173 extern int NID_id_CA_ECDH;
174 #define OBJ_id_CA_ECDH OBJ_id_CA,2L
176 #define SN_id_CA_ECDH_3DES_CBC_CBC "id-CA-ECDH-3DES-CBC-CBC"
177 extern int NID_id_CA_ECDH_3DES_CBC_CBC;
178 #define OBJ_id_CA_ECDH_3DES_CBC_CBC OBJ_id_CA_ECDH,1L
180 #define SN_id_CA_ECDH_AES_CBC_CMAC_128 "id-CA-ECDH-AES-CBC-CMAC-128"
181 extern int NID_id_CA_ECDH_AES_CBC_CMAC_128;
182 #define OBJ_id_CA_ECDH_AES_CBC_CMAC_128 OBJ_id_CA_ECDH,2L
184 #define SN_id_CA_ECDH_AES_CBC_CMAC_192 "id-CA-ECDH-AES-CBC-CMAC-192"
185 extern int NID_id_CA_ECDH_AES_CBC_CMAC_192;
186 #define OBJ_id_CA_ECDH_AES_CBC_CMAC_192 OBJ_id_CA_ECDH,3L
188 #define SN_id_CA_ECDH_AES_CBC_CMAC_256 "id-CA-ECDH-AES-CBC-CMAC-256"
189 extern int NID_id_CA_ECDH_AES_CBC_CMAC_256;
190 #define OBJ_id_CA_ECDH_AES_CBC_CMAC_256 OBJ_id_CA_ECDH,4L
192 #define OBJ_id_PACE OBJ_bsi_de,2L,2L,4L
194 #define SN_id_PACE_DH_GM "id-PACE-DH-GM"
195 extern int NID_id_PACE_DH_GM;
196 #define OBJ_id_PACE_DH_GM OBJ_id_PACE,1L
198 #define SN_id_PACE_DH_GM_3DES_CBC_CBC "id-PACE-DH-GM-3DES-CBC-CBC"
199 extern int NID_id_PACE_DH_GM_3DES_CBC_CBC;
200 #define OBJ_id_PACE_DH_GM_3DES_CBC_CBC OBJ_id_PACE_DH_GM,1L
202 #define SN_id_PACE_DH_GM_AES_CBC_CMAC_128 "id-PACE-DH-GM-AES-CBC-CMAC-128"
203 extern int NID_id_PACE_DH_GM_AES_CBC_CMAC_128;
204 #define OBJ_id_PACE_DH_GM_AES_CBC_CMAC_128 OBJ_id_PACE_DH_GM,2L
206 #define SN_id_PACE_DH_GM_AES_CBC_CMAC_192 "id-PACE-DH-GM-AES-CBC-CMAC-192"
207 extern int NID_id_PACE_DH_GM_AES_CBC_CMAC_192;
208 #define OBJ_id_PACE_DH_GM_AES_CBC_CMAC_192 OBJ_id_PACE_DH_GM,3L
210 #define SN_id_PACE_DH_GM_AES_CBC_CMAC_256 "id-PACE-DH-GM-AES-CBC-CMAC-256"
211 extern int NID_id_PACE_DH_GM_AES_CBC_CMAC_256;
212 #define OBJ_id_PACE_DH_GM_AES_CBC_CMAC_256 OBJ_id_PACE_DH_GM,4L
214 #define SN_id_PACE_ECDH_GM "id-PACE-ECDH-GM"
215 extern int NID_id_PACE_ECDH_GM;
216 #define OBJ_id_PACE_ECDH_GM OBJ_id_PACE,2L
218 #define SN_id_PACE_ECDH_GM_3DES_CBC_CBC "id-PACE-ECDH-GM-3DES-CBC-CBC"
219 extern int NID_id_PACE_ECDH_GM_3DES_CBC_CBC;
220 #define OBJ_id_PACE_ECDH_GM_3DES_CBC_CBC OBJ_id_PACE_ECDH_GM,1L
222 #define SN_id_PACE_ECDH_GM_AES_CBC_CMAC_128 "id-PACE-ECDH-GM-AES-CBC-CMAC-128"
223 extern int NID_id_PACE_ECDH_GM_AES_CBC_CMAC_128;
224 #define OBJ_id_PACE_ECDH_GM_AES_CBC_CMAC_128 OBJ_id_PACE_ECDH_GM,2L
226 #define SN_id_PACE_ECDH_GM_AES_CBC_CMAC_192 "id-PACE-ECDH-GM-AES-CBC-CMAC-192"
227 extern int NID_id_PACE_ECDH_GM_AES_CBC_CMAC_192;
228 #define OBJ_id_PACE_ECDH_GM_AES_CBC_CMAC_192 OBJ_id_PACE_ECDH_GM,3L
230 #define SN_id_PACE_ECDH_GM_AES_CBC_CMAC_256 "id-PACE-ECDH-GM-AES-CBC-CMAC-256"
231 extern int NID_id_PACE_ECDH_GM_AES_CBC_CMAC_256;
232 #define OBJ_id_PACE_ECDH_GM_AES_CBC_CMAC_256 OBJ_id_PACE_ECDH_GM,4L
234 #define SN_id_PACE_DH_IM "id-PACE-DH-IM"
235 extern int NID_id_PACE_DH_IM;
236 #define OBJ_id_PACE_DH_IM OBJ_id_PACE,3L
238 #define SN_id_PACE_DH_IM_3DES_CBC_CBC "id-PACE-DH-IM-3DES-CBC-CBC"
239 extern int NID_id_PACE_DH_IM_3DES_CBC_CBC;
240 #define OBJ_id_PACE_DH_IM_3DES_CBC_CBC OBJ_id_PACE_DH_IM,1L
242 #define SN_id_PACE_DH_IM_AES_CBC_CMAC_128 "id-PACE-DH-IM-AES-CBC-CMAC-128"
243 extern int NID_id_PACE_DH_IM_AES_CBC_CMAC_128;
244 #define OBJ_id_PACE_DH_IM_AES_CBC_CMAC_128 OBJ_id_PACE_DH_IM,2L
246 #define SN_id_PACE_DH_IM_AES_CBC_CMAC_192 "id-PACE-DH-IM-AES-CBC-CMAC-192"
247 extern int NID_id_PACE_DH_IM_AES_CBC_CMAC_192;
248 #define OBJ_id_PACE_DH_IM_AES_CBC_CMAC_192 OBJ_id_PACE_DH_IM,3L
250 #define SN_id_PACE_DH_IM_AES_CBC_CMAC_256 "id-PACE-DH-IM-AES-CBC-CMAC-256"
251 extern int NID_id_PACE_DH_IM_AES_CBC_CMAC_256;
252 #define OBJ_id_PACE_DH_IM_AES_CBC_CMAC_256 OBJ_id_PACE_DH_IM,4L
254 #define SN_id_PACE_ECDH_IM "id-PACE-ECDH-IM"
255 extern int NID_id_PACE_ECDH_IM;
256 #define OBJ_id_PACE_ECDH_IM OBJ_id_PACE,4L
258 #define SN_id_PACE_ECDH_IM_3DES_CBC_CBC "id-PACE-ECDH-IM-3DES-CBC-CBC"
259 extern int NID_id_PACE_ECDH_IM_3DES_CBC_CBC;
260 #define OBJ_id_PACE_ECDH_IM_3DES_CBC_CBC OBJ_id_PACE_ECDH_IM,1L
262 #define SN_id_PACE_ECDH_IM_AES_CBC_CMAC_128 "id-PACE-ECDH-IM-AES-CBC-CMAC-128"
263 extern int NID_id_PACE_ECDH_IM_AES_CBC_CMAC_128;
264 #define OBJ_id_PACE_ECDH_IM_AES_CBC_CMAC_128 OBJ_id_PACE_ECDH_IM,2L
266 #define SN_id_PACE_ECDH_IM_AES_CBC_CMAC_192 "id-PACE-ECDH-IM-AES-CBC-CMAC-192"
267 extern int NID_id_PACE_ECDH_IM_AES_CBC_CMAC_192;
268 #define OBJ_id_PACE_ECDH_IM_AES_CBC_CMAC_192 OBJ_id_PACE_ECDH_IM,3L
270 #define SN_id_PACE_ECDH_IM_AES_CBC_CMAC_256 "id-PACE-ECDH-IM-AES-CBC-CMAC-256"
271 extern int NID_id_PACE_ECDH_IM_AES_CBC_CMAC_256;
272 #define OBJ_id_PACE_ECDH_IM_AES_CBC_CMAC_256 OBJ_id_PACE_ECDH_IM,4L
274 #define OBJ_id_RI OBJ_bsi_de,2L,2L,5L
276 #define SN_id_RI_DH "id-RI-DH"
277 extern int NID_id_RI_DH;
278 #define OBJ_id_RI_DH OBJ_id_RI,1L
280 #define SN_id_RI_DH_SHA_1 "id-RI-DH-SHA-1"
281 extern int NID_id_RI_DH_SHA_1;
282 #define OBJ_id_RI_DH_SHA_1 OBJ_id_RI_DH,1L
284 #define SN_id_RI_DH_SHA_224 "id-RI-DH-SHA-224"
285 extern int NID_id_RI_DH_SHA_224;
286 #define OBJ_id_RI_DH_SHA_224 OBJ_id_RI_DH,2L
288 #define SN_id_RI_DH_SHA_256 "id-RI-DH-SHA-256"
289 extern int NID_id_RI_DH_SHA_256;
290 #define OBJ_id_RI_DH_SHA_256 OBJ_id_RI_DH,3L
292 #define SN_id_RI_DH_SHA_384 "id-RI-DH-SHA-384"
293 extern int NID_id_RI_DH_SHA_384;
294 #define OBJ_id_RI_DH_SHA_384 OBJ_id_RI_DH,4L
296 #define SN_id_RI_DH_SHA_512 "id-RI-DH-SHA-512"
297 extern int NID_id_RI_DH_SHA_512;
298 #define OBJ_id_RI_DH_SHA_512 OBJ_id_RI_DH,5L
300 #define SN_id_RI_ECDH "id-RI-ECDH"
301 extern int NID_id_RI_ECDH;
302 #define OBJ_id_RI_ECDH OBJ_id_RI,2L
304 #define SN_id_RI_ECDH_SHA_1 "id-RI-ECDH-SHA-1"
305 extern int NID_id_RI_ECDH_SHA_1;
306 #define OBJ_id_RI_ECDH_SHA_1 OBJ_id_RI_ECDH,1L
308 #define SN_id_RI_ECDH_SHA_224 "id-RI-ECDH-SHA-224"
309 extern int NID_id_RI_ECDH_SHA_224;
310 #define OBJ_id_RI_ECDH_SHA_224 OBJ_id_RI_ECDH,2L
312 #define SN_id_RI_ECDH_SHA_256 "id-RI-ECDH-SHA-256"
313 extern int NID_id_RI_ECDH_SHA_256;
314 #define OBJ_id_RI_ECDH_SHA_256 OBJ_id_RI_ECDH,3L
316 #define SN_id_RI_ECDH_SHA_384 "id-RI-ECDH-SHA-384"
317 extern int NID_id_RI_ECDH_SHA_384;
318 #define OBJ_id_RI_ECDH_SHA_384 OBJ_id_RI_ECDH,4L
320 #define SN_id_RI_ECDH_SHA_512 "id-RI-ECDH-SHA-512"
321 extern int NID_id_RI_ECDH_SHA_512;
322 #define OBJ_id_RI_ECDH_SHA_512 OBJ_id_RI_ECDH,5L
324 #define SN_id_CI "id-CI"
325 extern int NID_id_CI;
326 #define OBJ_id_CI OBJ_bsi_de,2L,2L,6L
328 #define SN_id_eIDSecurity "id-eIDSecurity"
329 extern int NID_id_eIDSecurity;
330 #define OBJ_id_eIDSecurity OBJ_bsi_de,2L,2L,7L
332 #define SN_id_PT "id-PT"
333 extern int NID_id_PT;
334 #define OBJ_id_PT OBJ_bsi_de,2L,2L,8L
336 #define OBJ_id_ecc OBJ_bsi_de,1L,1L
338 #define OBJ_ecka_dh OBJ_id_ecc,5L,2L
340 #define SN_ecka_dh_SessionKDF "ecka-dh-SessionKDF"
341 extern int NID_ecka_dh_SessionKDF;
342 #define OBJ_ecka_dh_SessionKDF OBJ_ecka_dh,2L
344 #define SN_ecka_dh_SessionKDF_DES3 "ecka-dh-SessionKDF-DES3"
345 extern int NID_ecka_dh_SessionKDF_DES3;
346 #define OBJ_ecka_dh_SessionKDF_DES3 OBJ_ecka_dh,2L,1L
348 #define SN_ecka_dh_SessionKDF_AES128 "ecka-dh-SessionKDF-AES128"
349 extern int NID_ecka_dh_SessionKDF_AES128;
350 #define OBJ_ecka_dh_SessionKDF_AES128 OBJ_ecka_dh,2L,2L
352 #define SN_ecka_dh_SessionKDF_AES192 "ecka-dh-SessionKDF-AES192"
353 extern int NID_ecka_dh_SessionKDF_AES192;
354 #define OBJ_ecka_dh_SessionKDF_AES192 OBJ_ecka_dh,2L,3L
356 #define SN_ecka_dh_SessionKDF_AES256 "ecka-dh-SessionKDF-AES256"
357 extern int NID_ecka_dh_SessionKDF_AES256;
358 #define OBJ_ecka_dh_SessionKDF_AES256 OBJ_ecka_dh,2L,4L
360 #define OBJ_id_roles OBJ_bsi_de,3L,1L,2L
362 #define SN_id_IS "id-IS"
363 extern int NID_id_IS;
364 #define OBJ_id_IS OBJ_id_roles,1L
366 #define SN_id_AT "id-AT"
367 extern int NID_id_AT;
368 #define OBJ_id_AT OBJ_id_roles,2L
370 #define SN_id_ST "id-ST"
371 extern int NID_id_ST;
372 #define OBJ_id_ST OBJ_id_roles,3L
374 #define OBJ_id_extensions OBJ_bsi_de,3L,1L,3L
376 #define SN_id_description "id-description"
377 extern int NID_id_description;
378 #define OBJ_id_description OBJ_id_extensions,1L
380 #define SN_id_plainFormat "id-plainFormat"
381 extern int NID_id_plainFormat;
382 #define OBJ_id_plainFormat OBJ_id_description,1L
384 #define SN_id_htmlFormat "id-htmlFormat"
385 extern int NID_id_htmlFormat;
386 #define OBJ_id_htmlFormat OBJ_id_description,2L
388 #define SN_id_pdfFormat "id-pdfFormat"
389 extern int NID_id_pdfFormat;
390 #define OBJ_id_pdfFormat OBJ_id_description,3L
392 #define SN_id_sector "id-sector"
393 extern int NID_id_sector;
394 #define OBJ_id_sector OBJ_id_extensions,2L
396 #define OBJ_id_eID OBJ_bsi_de,3L,2L
398 #define SN_id_SecurityObject "id-SecurityObject"
399 extern int NID_id_SecurityObject;
400 #define OBJ_id_SecurityObject OBJ_id_eID,1L
402 #define OBJ_id_AuxiliaryData OBJ_bsi_de,3L,1L,4L
404 #define SN_id_DateOfBirth "id-DateOfBirth"
405 extern int NID_id_DateOfBirth;
406 #define OBJ_id_DateOfBirth OBJ_id_AuxiliaryData,1L
408 #define SN_id_DateOfExpiry "id-DateOfExpiry"
409 extern int NID_id_DateOfExpiry;
410 #define OBJ_id_DateOfExpiry OBJ_id_AuxiliaryData,2L
412 #define SN_id_CommunityID "id-CommunityID"
413 extern int NID_id_CommunityID;
414 #define OBJ_id_CommunityID OBJ_id_AuxiliaryData,3L