Coverage Report

Created: 2025-11-23 06:57

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/opensc/openpace/src/objects.c
Line
Count
Source
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
38
/**
39
 * @file
40
 * @brief Implementation for object identifiers
41
 *
42
 * @author Frank Morgner <frankmorgner@gmail.com>
43
 */
44
45
#ifdef HAVE_CONFIG_H
46
#include "config.h"
47
#endif
48
49
#include <openssl/objects.h>
50
#include <eac/objects.h>
51
#include "eac_err.h"
52
53
ASN1_OBJECT *EAC_OBJ_nid2obj(int n)
54
0
{
55
0
    return OBJ_nid2obj(n);
56
0
}
57
const char *EAC_OBJ_nid2ln(int n)
58
0
{
59
0
    return OBJ_nid2ln(n);
60
0
}
61
const char *EAC_OBJ_nid2sn(int n)
62
0
{
63
0
    return OBJ_nid2sn(n);
64
0
}
65
int EAC_OBJ_obj2nid(const ASN1_OBJECT *o)
66
0
{
67
0
    return OBJ_obj2nid(o);
68
0
}
69
ASN1_OBJECT *EAC_OBJ_txt2obj(const char *s, int no_name)
70
0
{
71
0
    return OBJ_txt2obj(s, no_name);
72
0
}
73
int EAC_OBJ_txt2nid(const char *s)
74
0
{
75
0
    return OBJ_txt2nid(s);
76
0
}
77
int EAC_OBJ_ln2nid(const char *s)
78
0
{
79
0
    return OBJ_ln2nid(s);
80
0
}
81
int EAC_OBJ_sn2nid(const char *s)
82
0
{
83
0
    return OBJ_sn2nid(s);
84
0
}
85
86
#ifndef HAVE_PATCHED_OPENSSL
87
88
int objects_initialized = 0;
89
90
int NID_standardizedDomainParameters = NID_undef;
91
int NID_id_PK_DH = NID_undef;
92
int NID_id_PK_ECDH = NID_undef;
93
int NID_id_TA = NID_undef;
94
int NID_id_TA_RSA = NID_undef;
95
int NID_id_TA_RSA_v1_5_SHA_1 = NID_undef;
96
int NID_id_TA_RSA_v1_5_SHA_256 = NID_undef;
97
int NID_id_TA_RSA_PSS_SHA_1 = NID_undef;
98
int NID_id_TA_RSA_PSS_SHA_256 = NID_undef;
99
int NID_id_TA_RSA_v1_5_SHA_512 = NID_undef;
100
int NID_id_TA_RSA_PSS_SHA_512 = NID_undef;
101
int NID_id_TA_ECDSA = NID_undef;
102
int NID_id_TA_ECDSA_SHA_1 = NID_undef;
103
int NID_id_TA_ECDSA_SHA_224 = NID_undef;
104
int NID_id_TA_ECDSA_SHA_256 = NID_undef;
105
int NID_id_TA_ECDSA_SHA_384 = NID_undef;
106
int NID_id_TA_ECDSA_SHA_512 = NID_undef;
107
int NID_id_CA_DH = NID_undef;
108
int NID_id_CA_DH_3DES_CBC_CBC = NID_undef;
109
int NID_id_CA_DH_AES_CBC_CMAC_128 = NID_undef;
110
int NID_id_CA_DH_AES_CBC_CMAC_192 = NID_undef;
111
int NID_id_CA_DH_AES_CBC_CMAC_256 = NID_undef;
112
int NID_id_CA_ECDH = NID_undef;
113
int NID_id_CA_ECDH_3DES_CBC_CBC = NID_undef;
114
int NID_id_CA_ECDH_AES_CBC_CMAC_128 = NID_undef;
115
int NID_id_CA_ECDH_AES_CBC_CMAC_192 = NID_undef;
116
int NID_id_CA_ECDH_AES_CBC_CMAC_256 = NID_undef;
117
int NID_id_PACE_DH_GM = NID_undef;
118
int NID_id_PACE_DH_GM_3DES_CBC_CBC = NID_undef;
119
int NID_id_PACE_DH_GM_AES_CBC_CMAC_128 = NID_undef;
120
int NID_id_PACE_DH_GM_AES_CBC_CMAC_192 = NID_undef;
121
int NID_id_PACE_DH_GM_AES_CBC_CMAC_256 = NID_undef;
122
int NID_id_PACE_ECDH_GM = NID_undef;
123
int NID_id_PACE_ECDH_GM_3DES_CBC_CBC = NID_undef;
124
int NID_id_PACE_ECDH_GM_AES_CBC_CMAC_128 = NID_undef;
125
int NID_id_PACE_ECDH_GM_AES_CBC_CMAC_192 = NID_undef;
126
int NID_id_PACE_ECDH_GM_AES_CBC_CMAC_256 = NID_undef;
127
int NID_id_PACE_DH_IM = NID_undef;
128
int NID_id_PACE_DH_IM_3DES_CBC_CBC = NID_undef;
129
int NID_id_PACE_DH_IM_AES_CBC_CMAC_128 = NID_undef;
130
int NID_id_PACE_DH_IM_AES_CBC_CMAC_192 = NID_undef;
131
int NID_id_PACE_DH_IM_AES_CBC_CMAC_256 = NID_undef;
132
int NID_id_PACE_ECDH_IM = NID_undef;
133
int NID_id_PACE_ECDH_IM_3DES_CBC_CBC = NID_undef;
134
int NID_id_PACE_ECDH_IM_AES_CBC_CMAC_128 = NID_undef;
135
int NID_id_PACE_ECDH_IM_AES_CBC_CMAC_192 = NID_undef;
136
int NID_id_PACE_ECDH_IM_AES_CBC_CMAC_256 = NID_undef;
137
int NID_id_RI_DH = NID_undef;
138
int NID_id_RI_DH_SHA_1 = NID_undef;
139
int NID_id_RI_DH_SHA_224 = NID_undef;
140
int NID_id_RI_DH_SHA_256 = NID_undef;
141
int NID_id_RI_DH_SHA_384 = NID_undef;
142
int NID_id_RI_DH_SHA_512 = NID_undef;
143
int NID_id_RI_ECDH = NID_undef;
144
int NID_id_RI_ECDH_SHA_1 = NID_undef;
145
int NID_id_RI_ECDH_SHA_224 = NID_undef;
146
int NID_id_RI_ECDH_SHA_256 = NID_undef;
147
int NID_id_RI_ECDH_SHA_384 = NID_undef;
148
int NID_id_RI_ECDH_SHA_512 = NID_undef;
149
int NID_id_CI = NID_undef;
150
int NID_id_eIDSecurity = NID_undef;
151
int NID_id_PT = NID_undef;
152
int NID_cardInfoLocator = NID_undef;
153
int NID_eID = NID_undef;
154
int NID_ecka_dh_SessionKDF = NID_undef;
155
int NID_ecka_dh_SessionKDF_DES3 = NID_undef;
156
int NID_ecka_dh_SessionKDF_AES128 = NID_undef;
157
int NID_ecka_dh_SessionKDF_AES192 = NID_undef;
158
int NID_ecka_dh_SessionKDF_AES256 = NID_undef;
159
int NID_id_IS = NID_undef;
160
int NID_id_AT = NID_undef;
161
int NID_id_ST = NID_undef;
162
int NID_id_description = NID_undef;
163
int NID_id_plainFormat = NID_undef;
164
int NID_id_htmlFormat = NID_undef;
165
int NID_id_pdfFormat = NID_undef;
166
int NID_id_sector = NID_undef;
167
int NID_id_SecurityObject = NID_undef;
168
int NID_id_DateOfBirth = NID_undef;
169
int NID_id_DateOfExpiry = NID_undef;
170
int NID_id_CommunityID = NID_undef;
171
172
void
173
EAC_add_all_objects(void)
174
123
{
175
123
    int obj;
176
177
123
    if (objects_initialized)
178
122
        return;
179
180
    /* derived from a patched obj_mac.h with the power of regex */
181
79
#define ASC_bsi_de    "0.4.0.127.0.7"
182
183
1
#define ASC_standardizedDomainParameters    ASC_bsi_de".1.2"
184
1
    obj = OBJ_create(ASC_standardizedDomainParameters  , SN_standardizedDomainParameters  , SN_standardizedDomainParameters  );
185
1
    if (obj != NID_undef)
186
1
        NID_standardizedDomainParameters = obj;
187
188
2
#define ASC_id_PK   ASC_bsi_de".2.2.1"
189
190
1
#define ASC_id_PK_DH    ASC_id_PK".1"
191
1
    obj = OBJ_create(ASC_id_PK_DH  , SN_id_PK_DH  , SN_id_PK_DH  );
192
1
    if (obj != NID_undef)
193
1
        NID_id_PK_DH = obj;
194
195
1
#define ASC_id_PK_ECDH    ASC_id_PK".2"
196
1
    obj = OBJ_create(ASC_id_PK_ECDH  , SN_id_PK_ECDH  , SN_id_PK_ECDH  );
197
1
    if (obj != NID_undef)
198
1
        NID_id_PK_ECDH = obj;
199
200
14
#define ASC_id_TA   ASC_bsi_de".2.2.2"
201
1
    obj = OBJ_create(ASC_id_TA  , SN_id_TA  , SN_id_TA  );
202
1
    if (obj != NID_undef)
203
1
        NID_id_TA = obj;
204
205
7
#define ASC_id_TA_RSA   ASC_id_TA".1"
206
1
    obj = OBJ_create(ASC_id_TA_RSA  , SN_id_TA_RSA  , SN_id_TA_RSA  );
207
1
    if (obj != NID_undef)
208
1
        NID_id_TA_RSA = obj;
209
210
1
#define ASC_id_TA_RSA_v1_5_SHA_1    ASC_id_TA_RSA".1"
211
1
    obj = OBJ_create(ASC_id_TA_RSA_v1_5_SHA_1  , SN_id_TA_RSA_v1_5_SHA_1  , SN_id_TA_RSA_v1_5_SHA_1  );
212
1
    if (obj != NID_undef)
213
1
        NID_id_TA_RSA_v1_5_SHA_1 = obj;
214
215
1
#define ASC_id_TA_RSA_v1_5_SHA_256    ASC_id_TA_RSA".2"
216
1
    obj = OBJ_create(ASC_id_TA_RSA_v1_5_SHA_256  , SN_id_TA_RSA_v1_5_SHA_256  , SN_id_TA_RSA_v1_5_SHA_256  );
217
1
    if (obj != NID_undef)
218
1
        NID_id_TA_RSA_v1_5_SHA_256 = obj;
219
220
1
#define ASC_id_TA_RSA_PSS_SHA_1   ASC_id_TA_RSA".3"
221
1
    obj = OBJ_create(ASC_id_TA_RSA_PSS_SHA_1  , SN_id_TA_RSA_PSS_SHA_1  , SN_id_TA_RSA_PSS_SHA_1  );
222
1
    if (obj != NID_undef)
223
1
        NID_id_TA_RSA_PSS_SHA_1 = obj;
224
225
1
#define ASC_id_TA_RSA_PSS_SHA_256   ASC_id_TA_RSA".4"
226
1
    obj = OBJ_create(ASC_id_TA_RSA_PSS_SHA_256  , SN_id_TA_RSA_PSS_SHA_256  , SN_id_TA_RSA_PSS_SHA_256  );
227
1
    if (obj != NID_undef)
228
1
        NID_id_TA_RSA_PSS_SHA_256 = obj;
229
230
1
#define ASC_id_TA_RSA_v1_5_SHA_512    ASC_id_TA_RSA".5"
231
1
    obj = OBJ_create(ASC_id_TA_RSA_v1_5_SHA_512  , SN_id_TA_RSA_v1_5_SHA_512  , SN_id_TA_RSA_v1_5_SHA_512  );
232
1
    if (obj != NID_undef)
233
1
        NID_id_TA_RSA_v1_5_SHA_512 = obj;
234
235
1
#define ASC_id_TA_RSA_PSS_SHA_512   ASC_id_TA_RSA".6"
236
1
    obj = OBJ_create(ASC_id_TA_RSA_PSS_SHA_512  , SN_id_TA_RSA_PSS_SHA_512  , SN_id_TA_RSA_PSS_SHA_512  );
237
1
    if (obj != NID_undef)
238
1
        NID_id_TA_RSA_PSS_SHA_512 = obj;
239
240
6
#define ASC_id_TA_ECDSA   ASC_id_TA".2"
241
1
    obj = OBJ_create(ASC_id_TA_ECDSA  , SN_id_TA_ECDSA  , SN_id_TA_ECDSA  );
242
1
    if (obj != NID_undef)
243
1
        NID_id_TA_ECDSA = obj;
244
245
1
#define ASC_id_TA_ECDSA_SHA_1   ASC_id_TA_ECDSA".1"
246
1
    obj = OBJ_create(ASC_id_TA_ECDSA_SHA_1  , SN_id_TA_ECDSA_SHA_1  , SN_id_TA_ECDSA_SHA_1  );
247
1
    if (obj != NID_undef)
248
1
        NID_id_TA_ECDSA_SHA_1 = obj;
249
250
1
#define ASC_id_TA_ECDSA_SHA_224   ASC_id_TA_ECDSA".2"
251
1
    obj = OBJ_create(ASC_id_TA_ECDSA_SHA_224  , SN_id_TA_ECDSA_SHA_224  , SN_id_TA_ECDSA_SHA_224  );
252
1
    if (obj != NID_undef)
253
1
        NID_id_TA_ECDSA_SHA_224 = obj;
254
255
1
#define ASC_id_TA_ECDSA_SHA_256   ASC_id_TA_ECDSA".3"
256
1
    obj = OBJ_create(ASC_id_TA_ECDSA_SHA_256  , SN_id_TA_ECDSA_SHA_256  , SN_id_TA_ECDSA_SHA_256  );
257
1
    if (obj != NID_undef)
258
1
        NID_id_TA_ECDSA_SHA_256 = obj;
259
260
1
#define ASC_id_TA_ECDSA_SHA_384   ASC_id_TA_ECDSA".4"
261
1
    obj = OBJ_create(ASC_id_TA_ECDSA_SHA_384  , SN_id_TA_ECDSA_SHA_384  , SN_id_TA_ECDSA_SHA_384  );
262
1
    if (obj != NID_undef)
263
1
        NID_id_TA_ECDSA_SHA_384 = obj;
264
265
1
#define ASC_id_TA_ECDSA_SHA_512   ASC_id_TA_ECDSA".5"
266
1
    obj = OBJ_create(ASC_id_TA_ECDSA_SHA_512  , SN_id_TA_ECDSA_SHA_512  , SN_id_TA_ECDSA_SHA_512  );
267
1
    if (obj != NID_undef)
268
1
        NID_id_TA_ECDSA_SHA_512 = obj;
269
270
10
#define ASC_id_CA   ASC_bsi_de".2.2.3"
271
272
5
#define ASC_id_CA_DH    ASC_id_CA".1"
273
1
    obj = OBJ_create(ASC_id_CA_DH  , SN_id_CA_DH  , SN_id_CA_DH  );
274
1
    if (obj != NID_undef)
275
1
        NID_id_CA_DH = obj;
276
277
1
#define ASC_id_CA_DH_3DES_CBC_CBC   ASC_id_CA_DH".1"
278
1
    obj = OBJ_create(ASC_id_CA_DH_3DES_CBC_CBC  , SN_id_CA_DH_3DES_CBC_CBC  , SN_id_CA_DH_3DES_CBC_CBC  );
279
1
    if (obj != NID_undef)
280
1
        NID_id_CA_DH_3DES_CBC_CBC = obj;
281
282
1
#define ASC_id_CA_DH_AES_CBC_CMAC_128   ASC_id_CA_DH".2"
283
1
    obj = OBJ_create(ASC_id_CA_DH_AES_CBC_CMAC_128  , SN_id_CA_DH_AES_CBC_CMAC_128  , SN_id_CA_DH_AES_CBC_CMAC_128  );
284
1
    if (obj != NID_undef)
285
1
        NID_id_CA_DH_AES_CBC_CMAC_128 = obj;
286
287
1
#define ASC_id_CA_DH_AES_CBC_CMAC_192   ASC_id_CA_DH".3"
288
1
    obj = OBJ_create(ASC_id_CA_DH_AES_CBC_CMAC_192  , SN_id_CA_DH_AES_CBC_CMAC_192  , SN_id_CA_DH_AES_CBC_CMAC_192  );
289
1
    if (obj != NID_undef)
290
1
        NID_id_CA_DH_AES_CBC_CMAC_192 = obj;
291
292
1
#define ASC_id_CA_DH_AES_CBC_CMAC_256   ASC_id_CA_DH".4"
293
1
    obj = OBJ_create(ASC_id_CA_DH_AES_CBC_CMAC_256  , SN_id_CA_DH_AES_CBC_CMAC_256  , SN_id_CA_DH_AES_CBC_CMAC_256  );
294
1
    if (obj != NID_undef)
295
1
        NID_id_CA_DH_AES_CBC_CMAC_256 = obj;
296
297
5
#define ASC_id_CA_ECDH    ASC_id_CA".2"
298
1
    obj = OBJ_create(ASC_id_CA_ECDH  , SN_id_CA_ECDH  , SN_id_CA_ECDH  );
299
1
    if (obj != NID_undef)
300
1
        NID_id_CA_ECDH = obj;
301
302
1
#define ASC_id_CA_ECDH_3DES_CBC_CBC   ASC_id_CA_ECDH".1"
303
1
    obj = OBJ_create(ASC_id_CA_ECDH_3DES_CBC_CBC  , SN_id_CA_ECDH_3DES_CBC_CBC  , SN_id_CA_ECDH_3DES_CBC_CBC  );
304
1
    if (obj != NID_undef)
305
1
        NID_id_CA_ECDH_3DES_CBC_CBC = obj;
306
307
1
#define ASC_id_CA_ECDH_AES_CBC_CMAC_128   ASC_id_CA_ECDH".2"
308
1
    obj = OBJ_create(ASC_id_CA_ECDH_AES_CBC_CMAC_128  , SN_id_CA_ECDH_AES_CBC_CMAC_128  , SN_id_CA_ECDH_AES_CBC_CMAC_128  );
309
1
    if (obj != NID_undef)
310
1
        NID_id_CA_ECDH_AES_CBC_CMAC_128 = obj;
311
312
1
#define ASC_id_CA_ECDH_AES_CBC_CMAC_192   ASC_id_CA_ECDH".3"
313
1
    obj = OBJ_create(ASC_id_CA_ECDH_AES_CBC_CMAC_192  , SN_id_CA_ECDH_AES_CBC_CMAC_192  , SN_id_CA_ECDH_AES_CBC_CMAC_192  );
314
1
    if (obj != NID_undef)
315
1
        NID_id_CA_ECDH_AES_CBC_CMAC_192 = obj;
316
317
1
#define ASC_id_CA_ECDH_AES_CBC_CMAC_256   ASC_id_CA_ECDH".4"
318
1
    obj = OBJ_create(ASC_id_CA_ECDH_AES_CBC_CMAC_256  , SN_id_CA_ECDH_AES_CBC_CMAC_256  , SN_id_CA_ECDH_AES_CBC_CMAC_256  );
319
1
    if (obj != NID_undef)
320
1
        NID_id_CA_ECDH_AES_CBC_CMAC_256 = obj;
321
322
20
#define ASC_id_PACE   ASC_bsi_de".2.2.4"
323
324
5
#define ASC_id_PACE_DH_GM   ASC_id_PACE".1"
325
1
    obj = OBJ_create(ASC_id_PACE_DH_GM  , SN_id_PACE_DH_GM  , SN_id_PACE_DH_GM  );
326
1
    if (obj != NID_undef)
327
1
        NID_id_PACE_DH_GM = obj;
328
329
1
#define ASC_id_PACE_DH_GM_3DES_CBC_CBC    ASC_id_PACE_DH_GM".1"
330
1
    obj = OBJ_create(ASC_id_PACE_DH_GM_3DES_CBC_CBC  , SN_id_PACE_DH_GM_3DES_CBC_CBC  , SN_id_PACE_DH_GM_3DES_CBC_CBC  );
331
1
    if (obj != NID_undef)
332
1
        NID_id_PACE_DH_GM_3DES_CBC_CBC = obj;
333
334
1
#define ASC_id_PACE_DH_GM_AES_CBC_CMAC_128    ASC_id_PACE_DH_GM".2"
335
1
    obj = OBJ_create(ASC_id_PACE_DH_GM_AES_CBC_CMAC_128  , SN_id_PACE_DH_GM_AES_CBC_CMAC_128  , SN_id_PACE_DH_GM_AES_CBC_CMAC_128  );
336
1
    if (obj != NID_undef)
337
1
        NID_id_PACE_DH_GM_AES_CBC_CMAC_128 = obj;
338
339
1
#define ASC_id_PACE_DH_GM_AES_CBC_CMAC_192    ASC_id_PACE_DH_GM".3"
340
1
    obj = OBJ_create(ASC_id_PACE_DH_GM_AES_CBC_CMAC_192  , SN_id_PACE_DH_GM_AES_CBC_CMAC_192  , SN_id_PACE_DH_GM_AES_CBC_CMAC_192  );
341
1
    if (obj != NID_undef)
342
1
        NID_id_PACE_DH_GM_AES_CBC_CMAC_192 = obj;
343
344
1
#define ASC_id_PACE_DH_GM_AES_CBC_CMAC_256    ASC_id_PACE_DH_GM".4"
345
1
    obj = OBJ_create(ASC_id_PACE_DH_GM_AES_CBC_CMAC_256  , SN_id_PACE_DH_GM_AES_CBC_CMAC_256  , SN_id_PACE_DH_GM_AES_CBC_CMAC_256  );
346
1
    if (obj != NID_undef)
347
1
        NID_id_PACE_DH_GM_AES_CBC_CMAC_256 = obj;
348
349
5
#define ASC_id_PACE_ECDH_GM   ASC_id_PACE".2"
350
1
    obj = OBJ_create(ASC_id_PACE_ECDH_GM  , SN_id_PACE_ECDH_GM  , SN_id_PACE_ECDH_GM  );
351
1
    if (obj != NID_undef)
352
1
        NID_id_PACE_ECDH_GM = obj;
353
354
1
#define ASC_id_PACE_ECDH_GM_3DES_CBC_CBC    ASC_id_PACE_ECDH_GM".1"
355
1
    obj = OBJ_create(ASC_id_PACE_ECDH_GM_3DES_CBC_CBC  , SN_id_PACE_ECDH_GM_3DES_CBC_CBC  , SN_id_PACE_ECDH_GM_3DES_CBC_CBC  );
356
1
    if (obj != NID_undef)
357
1
        NID_id_PACE_ECDH_GM_3DES_CBC_CBC = obj;
358
359
1
#define ASC_id_PACE_ECDH_GM_AES_CBC_CMAC_128    ASC_id_PACE_ECDH_GM".2"
360
1
    obj = OBJ_create(ASC_id_PACE_ECDH_GM_AES_CBC_CMAC_128  , SN_id_PACE_ECDH_GM_AES_CBC_CMAC_128  , SN_id_PACE_ECDH_GM_AES_CBC_CMAC_128  );
361
1
    if (obj != NID_undef)
362
1
        NID_id_PACE_ECDH_GM_AES_CBC_CMAC_128 = obj;
363
364
1
#define ASC_id_PACE_ECDH_GM_AES_CBC_CMAC_192    ASC_id_PACE_ECDH_GM".3"
365
1
    obj = OBJ_create(ASC_id_PACE_ECDH_GM_AES_CBC_CMAC_192  , SN_id_PACE_ECDH_GM_AES_CBC_CMAC_192  , SN_id_PACE_ECDH_GM_AES_CBC_CMAC_192  );
366
1
    if (obj != NID_undef)
367
1
        NID_id_PACE_ECDH_GM_AES_CBC_CMAC_192 = obj;
368
369
1
#define ASC_id_PACE_ECDH_GM_AES_CBC_CMAC_256    ASC_id_PACE_ECDH_GM".4"
370
1
    obj = OBJ_create(ASC_id_PACE_ECDH_GM_AES_CBC_CMAC_256  , SN_id_PACE_ECDH_GM_AES_CBC_CMAC_256  , SN_id_PACE_ECDH_GM_AES_CBC_CMAC_256  );
371
1
    if (obj != NID_undef)
372
1
        NID_id_PACE_ECDH_GM_AES_CBC_CMAC_256 = obj;
373
374
5
#define ASC_id_PACE_DH_IM   ASC_id_PACE".3"
375
1
    obj = OBJ_create(ASC_id_PACE_DH_IM  , SN_id_PACE_DH_IM  , SN_id_PACE_DH_IM  );
376
1
    if (obj != NID_undef)
377
1
        NID_id_PACE_DH_IM = obj;
378
379
1
#define ASC_id_PACE_DH_IM_3DES_CBC_CBC    ASC_id_PACE_DH_IM".1"
380
1
    obj = OBJ_create(ASC_id_PACE_DH_IM_3DES_CBC_CBC  , SN_id_PACE_DH_IM_3DES_CBC_CBC  , SN_id_PACE_DH_IM_3DES_CBC_CBC  );
381
1
    if (obj != NID_undef)
382
1
        NID_id_PACE_DH_IM_3DES_CBC_CBC = obj;
383
384
1
#define ASC_id_PACE_DH_IM_AES_CBC_CMAC_128    ASC_id_PACE_DH_IM".2"
385
1
    obj = OBJ_create(ASC_id_PACE_DH_IM_AES_CBC_CMAC_128  , SN_id_PACE_DH_IM_AES_CBC_CMAC_128  , SN_id_PACE_DH_IM_AES_CBC_CMAC_128  );
386
1
    if (obj != NID_undef)
387
1
        NID_id_PACE_DH_IM_AES_CBC_CMAC_128 = obj;
388
389
1
#define ASC_id_PACE_DH_IM_AES_CBC_CMAC_192    ASC_id_PACE_DH_IM".3"
390
1
    obj = OBJ_create(ASC_id_PACE_DH_IM_AES_CBC_CMAC_192  , SN_id_PACE_DH_IM_AES_CBC_CMAC_192  , SN_id_PACE_DH_IM_AES_CBC_CMAC_192  );
391
1
    if (obj != NID_undef)
392
1
        NID_id_PACE_DH_IM_AES_CBC_CMAC_192 = obj;
393
394
1
#define ASC_id_PACE_DH_IM_AES_CBC_CMAC_256    ASC_id_PACE_DH_IM".4"
395
1
    obj = OBJ_create(ASC_id_PACE_DH_IM_AES_CBC_CMAC_256  , SN_id_PACE_DH_IM_AES_CBC_CMAC_256  , SN_id_PACE_DH_IM_AES_CBC_CMAC_256  );
396
1
    if (obj != NID_undef)
397
1
        NID_id_PACE_DH_IM_AES_CBC_CMAC_256 = obj;
398
399
5
#define ASC_id_PACE_ECDH_IM   ASC_id_PACE".4"
400
1
    obj = OBJ_create(ASC_id_PACE_ECDH_IM  , SN_id_PACE_ECDH_IM  , SN_id_PACE_ECDH_IM  );
401
1
    if (obj != NID_undef)
402
1
        NID_id_PACE_ECDH_IM = obj;
403
404
1
#define ASC_id_PACE_ECDH_IM_3DES_CBC_CBC    ASC_id_PACE_ECDH_IM".1"
405
1
    obj = OBJ_create(ASC_id_PACE_ECDH_IM_3DES_CBC_CBC  , SN_id_PACE_ECDH_IM_3DES_CBC_CBC  , SN_id_PACE_ECDH_IM_3DES_CBC_CBC  );
406
1
    if (obj != NID_undef)
407
1
        NID_id_PACE_ECDH_IM_3DES_CBC_CBC = obj;
408
409
1
#define ASC_id_PACE_ECDH_IM_AES_CBC_CMAC_128    ASC_id_PACE_ECDH_IM".2"
410
1
    obj = OBJ_create(ASC_id_PACE_ECDH_IM_AES_CBC_CMAC_128  , SN_id_PACE_ECDH_IM_AES_CBC_CMAC_128  , SN_id_PACE_ECDH_IM_AES_CBC_CMAC_128  );
411
1
    if (obj != NID_undef)
412
1
        NID_id_PACE_ECDH_IM_AES_CBC_CMAC_128 = obj;
413
414
1
#define ASC_id_PACE_ECDH_IM_AES_CBC_CMAC_192    ASC_id_PACE_ECDH_IM".3"
415
1
    obj = OBJ_create(ASC_id_PACE_ECDH_IM_AES_CBC_CMAC_192  , SN_id_PACE_ECDH_IM_AES_CBC_CMAC_192  , SN_id_PACE_ECDH_IM_AES_CBC_CMAC_192  );
416
1
    if (obj != NID_undef)
417
1
        NID_id_PACE_ECDH_IM_AES_CBC_CMAC_192 = obj;
418
419
1
#define ASC_id_PACE_ECDH_IM_AES_CBC_CMAC_256    ASC_id_PACE_ECDH_IM".4"
420
1
    obj = OBJ_create(ASC_id_PACE_ECDH_IM_AES_CBC_CMAC_256  , SN_id_PACE_ECDH_IM_AES_CBC_CMAC_256  , SN_id_PACE_ECDH_IM_AES_CBC_CMAC_256  );
421
1
    if (obj != NID_undef)
422
1
        NID_id_PACE_ECDH_IM_AES_CBC_CMAC_256 = obj;
423
424
12
#define ASC_id_RI   ASC_bsi_de".2.2.5"
425
426
6
#define ASC_id_RI_DH    ASC_id_RI".1"
427
1
    obj = OBJ_create(ASC_id_RI_DH  , SN_id_RI_DH  , SN_id_RI_DH  );
428
1
    if (obj != NID_undef)
429
1
        NID_id_RI_DH = obj;
430
431
1
#define ASC_id_RI_DH_SHA_1    ASC_id_RI_DH".1"
432
1
    obj = OBJ_create(ASC_id_RI_DH_SHA_1  , SN_id_RI_DH_SHA_1  , SN_id_RI_DH_SHA_1  );
433
1
    if (obj != NID_undef)
434
1
        NID_id_RI_DH_SHA_1 = obj;
435
436
1
#define ASC_id_RI_DH_SHA_224    ASC_id_RI_DH".2"
437
1
    obj = OBJ_create(ASC_id_RI_DH_SHA_224  , SN_id_RI_DH_SHA_224  , SN_id_RI_DH_SHA_224  );
438
1
    if (obj != NID_undef)
439
1
        NID_id_RI_DH_SHA_224 = obj;
440
441
1
#define ASC_id_RI_DH_SHA_256    ASC_id_RI_DH".3"
442
1
    obj = OBJ_create(ASC_id_RI_DH_SHA_256  , SN_id_RI_DH_SHA_256  , SN_id_RI_DH_SHA_256  );
443
1
    if (obj != NID_undef)
444
1
        NID_id_RI_DH_SHA_256 = obj;
445
446
1
#define ASC_id_RI_DH_SHA_384    ASC_id_RI_DH".4"
447
1
    obj = OBJ_create(ASC_id_RI_DH_SHA_384  , SN_id_RI_DH_SHA_384  , SN_id_RI_DH_SHA_384  );
448
1
    if (obj != NID_undef)
449
1
        NID_id_RI_DH_SHA_384 = obj;
450
451
1
#define ASC_id_RI_DH_SHA_512    ASC_id_RI_DH".5"
452
1
    obj = OBJ_create(ASC_id_RI_DH_SHA_512  , SN_id_RI_DH_SHA_512  , SN_id_RI_DH_SHA_512  );
453
1
    if (obj != NID_undef)
454
1
        NID_id_RI_DH_SHA_512 = obj;
455
456
6
#define ASC_id_RI_ECDH    ASC_id_RI".2"
457
1
    obj = OBJ_create(ASC_id_RI_ECDH  , SN_id_RI_ECDH  , SN_id_RI_ECDH  );
458
1
    if (obj != NID_undef)
459
1
        NID_id_RI_ECDH = obj;
460
461
1
#define ASC_id_RI_ECDH_SHA_1    ASC_id_RI_ECDH".1"
462
1
    obj = OBJ_create(ASC_id_RI_ECDH_SHA_1  , SN_id_RI_ECDH_SHA_1  , SN_id_RI_ECDH_SHA_1  );
463
1
    if (obj != NID_undef)
464
1
        NID_id_RI_ECDH_SHA_1 = obj;
465
466
1
#define ASC_id_RI_ECDH_SHA_224    ASC_id_RI_ECDH".2"
467
1
    obj = OBJ_create(ASC_id_RI_ECDH_SHA_224  , SN_id_RI_ECDH_SHA_224  , SN_id_RI_ECDH_SHA_224  );
468
1
    if (obj != NID_undef)
469
1
        NID_id_RI_ECDH_SHA_224 = obj;
470
471
1
#define ASC_id_RI_ECDH_SHA_256    ASC_id_RI_ECDH".3"
472
1
    obj = OBJ_create(ASC_id_RI_ECDH_SHA_256  , SN_id_RI_ECDH_SHA_256  , SN_id_RI_ECDH_SHA_256  );
473
1
    if (obj != NID_undef)
474
1
        NID_id_RI_ECDH_SHA_256 = obj;
475
476
1
#define ASC_id_RI_ECDH_SHA_384    ASC_id_RI_ECDH".4"
477
1
    obj = OBJ_create(ASC_id_RI_ECDH_SHA_384  , SN_id_RI_ECDH_SHA_384  , SN_id_RI_ECDH_SHA_384  );
478
1
    if (obj != NID_undef)
479
1
        NID_id_RI_ECDH_SHA_384 = obj;
480
481
1
#define ASC_id_RI_ECDH_SHA_512    ASC_id_RI_ECDH".5"
482
1
    obj = OBJ_create(ASC_id_RI_ECDH_SHA_512  , SN_id_RI_ECDH_SHA_512  , SN_id_RI_ECDH_SHA_512  );
483
1
    if (obj != NID_undef)
484
1
        NID_id_RI_ECDH_SHA_512 = obj;
485
486
1
#define ASC_id_CI   ASC_bsi_de".2.2.6"
487
1
    obj = OBJ_create(ASC_id_CI  , SN_id_CI  , SN_id_CI  );
488
1
    if (obj != NID_undef)
489
1
        NID_id_CI = obj;
490
491
1
#define ASC_id_eIDSecurity    ASC_bsi_de".2.2.7"
492
1
    obj = OBJ_create(ASC_id_eIDSecurity  , SN_id_eIDSecurity  , SN_id_eIDSecurity  );
493
1
    if (obj != NID_undef)
494
1
        NID_id_eIDSecurity = obj;
495
496
1
#define ASC_id_PT   ASC_bsi_de".2.2.8"
497
1
    obj = OBJ_create(ASC_id_PT  , SN_id_PT  , SN_id_PT  );
498
1
    if (obj != NID_undef)
499
1
        NID_id_PT = obj;
500
501
5
#define ASC_id_ecc    ASC_bsi_de".1.1"
502
503
5
#define ASC_ecka_dh   ASC_id_ecc".5.2"
504
505
1
#define ASC_ecka_dh_SessionKDF    ASC_ecka_dh".2"
506
1
    obj = OBJ_create(ASC_ecka_dh_SessionKDF  , SN_ecka_dh_SessionKDF  , SN_ecka_dh_SessionKDF  );
507
1
    if (obj != NID_undef)
508
1
        NID_ecka_dh_SessionKDF = obj;
509
510
1
#define ASC_ecka_dh_SessionKDF_DES3   ASC_ecka_dh".2.1"
511
1
    obj = OBJ_create(ASC_ecka_dh_SessionKDF_DES3  , SN_ecka_dh_SessionKDF_DES3  , SN_ecka_dh_SessionKDF_DES3  );
512
1
    if (obj != NID_undef)
513
1
        NID_ecka_dh_SessionKDF_DES3 = obj;
514
515
1
#define ASC_ecka_dh_SessionKDF_AES128   ASC_ecka_dh".2.2"
516
1
    obj = OBJ_create(ASC_ecka_dh_SessionKDF_AES128  , SN_ecka_dh_SessionKDF_AES128  , SN_ecka_dh_SessionKDF_AES128  );
517
1
    if (obj != NID_undef)
518
1
        NID_ecka_dh_SessionKDF_AES128 = obj;
519
520
1
#define ASC_ecka_dh_SessionKDF_AES192   ASC_ecka_dh".2.3"
521
1
    obj = OBJ_create(ASC_ecka_dh_SessionKDF_AES192  , SN_ecka_dh_SessionKDF_AES192  , SN_ecka_dh_SessionKDF_AES192  );
522
1
    if (obj != NID_undef)
523
1
        NID_ecka_dh_SessionKDF_AES192 = obj;
524
525
1
#define ASC_ecka_dh_SessionKDF_AES256   ASC_ecka_dh".2.4"
526
1
    obj = OBJ_create(ASC_ecka_dh_SessionKDF_AES256  , SN_ecka_dh_SessionKDF_AES256  , SN_ecka_dh_SessionKDF_AES256  );
527
1
    if (obj != NID_undef)
528
1
        NID_ecka_dh_SessionKDF_AES256 = obj;
529
530
3
#define ASC_id_roles    ASC_bsi_de".3.1.2"
531
532
1
#define ASC_id_IS   ASC_id_roles".1"
533
1
    obj = OBJ_create(ASC_id_IS  , SN_id_IS  , SN_id_IS  );
534
1
    if (obj != NID_undef)
535
1
        NID_id_IS = obj;
536
537
1
#define ASC_id_AT   ASC_id_roles".2"
538
1
    obj = OBJ_create(ASC_id_AT  , SN_id_AT  , SN_id_AT  );
539
1
    if (obj != NID_undef)
540
1
        NID_id_AT = obj;
541
542
1
#define ASC_id_ST   ASC_id_roles".3"
543
1
    obj = OBJ_create(ASC_id_ST  , SN_id_ST  , SN_id_ST  );
544
1
    if (obj != NID_undef)
545
1
        NID_id_ST = obj;
546
547
5
#define ASC_id_extensions   ASC_bsi_de".3.1.3"
548
549
4
#define ASC_id_description    ASC_id_extensions".1"
550
1
    obj = OBJ_create(ASC_id_description  , SN_id_description  , SN_id_description  );
551
1
    if (obj != NID_undef)
552
1
        NID_id_description = obj;
553
554
1
#define ASC_id_plainFormat    ASC_id_description".1"
555
1
    obj = OBJ_create(ASC_id_plainFormat  , SN_id_plainFormat  , SN_id_plainFormat  );
556
1
    if (obj != NID_undef)
557
1
        NID_id_plainFormat = obj;
558
559
1
#define ASC_id_htmlFormat   ASC_id_description".2"
560
1
    obj = OBJ_create(ASC_id_htmlFormat  , SN_id_htmlFormat  , SN_id_htmlFormat  );
561
1
    if (obj != NID_undef)
562
1
        NID_id_htmlFormat = obj;
563
564
1
#define ASC_id_pdfFormat    ASC_id_description".3"
565
1
    obj = OBJ_create(ASC_id_pdfFormat  , SN_id_pdfFormat  , SN_id_pdfFormat  );
566
1
    if (obj != NID_undef)
567
1
        NID_id_pdfFormat = obj;
568
569
1
#define ASC_id_sector   ASC_id_extensions".2"
570
1
    obj = OBJ_create(ASC_id_sector  , SN_id_sector  , SN_id_sector  );
571
1
    if (obj != NID_undef)
572
1
        NID_id_sector = obj;
573
574
1
#define ASC_id_eID    ASC_bsi_de".3.2"
575
576
1
#define ASC_id_SecurityObject   ASC_id_eID".1"
577
1
    obj = OBJ_create(ASC_id_SecurityObject  , SN_id_SecurityObject  , SN_id_SecurityObject  );
578
1
    if (obj != NID_undef)
579
1
        NID_id_SecurityObject = obj;
580
581
3
#define ASC_id_AuxiliaryData    ASC_bsi_de".3.1.4"
582
583
1
#define ASC_id_DateOfBirth    ASC_id_AuxiliaryData".1"
584
1
    obj = OBJ_create(ASC_id_DateOfBirth  , SN_id_DateOfBirth  , SN_id_DateOfBirth  );
585
1
    if (obj != NID_undef)
586
1
        NID_id_DateOfBirth = obj;
587
588
1
#define ASC_id_DateOfExpiry   ASC_id_AuxiliaryData".2"
589
1
    obj = OBJ_create(ASC_id_DateOfExpiry  , SN_id_DateOfExpiry  , SN_id_DateOfExpiry  );
590
1
    if (obj != NID_undef)
591
1
        NID_id_DateOfExpiry = obj;
592
593
1
#define ASC_id_CommunityID    ASC_id_AuxiliaryData".3"
594
1
    obj = OBJ_create(ASC_id_CommunityID  , SN_id_CommunityID  , SN_id_CommunityID  );
595
1
    if (obj != NID_undef)
596
1
        NID_id_CommunityID = obj;
597
598
1
    if (NID_undef == NID_standardizedDomainParameters
599
1
            || NID_undef == NID_id_PK_DH
600
1
            || NID_undef == NID_id_PK_ECDH
601
1
            || NID_undef == NID_id_TA
602
1
            || NID_undef == NID_id_TA_RSA
603
1
            || NID_undef == NID_id_TA_RSA_v1_5_SHA_1
604
1
            || NID_undef == NID_id_TA_RSA_v1_5_SHA_256
605
1
            || NID_undef == NID_id_TA_RSA_PSS_SHA_1
606
1
            || NID_undef == NID_id_TA_RSA_PSS_SHA_256
607
1
            || NID_undef == NID_id_TA_RSA_v1_5_SHA_512
608
1
            || NID_undef == NID_id_TA_RSA_PSS_SHA_512
609
1
            || NID_undef == NID_id_TA_ECDSA
610
1
            || NID_undef == NID_id_TA_ECDSA_SHA_1
611
1
            || NID_undef == NID_id_TA_ECDSA_SHA_224
612
1
            || NID_undef == NID_id_TA_ECDSA_SHA_256
613
1
            || NID_undef == NID_id_TA_ECDSA_SHA_384
614
1
            || NID_undef == NID_id_TA_ECDSA_SHA_512
615
1
            || NID_undef == NID_id_CA_DH
616
1
            || NID_undef == NID_id_CA_DH_3DES_CBC_CBC
617
1
            || NID_undef == NID_id_CA_DH_AES_CBC_CMAC_128
618
1
            || NID_undef == NID_id_CA_DH_AES_CBC_CMAC_192
619
1
            || NID_undef == NID_id_CA_DH_AES_CBC_CMAC_256
620
1
            || NID_undef == NID_id_CA_ECDH
621
1
            || NID_undef == NID_id_CA_ECDH_3DES_CBC_CBC
622
1
            || NID_undef == NID_id_CA_ECDH_AES_CBC_CMAC_128
623
1
            || NID_undef == NID_id_CA_ECDH_AES_CBC_CMAC_192
624
1
            || NID_undef == NID_id_CA_ECDH_AES_CBC_CMAC_256
625
1
            || NID_undef == NID_id_PACE_DH_GM
626
1
            || NID_undef == NID_id_PACE_DH_GM_3DES_CBC_CBC
627
1
            || NID_undef == NID_id_PACE_DH_GM_AES_CBC_CMAC_128
628
1
            || NID_undef == NID_id_PACE_DH_GM_AES_CBC_CMAC_192
629
1
            || NID_undef == NID_id_PACE_DH_GM_AES_CBC_CMAC_256
630
1
            || NID_undef == NID_id_PACE_ECDH_GM
631
1
            || NID_undef == NID_id_PACE_ECDH_GM_3DES_CBC_CBC
632
1
            || NID_undef == NID_id_PACE_ECDH_GM_AES_CBC_CMAC_128
633
1
            || NID_undef == NID_id_PACE_ECDH_GM_AES_CBC_CMAC_192
634
1
            || NID_undef == NID_id_PACE_ECDH_GM_AES_CBC_CMAC_256
635
1
            || NID_undef == NID_id_PACE_DH_IM
636
1
            || NID_undef == NID_id_PACE_DH_IM_3DES_CBC_CBC
637
1
            || NID_undef == NID_id_PACE_DH_IM_AES_CBC_CMAC_128
638
1
            || NID_undef == NID_id_PACE_DH_IM_AES_CBC_CMAC_192
639
1
            || NID_undef == NID_id_PACE_DH_IM_AES_CBC_CMAC_256
640
1
            || NID_undef == NID_id_PACE_ECDH_IM
641
1
            || NID_undef == NID_id_PACE_ECDH_IM_3DES_CBC_CBC
642
1
            || NID_undef == NID_id_PACE_ECDH_IM_AES_CBC_CMAC_128
643
1
            || NID_undef == NID_id_PACE_ECDH_IM_AES_CBC_CMAC_192
644
1
            || NID_undef == NID_id_PACE_ECDH_IM_AES_CBC_CMAC_256
645
1
            || NID_undef == NID_id_RI_DH
646
1
            || NID_undef == NID_id_RI_DH_SHA_1
647
1
            || NID_undef == NID_id_RI_DH_SHA_224
648
1
            || NID_undef == NID_id_RI_DH_SHA_256
649
1
            || NID_undef == NID_id_RI_DH_SHA_384
650
1
            || NID_undef == NID_id_RI_DH_SHA_512
651
1
            || NID_undef == NID_id_RI_ECDH
652
1
            || NID_undef == NID_id_RI_ECDH_SHA_1
653
1
            || NID_undef == NID_id_RI_ECDH_SHA_224
654
1
            || NID_undef == NID_id_RI_ECDH_SHA_256
655
1
            || NID_undef == NID_id_RI_ECDH_SHA_384
656
1
            || NID_undef == NID_id_RI_ECDH_SHA_512
657
1
            || NID_undef == NID_id_CI
658
1
            || NID_undef == NID_id_eIDSecurity
659
1
            || NID_undef == NID_id_PT
660
1
            || NID_undef == NID_ecka_dh_SessionKDF
661
1
            || NID_undef == NID_ecka_dh_SessionKDF_DES3
662
1
            || NID_undef == NID_ecka_dh_SessionKDF_AES128
663
1
            || NID_undef == NID_ecka_dh_SessionKDF_AES192
664
1
            || NID_undef == NID_ecka_dh_SessionKDF_AES256
665
1
            || NID_undef == NID_id_IS
666
1
            || NID_undef == NID_id_AT
667
1
            || NID_undef == NID_id_ST
668
1
            || NID_undef == NID_id_description
669
1
            || NID_undef == NID_id_plainFormat
670
1
            || NID_undef == NID_id_htmlFormat
671
1
            || NID_undef == NID_id_pdfFormat
672
1
            || NID_undef == NID_id_sector
673
1
            || NID_undef == NID_id_SecurityObject
674
1
            || NID_undef == NID_id_DateOfBirth
675
1
            || NID_undef == NID_id_DateOfExpiry
676
1
            || NID_undef == NID_id_CommunityID) {
677
0
        log_err("Error adding objects");
678
0
    }
679
680
1
    objects_initialized = 1;
681
1
}
682
void
683
EAC_remove_all_objects(void)
684
0
{
685
0
    if (objects_initialized)
686
0
        OBJ_cleanup();
687
688
0
    objects_initialized = 0;
689
0
}
690
#else
691
void
692
EAC_add_all_objects(void)
693
{
694
}
695
void
696
EAC_remove_all_objects(void)
697
{
698
}
699
#endif