OpenPACE
objects.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Frank Morgner
3  *
4  * This file is part of OpenPACE.
5  *
6  * OpenPACE is free software: you can redistribute it and/or modify it under
7  * the terms of the GNU General Public License as published by the Free
8  * Software Foundation, either version 3 of the License, or (at your option)
9  * any later version.
10  *
11  * OpenPACE is distributed in the hope that it will be useful, but WITHOUT ANY
12  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14  * details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * OpenPACE. If not, see <http://www.gnu.org/licenses/>.
18  *
19  * Additional permission under GNU GPL version 3 section 7
20  *
21  * If you modify this Program, or any covered work, by linking or combining it
22  * with OpenSSL (or a modified version of that library), containing
23  * parts covered by the terms of OpenSSL's license, the licensors of
24  * this Program grant you additional permission to convey the resulting work.
25  * Corresponding Source for a non-source form of such a combination shall include
26  * the source code for the parts of OpenSSL used as well as that of the
27  * covered work.
28  *
29  * If you modify this Program, or any covered work, by linking or combining it
30  * with OpenSC (or a modified version of that library), containing
31  * parts covered by the terms of OpenSC's license, the licensors of
32  * this Program grant you additional permission to convey the resulting work.
33  * Corresponding Source for a non-source form of such a combination shall include
34  * the source code for the parts of OpenSC used as well as that of the
35  * covered work.
36  */
37 
45 #ifndef OBJ_H_
46 #define OBJ_H_
47 
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
52 #include <openssl/obj_mac.h>
53 
54 #ifdef NID_id_PACE_ECDH_GM_AES_CBC_CMAC_128
55 #define HAVE_PATCHED_OPENSSL 1
56 
57 #else
58 
59 /* The following definitions are made to be compatible with OpenSSL */
60 
61 #define OBJ_bsi_de 0L,4L,0L,127L,0L,7L
62 
63 #define SN_standardizedDomainParameters "standardizedDomainParameters"
64 extern int NID_standardizedDomainParameters;
65 #define OBJ_standardizedDomainParameters OBJ_bsi_de,1L,2L
66 
67 #define OBJ_id_PK OBJ_bsi_de,2L,2L,1L
68 
69 #define SN_id_PK_DH "id-PK-DH"
70 extern int NID_id_PK_DH;
71 #define OBJ_id_PK_DH OBJ_id_PK,1L
72 
73 #define SN_id_PK_ECDH "id-PK-ECDH"
74 extern int NID_id_PK_ECDH;
75 #define OBJ_id_PK_ECDH OBJ_id_PK,2L
76 
77 #define SN_id_TA "id-TA"
78 extern int NID_id_TA;
79 #define OBJ_id_TA OBJ_bsi_de,2L,2L,2L
80 
81 #define SN_id_TA_RSA "id-TA-RSA"
82 extern int NID_id_TA_RSA;
83 #define OBJ_id_TA_RSA OBJ_id_TA,1L
84 
85 #define SN_id_TA_RSA_v1_5_SHA_1 "id-TA-RSA-v1-5-SHA-1"
86 extern int NID_id_TA_RSA_v1_5_SHA_1;
87 #define OBJ_id_TA_RSA_v1_5_SHA_1 OBJ_id_TA_RSA,1L
88 
89 #define SN_id_TA_RSA_v1_5_SHA_256 "id-TA-RSA-v1-5-SHA-256"
90 extern int NID_id_TA_RSA_v1_5_SHA_256;
91 #define OBJ_id_TA_RSA_v1_5_SHA_256 OBJ_id_TA_RSA,2L
92 
93 #define SN_id_TA_RSA_PSS_SHA_1 "id-TA-RSA-PSS-SHA-1"
94 extern int NID_id_TA_RSA_PSS_SHA_1;
95 #define OBJ_id_TA_RSA_PSS_SHA_1 OBJ_id_TA_RSA,3L
96 
97 #define SN_id_TA_RSA_PSS_SHA_256 "id-TA-RSA-PSS-SHA-256"
98 extern int NID_id_TA_RSA_PSS_SHA_256;
99 #define OBJ_id_TA_RSA_PSS_SHA_256 OBJ_id_TA_RSA,4L
100 
101 #define SN_id_TA_RSA_v1_5_SHA_512 "id-TA-RSA-v1-5-SHA-512"
102 extern int NID_id_TA_RSA_v1_5_SHA_512;
103 #define OBJ_id_TA_RSA_v1_5_SHA_512 OBJ_id_TA_RSA,5L
104 
105 #define SN_id_TA_RSA_PSS_SHA_512 "id-TA-RSA-PSS-SHA-512"
106 extern int NID_id_TA_RSA_PSS_SHA_512;
107 #define OBJ_id_TA_RSA_PSS_SHA_512 OBJ_id_TA_RSA,6L
108 
109 #define SN_id_TA_ECDSA "id-TA-ECDSA"
110 extern int NID_id_TA_ECDSA;
111 #define OBJ_id_TA_ECDSA OBJ_id_TA,2L
112 
113 #define SN_id_TA_ECDSA_SHA_1 "id-TA-ECDSA-SHA-1"
114 extern int NID_id_TA_ECDSA_SHA_1;
115 #define OBJ_id_TA_ECDSA_SHA_1 OBJ_id_TA_ECDSA,1L
116 
117 #define SN_id_TA_ECDSA_SHA_224 "id-TA-ECDSA-SHA-224"
118 extern int NID_id_TA_ECDSA_SHA_224;
119 #define OBJ_id_TA_ECDSA_SHA_224 OBJ_id_TA_ECDSA,2L
120 
121 #define SN_id_TA_ECDSA_SHA_256 "id-TA-ECDSA-SHA-256"
122 extern int NID_id_TA_ECDSA_SHA_256;
123 #define OBJ_id_TA_ECDSA_SHA_256 OBJ_id_TA_ECDSA,3L
124 
125 #define SN_id_TA_ECDSA_SHA_384 "id-TA-ECDSA-SHA-384"
126 extern int NID_id_TA_ECDSA_SHA_384;
127 #define OBJ_id_TA_ECDSA_SHA_384 OBJ_id_TA_ECDSA,4L
128 
129 #define SN_id_TA_ECDSA_SHA_512 "id-TA-ECDSA-SHA-512"
130 extern int NID_id_TA_ECDSA_SHA_512;
131 #define OBJ_id_TA_ECDSA_SHA_512 OBJ_id_TA_ECDSA,5L
132 
133 #define OBJ_id_CA OBJ_bsi_de,2L,2L,3L
134 
135 #define SN_id_CA_DH "id-CA-DH"
136 extern int NID_id_CA_DH;
137 #define OBJ_id_CA_DH OBJ_id_CA,1L
138 
139 #define SN_id_CA_DH_3DES_CBC_CBC "id-CA-DH-3DES-CBC-CBC"
140 extern int NID_id_CA_DH_3DES_CBC_CBC;
141 #define OBJ_id_CA_DH_3DES_CBC_CBC OBJ_id_CA_DH,1L
142 
143 #define SN_id_CA_DH_AES_CBC_CMAC_128 "id-CA-DH-AES-CBC-CMAC-128"
144 extern int NID_id_CA_DH_AES_CBC_CMAC_128;
145 #define OBJ_id_CA_DH_AES_CBC_CMAC_128 OBJ_id_CA_DH,2L
146 
147 #define SN_id_CA_DH_AES_CBC_CMAC_192 "id-CA-DH-AES-CBC-CMAC-192"
148 extern int NID_id_CA_DH_AES_CBC_CMAC_192;
149 #define OBJ_id_CA_DH_AES_CBC_CMAC_192 OBJ_id_CA_DH,3L
150 
151 #define SN_id_CA_DH_AES_CBC_CMAC_256 "id-CA-DH-AES-CBC-CMAC-256"
152 extern int NID_id_CA_DH_AES_CBC_CMAC_256;
153 #define OBJ_id_CA_DH_AES_CBC_CMAC_256 OBJ_id_CA_DH,4L
154 
155 #define SN_id_CA_ECDH "id-CA-ECDH"
156 extern int NID_id_CA_ECDH;
157 #define OBJ_id_CA_ECDH OBJ_id_CA,2L
158 
159 #define SN_id_CA_ECDH_3DES_CBC_CBC "id-CA-ECDH-3DES-CBC-CBC"
160 extern int NID_id_CA_ECDH_3DES_CBC_CBC;
161 #define OBJ_id_CA_ECDH_3DES_CBC_CBC OBJ_id_CA_ECDH,1L
162 
163 #define SN_id_CA_ECDH_AES_CBC_CMAC_128 "id-CA-ECDH-AES-CBC-CMAC-128"
164 extern int NID_id_CA_ECDH_AES_CBC_CMAC_128;
165 #define OBJ_id_CA_ECDH_AES_CBC_CMAC_128 OBJ_id_CA_ECDH,2L
166 
167 #define SN_id_CA_ECDH_AES_CBC_CMAC_192 "id-CA-ECDH-AES-CBC-CMAC-192"
168 extern int NID_id_CA_ECDH_AES_CBC_CMAC_192;
169 #define OBJ_id_CA_ECDH_AES_CBC_CMAC_192 OBJ_id_CA_ECDH,3L
170 
171 #define SN_id_CA_ECDH_AES_CBC_CMAC_256 "id-CA-ECDH-AES-CBC-CMAC-256"
172 extern int NID_id_CA_ECDH_AES_CBC_CMAC_256;
173 #define OBJ_id_CA_ECDH_AES_CBC_CMAC_256 OBJ_id_CA_ECDH,4L
174 
175 #define OBJ_id_PACE OBJ_bsi_de,2L,2L,4L
176 
177 #define SN_id_PACE_DH_GM "id-PACE-DH-GM"
178 extern int NID_id_PACE_DH_GM;
179 #define OBJ_id_PACE_DH_GM OBJ_id_PACE,1L
180 
181 #define SN_id_PACE_DH_GM_3DES_CBC_CBC "id-PACE-DH-GM-3DES-CBC-CBC"
182 extern int NID_id_PACE_DH_GM_3DES_CBC_CBC;
183 #define OBJ_id_PACE_DH_GM_3DES_CBC_CBC OBJ_id_PACE_DH_GM,1L
184 
185 #define SN_id_PACE_DH_GM_AES_CBC_CMAC_128 "id-PACE-DH-GM-AES-CBC-CMAC-128"
186 extern int NID_id_PACE_DH_GM_AES_CBC_CMAC_128;
187 #define OBJ_id_PACE_DH_GM_AES_CBC_CMAC_128 OBJ_id_PACE_DH_GM,2L
188 
189 #define SN_id_PACE_DH_GM_AES_CBC_CMAC_192 "id-PACE-DH-GM-AES-CBC-CMAC-192"
190 extern int NID_id_PACE_DH_GM_AES_CBC_CMAC_192;
191 #define OBJ_id_PACE_DH_GM_AES_CBC_CMAC_192 OBJ_id_PACE_DH_GM,3L
192 
193 #define SN_id_PACE_DH_GM_AES_CBC_CMAC_256 "id-PACE-DH-GM-AES-CBC-CMAC-256"
194 extern int NID_id_PACE_DH_GM_AES_CBC_CMAC_256;
195 #define OBJ_id_PACE_DH_GM_AES_CBC_CMAC_256 OBJ_id_PACE_DH_GM,4L
196 
197 #define SN_id_PACE_ECDH_GM "id-PACE-ECDH-GM"
198 extern int NID_id_PACE_ECDH_GM;
199 #define OBJ_id_PACE_ECDH_GM OBJ_id_PACE,2L
200 
201 #define SN_id_PACE_ECDH_GM_3DES_CBC_CBC "id-PACE-ECDH-GM-3DES-CBC-CBC"
202 extern int NID_id_PACE_ECDH_GM_3DES_CBC_CBC;
203 #define OBJ_id_PACE_ECDH_GM_3DES_CBC_CBC OBJ_id_PACE_ECDH_GM,1L
204 
205 #define SN_id_PACE_ECDH_GM_AES_CBC_CMAC_128 "id-PACE-ECDH-GM-AES-CBC-CMAC-128"
206 extern int NID_id_PACE_ECDH_GM_AES_CBC_CMAC_128;
207 #define OBJ_id_PACE_ECDH_GM_AES_CBC_CMAC_128 OBJ_id_PACE_ECDH_GM,2L
208 
209 #define SN_id_PACE_ECDH_GM_AES_CBC_CMAC_192 "id-PACE-ECDH-GM-AES-CBC-CMAC-192"
210 extern int NID_id_PACE_ECDH_GM_AES_CBC_CMAC_192;
211 #define OBJ_id_PACE_ECDH_GM_AES_CBC_CMAC_192 OBJ_id_PACE_ECDH_GM,3L
212 
213 #define SN_id_PACE_ECDH_GM_AES_CBC_CMAC_256 "id-PACE-ECDH-GM-AES-CBC-CMAC-256"
214 extern int NID_id_PACE_ECDH_GM_AES_CBC_CMAC_256;
215 #define OBJ_id_PACE_ECDH_GM_AES_CBC_CMAC_256 OBJ_id_PACE_ECDH_GM,4L
216 
217 #define SN_id_PACE_DH_IM "id-PACE-DH-IM"
218 extern int NID_id_PACE_DH_IM;
219 #define OBJ_id_PACE_DH_IM OBJ_id_PACE,3L
220 
221 #define SN_id_PACE_DH_IM_3DES_CBC_CBC "id-PACE-DH-IM-3DES-CBC-CBC"
222 extern int NID_id_PACE_DH_IM_3DES_CBC_CBC;
223 #define OBJ_id_PACE_DH_IM_3DES_CBC_CBC OBJ_id_PACE_DH_IM,1L
224 
225 #define SN_id_PACE_DH_IM_AES_CBC_CMAC_128 "id-PACE-DH-IM-AES-CBC-CMAC-128"
226 extern int NID_id_PACE_DH_IM_AES_CBC_CMAC_128;
227 #define OBJ_id_PACE_DH_IM_AES_CBC_CMAC_128 OBJ_id_PACE_DH_IM,2L
228 
229 #define SN_id_PACE_DH_IM_AES_CBC_CMAC_192 "id-PACE-DH-IM-AES-CBC-CMAC-192"
230 extern int NID_id_PACE_DH_IM_AES_CBC_CMAC_192;
231 #define OBJ_id_PACE_DH_IM_AES_CBC_CMAC_192 OBJ_id_PACE_DH_IM,3L
232 
233 #define SN_id_PACE_DH_IM_AES_CBC_CMAC_256 "id-PACE-DH-IM-AES-CBC-CMAC-256"
234 extern int NID_id_PACE_DH_IM_AES_CBC_CMAC_256;
235 #define OBJ_id_PACE_DH_IM_AES_CBC_CMAC_256 OBJ_id_PACE_DH_IM,4L
236 
237 #define SN_id_PACE_ECDH_IM "id-PACE-ECDH-IM"
238 extern int NID_id_PACE_ECDH_IM;
239 #define OBJ_id_PACE_ECDH_IM OBJ_id_PACE,4L
240 
241 #define SN_id_PACE_ECDH_IM_3DES_CBC_CBC "id-PACE-ECDH-IM-3DES-CBC-CBC"
242 extern int NID_id_PACE_ECDH_IM_3DES_CBC_CBC;
243 #define OBJ_id_PACE_ECDH_IM_3DES_CBC_CBC OBJ_id_PACE_ECDH_IM,1L
244 
245 #define SN_id_PACE_ECDH_IM_AES_CBC_CMAC_128 "id-PACE-ECDH-IM-AES-CBC-CMAC-128"
246 extern int NID_id_PACE_ECDH_IM_AES_CBC_CMAC_128;
247 #define OBJ_id_PACE_ECDH_IM_AES_CBC_CMAC_128 OBJ_id_PACE_ECDH_IM,2L
248 
249 #define SN_id_PACE_ECDH_IM_AES_CBC_CMAC_192 "id-PACE-ECDH-IM-AES-CBC-CMAC-192"
250 extern int NID_id_PACE_ECDH_IM_AES_CBC_CMAC_192;
251 #define OBJ_id_PACE_ECDH_IM_AES_CBC_CMAC_192 OBJ_id_PACE_ECDH_IM,3L
252 
253 #define SN_id_PACE_ECDH_IM_AES_CBC_CMAC_256 "id-PACE-ECDH-IM-AES-CBC-CMAC-256"
254 extern int NID_id_PACE_ECDH_IM_AES_CBC_CMAC_256;
255 #define OBJ_id_PACE_ECDH_IM_AES_CBC_CMAC_256 OBJ_id_PACE_ECDH_IM,4L
256 
257 #define OBJ_id_RI OBJ_bsi_de,2L,2L,5L
258 
259 #define SN_id_RI_DH "id-RI-DH"
260 extern int NID_id_RI_DH;
261 #define OBJ_id_RI_DH OBJ_id_RI,1L
262 
263 #define SN_id_RI_DH_SHA_1 "id-RI-DH-SHA-1"
264 extern int NID_id_RI_DH_SHA_1;
265 #define OBJ_id_RI_DH_SHA_1 OBJ_id_RI_DH,1L
266 
267 #define SN_id_RI_DH_SHA_224 "id-RI-DH-SHA-224"
268 extern int NID_id_RI_DH_SHA_224;
269 #define OBJ_id_RI_DH_SHA_224 OBJ_id_RI_DH,2L
270 
271 #define SN_id_RI_DH_SHA_256 "id-RI-DH-SHA-256"
272 extern int NID_id_RI_DH_SHA_256;
273 #define OBJ_id_RI_DH_SHA_256 OBJ_id_RI_DH,3L
274 
275 #define SN_id_RI_DH_SHA_384 "id-RI-DH-SHA-384"
276 extern int NID_id_RI_DH_SHA_384;
277 #define OBJ_id_RI_DH_SHA_384 OBJ_id_RI_DH,4L
278 
279 #define SN_id_RI_DH_SHA_512 "id-RI-DH-SHA-512"
280 extern int NID_id_RI_DH_SHA_512;
281 #define OBJ_id_RI_DH_SHA_512 OBJ_id_RI_DH,5L
282 
283 #define SN_id_RI_ECDH "id-RI-ECDH"
284 extern int NID_id_RI_ECDH;
285 #define OBJ_id_RI_ECDH OBJ_id_RI,2L
286 
287 #define SN_id_RI_ECDH_SHA_1 "id-RI-ECDH-SHA-1"
288 extern int NID_id_RI_ECDH_SHA_1;
289 #define OBJ_id_RI_ECDH_SHA_1 OBJ_id_RI_ECDH,1L
290 
291 #define SN_id_RI_ECDH_SHA_224 "id-RI-ECDH-SHA-224"
292 extern int NID_id_RI_ECDH_SHA_224;
293 #define OBJ_id_RI_ECDH_SHA_224 OBJ_id_RI_ECDH,2L
294 
295 #define SN_id_RI_ECDH_SHA_256 "id-RI-ECDH-SHA-256"
296 extern int NID_id_RI_ECDH_SHA_256;
297 #define OBJ_id_RI_ECDH_SHA_256 OBJ_id_RI_ECDH,3L
298 
299 #define SN_id_RI_ECDH_SHA_384 "id-RI-ECDH-SHA-384"
300 extern int NID_id_RI_ECDH_SHA_384;
301 #define OBJ_id_RI_ECDH_SHA_384 OBJ_id_RI_ECDH,4L
302 
303 #define SN_id_RI_ECDH_SHA_512 "id-RI-ECDH-SHA-512"
304 extern int NID_id_RI_ECDH_SHA_512;
305 #define OBJ_id_RI_ECDH_SHA_512 OBJ_id_RI_ECDH,5L
306 
307 #define SN_id_CI "id-CI"
308 extern int NID_id_CI;
309 #define OBJ_id_CI OBJ_bsi_de,2L,2L,6L
310 
311 #define SN_id_eIDSecurity "id-eIDSecurity"
312 extern int NID_id_eIDSecurity;
313 #define OBJ_id_eIDSecurity OBJ_bsi_de,2L,2L,7L
314 
315 #define SN_id_PT "id-PT"
316 extern int NID_id_PT;
317 #define OBJ_id_PT OBJ_bsi_de,2L,2L,8L
318 
319 #define OBJ_id_ecc OBJ_bsi_de,1L,1L
320 
321 #define OBJ_ecka_dh OBJ_id_ecc,5L,2L
322 
323 #define SN_ecka_dh_SessionKDF "ecka-dh-SessionKDF"
324 extern int NID_ecka_dh_SessionKDF;
325 #define OBJ_ecka_dh_SessionKDF OBJ_ecka_dh,2L
326 
327 #define SN_ecka_dh_SessionKDF_DES3 "ecka-dh-SessionKDF-DES3"
328 extern int NID_ecka_dh_SessionKDF_DES3;
329 #define OBJ_ecka_dh_SessionKDF_DES3 OBJ_ecka_dh,2L,1L
330 
331 #define SN_ecka_dh_SessionKDF_AES128 "ecka-dh-SessionKDF-AES128"
332 extern int NID_ecka_dh_SessionKDF_AES128;
333 #define OBJ_ecka_dh_SessionKDF_AES128 OBJ_ecka_dh,2L,2L
334 
335 #define SN_ecka_dh_SessionKDF_AES192 "ecka-dh-SessionKDF-AES192"
336 extern int NID_ecka_dh_SessionKDF_AES192;
337 #define OBJ_ecka_dh_SessionKDF_AES192 OBJ_ecka_dh,2L,3L
338 
339 #define SN_ecka_dh_SessionKDF_AES256 "ecka-dh-SessionKDF-AES256"
340 extern int NID_ecka_dh_SessionKDF_AES256;
341 #define OBJ_ecka_dh_SessionKDF_AES256 OBJ_ecka_dh,2L,4L
342 
343 #define OBJ_id_roles OBJ_bsi_de,3L,1L,2L
344 
345 #define SN_id_IS "id-IS"
346 extern int NID_id_IS;
347 #define OBJ_id_IS OBJ_id_roles,1L
348 
349 #define SN_id_AT "id-AT"
350 extern int NID_id_AT;
351 #define OBJ_id_AT OBJ_id_roles,2L
352 
353 #define SN_id_ST "id-ST"
354 extern int NID_id_ST;
355 #define OBJ_id_ST OBJ_id_roles,3L
356 
357 #define OBJ_id_extensions OBJ_bsi_de,3L,1L,3L
358 
359 #define SN_id_description "id-description"
360 extern int NID_id_description;
361 #define OBJ_id_description OBJ_id_extensions,1L
362 
363 #define SN_id_plainFormat "id-plainFormat"
364 extern int NID_id_plainFormat;
365 #define OBJ_id_plainFormat OBJ_id_description,1L
366 
367 #define SN_id_htmlFormat "id-htmlFormat"
368 extern int NID_id_htmlFormat;
369 #define OBJ_id_htmlFormat OBJ_id_description,2L
370 
371 #define SN_id_pdfFormat "id-pdfFormat"
372 extern int NID_id_pdfFormat;
373 #define OBJ_id_pdfFormat OBJ_id_description,3L
374 
375 #define SN_id_sector "id-sector"
376 extern int NID_id_sector;
377 #define OBJ_id_sector OBJ_id_extensions,2L
378 
379 #define OBJ_id_eID OBJ_bsi_de,3L,2L
380 
381 #define SN_id_SecurityObject "id-SecurityObject"
382 extern int NID_id_SecurityObject;
383 #define OBJ_id_SecurityObject OBJ_id_eID,1L
384 
385 #define OBJ_id_AuxiliaryData OBJ_bsi_de,3L,1L,4L
386 
387 #define SN_id_DateOfBirth "id-DateOfBirth"
388 extern int NID_id_DateOfBirth;
389 #define OBJ_id_DateOfBirth OBJ_id_AuxiliaryData,1L
390 
391 #define SN_id_DateOfExpiry "id-DateOfExpiry"
392 extern int NID_id_DateOfExpiry;
393 #define OBJ_id_DateOfExpiry OBJ_id_AuxiliaryData,2L
394 
395 #define SN_id_CommunityID "id-CommunityID"
396 extern int NID_id_CommunityID;
397 #define OBJ_id_CommunityID OBJ_id_AuxiliaryData,3L
398 
399 #endif
400 
401 #ifdef __cplusplus
402 }
403 #endif
404 #endif