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