Coverage Report

Created: 2026-09-06 07:14

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/openssl/include/crypto/ec_params.h
Line
Count
Source
1
/*
2
 * Copyright 2026 The OpenSSL Project Authors. All Rights Reserved.
3
 *
4
 * Licensed under the Apache License 2.0 (the "License").  You may not use
5
 * this file except in compliance with the License.  You can obtain a copy
6
 * in the file LICENSE in the source distribution or at
7
 * https://www.openssl.org/source/license.html
8
 */
9
10
#ifndef OSSL_CRYPTO_EC_PARAMS_H
11
#define OSSL_CRYPTO_EC_PARAMS_H
12
13
/* clang-format off */
14
15
16
17
#include "crypto/ec.h"
18
#include <openssl/core_names.h>
19
#include <openssl/err.h>
20
#include <openssl/proverr.h>
21
22
23
24
/* Selection-specific provider import and export declarations. */
25
#define ec_imexport_types_1_st ec_params_st
26
/* Machine generated by util/perl/OpenSSL/paramnames.pm */
27
#include <string.h>
28
#include <openssl/params.h>
29
#include <openssl/e_os2.h>
30
#include "internal/common.h"
31
#include "prov/proverr.h"
32
33
/* Machine generated */
34
#ifndef ec_imexport_types_1_list
35
static ossl_unused const OSSL_PARAM ec_imexport_types_1_list[] = {
36
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
37
    OSSL_PARAM_END
38
};
39
#endif
40
41
#ifndef ec_imexport_types_1_st
42
struct ec_imexport_types_1_st {
43
    OSSL_PARAM *priv;
44
};
45
#endif
46
47
#ifndef ec_imexport_types_1_decoder
48
static ossl_unused int ec_imexport_types_1_decoder
49
    (const OSSL_PARAM *p, struct ec_imexport_types_1_st *r)
50
0
{
51
0
    const char *s;
52
53
0
    memset(r, 0, sizeof(*r));
54
0
    if (p != NULL)
55
0
        for (; (s = p->key) != NULL; p++)
56
0
            if (ossl_likely(strcmp("priv", s + 0) == 0)) {
57
                /* OSSL_PKEY_PARAM_PRIV_KEY */
58
0
                if (ossl_unlikely(r->priv != NULL)) {
59
0
                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
60
0
                                   "param %s is repeated", s);
61
0
                    return 0;
62
0
                }
63
0
                r->priv = (OSSL_PARAM *)p;
64
0
            }
65
0
    return 1;
66
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_1_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_1_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_1_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_1_decoder
67
#endif
68
/* End of machine generated */
69
#define ec_imexport_types_2_st ec_params_st
70
/* Machine generated */
71
#ifndef ec_imexport_types_2_list
72
static ossl_unused const OSSL_PARAM ec_imexport_types_2_list[] = {
73
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0),
74
    OSSL_PARAM_END
75
};
76
#endif
77
78
#ifndef ec_imexport_types_2_st
79
struct ec_imexport_types_2_st {
80
    OSSL_PARAM *pub;
81
};
82
#endif
83
84
#ifndef ec_imexport_types_2_decoder
85
static ossl_unused int ec_imexport_types_2_decoder
86
    (const OSSL_PARAM *p, struct ec_imexport_types_2_st *r)
87
0
{
88
0
    const char *s;
89
90
0
    memset(r, 0, sizeof(*r));
91
0
    if (p != NULL)
92
0
        for (; (s = p->key) != NULL; p++)
93
0
            if (ossl_likely(strcmp("pub", s + 0) == 0)) {
94
                /* OSSL_PKEY_PARAM_PUB_KEY */
95
0
                if (ossl_unlikely(r->pub != NULL)) {
96
0
                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
97
0
                                   "param %s is repeated", s);
98
0
                    return 0;
99
0
                }
100
0
                r->pub = (OSSL_PARAM *)p;
101
0
            }
102
0
    return 1;
103
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_2_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_2_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_2_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_2_decoder
104
#endif
105
/* End of machine generated */
106
#define ec_imexport_types_3_st ec_params_st
107
/* Machine generated */
108
#ifndef ec_imexport_types_3_list
109
static ossl_unused const OSSL_PARAM ec_imexport_types_3_list[] = {
110
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
111
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0),
112
    OSSL_PARAM_END
113
};
114
#endif
115
116
#ifndef ec_imexport_types_3_st
117
struct ec_imexport_types_3_st {
118
    OSSL_PARAM *priv;
119
    OSSL_PARAM *pub;
120
};
121
#endif
122
123
#ifndef ec_imexport_types_3_decoder
124
static ossl_unused int ec_imexport_types_3_decoder
125
    (const OSSL_PARAM *p, struct ec_imexport_types_3_st *r)
126
0
{
127
0
    const char *s;
128
129
0
    memset(r, 0, sizeof(*r));
130
0
    if (p != NULL)
131
0
        for (; (s = p->key) != NULL; p++)
132
0
            switch(s[0]) {
133
0
            default:
134
0
                break;
135
0
            case 'p':
136
0
                switch(s[1]) {
137
0
                default:
138
0
                    break;
139
0
                case 'r':
140
0
                    if (ossl_likely(strcmp("iv", s + 2) == 0)) {
141
                        /* OSSL_PKEY_PARAM_PRIV_KEY */
142
0
                        if (ossl_unlikely(r->priv != NULL)) {
143
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
144
0
                                           "param %s is repeated", s);
145
0
                            return 0;
146
0
                        }
147
0
                        r->priv = (OSSL_PARAM *)p;
148
0
                    }
149
0
                    break;
150
0
                case 'u':
151
0
                    if (ossl_likely(strcmp("b", s + 2) == 0)) {
152
                        /* OSSL_PKEY_PARAM_PUB_KEY */
153
0
                        if (ossl_unlikely(r->pub != NULL)) {
154
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
155
0
                                           "param %s is repeated", s);
156
0
                            return 0;
157
0
                        }
158
0
                        r->pub = (OSSL_PARAM *)p;
159
0
                    }
160
0
                }
161
0
            }
162
0
    return 1;
163
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_3_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_3_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_3_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_3_decoder
164
#endif
165
/* End of machine generated */
166
#define ec_imexport_types_4_st ec_params_st
167
/* Machine generated */
168
#ifndef ec_imexport_types_4_list
169
static ossl_unused const OSSL_PARAM ec_imexport_types_4_list[] = {
170
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
171
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
172
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
173
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
174
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
175
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
176
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
177
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
178
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
179
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
180
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
181
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS, NULL),
182
    OSSL_PARAM_END
183
};
184
#endif
185
186
#ifndef ec_imexport_types_4_st
187
struct ec_imexport_types_4_st {
188
    OSSL_PARAM *a;
189
    OSSL_PARAM *b;
190
    OSSL_PARAM *cofactor;
191
    OSSL_PARAM *decoded;
192
    OSSL_PARAM *encoding;
193
    OSSL_PARAM *field_type;
194
    OSSL_PARAM *generator;
195
    OSSL_PARAM *group_name;
196
    OSSL_PARAM *order;
197
    OSSL_PARAM *p;
198
    OSSL_PARAM *pt_format;
199
    OSSL_PARAM *seed;
200
};
201
#endif
202
203
#ifndef ec_imexport_types_4_decoder
204
static ossl_unused int ec_imexport_types_4_decoder
205
    (const OSSL_PARAM *p, struct ec_imexport_types_4_st *r)
206
0
{
207
0
    const char *s;
208
209
0
    memset(r, 0, sizeof(*r));
210
0
    if (p != NULL)
211
0
        for (; (s = p->key) != NULL; p++)
212
0
            switch(s[0]) {
213
0
            default:
214
0
                break;
215
0
            case 'a':
216
0
                switch(s[1]) {
217
0
                default:
218
0
                    break;
219
0
                case '\0':
220
0
                    if (ossl_unlikely(r->a != NULL)) {
221
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
222
0
                                       "param %s is repeated", s);
223
0
                        return 0;
224
0
                    }
225
0
                    r->a = (OSSL_PARAM *)p;
226
0
                }
227
0
                break;
228
0
            case 'b':
229
0
                switch(s[1]) {
230
0
                default:
231
0
                    break;
232
0
                case '\0':
233
0
                    if (ossl_unlikely(r->b != NULL)) {
234
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
235
0
                                       "param %s is repeated", s);
236
0
                        return 0;
237
0
                    }
238
0
                    r->b = (OSSL_PARAM *)p;
239
0
                }
240
0
                break;
241
0
            case 'c':
242
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
243
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
244
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
245
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
246
0
                                       "param %s is repeated", s);
247
0
                        return 0;
248
0
                    }
249
0
                    r->cofactor = (OSSL_PARAM *)p;
250
0
                }
251
0
                break;
252
0
            case 'd':
253
0
                if (ossl_likely(strcmp("ecoded-from-explicit", s + 1) == 0)) {
254
                    /* OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS */
255
0
                    if (ossl_unlikely(r->decoded != NULL)) {
256
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
257
0
                                       "param %s is repeated", s);
258
0
                        return 0;
259
0
                    }
260
0
                    r->decoded = (OSSL_PARAM *)p;
261
0
                }
262
0
                break;
263
0
            case 'e':
264
0
                if (ossl_likely(strcmp("ncoding", s + 1) == 0)) {
265
                    /* OSSL_PKEY_PARAM_EC_ENCODING */
266
0
                    if (ossl_unlikely(r->encoding != NULL)) {
267
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
268
0
                                       "param %s is repeated", s);
269
0
                        return 0;
270
0
                    }
271
0
                    r->encoding = (OSSL_PARAM *)p;
272
0
                }
273
0
                break;
274
0
            case 'f':
275
0
                if (ossl_likely(strcmp("ield-type", s + 1) == 0)) {
276
                    /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
277
0
                    if (ossl_unlikely(r->field_type != NULL)) {
278
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
279
0
                                       "param %s is repeated", s);
280
0
                        return 0;
281
0
                    }
282
0
                    r->field_type = (OSSL_PARAM *)p;
283
0
                }
284
0
                break;
285
0
            case 'g':
286
0
                switch(s[1]) {
287
0
                default:
288
0
                    break;
289
0
                case 'e':
290
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
291
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
292
0
                        if (ossl_unlikely(r->generator != NULL)) {
293
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
294
0
                                           "param %s is repeated", s);
295
0
                            return 0;
296
0
                        }
297
0
                        r->generator = (OSSL_PARAM *)p;
298
0
                    }
299
0
                    break;
300
0
                case 'r':
301
0
                    if (ossl_likely(strcmp("oup", s + 2) == 0)) {
302
                        /* OSSL_PKEY_PARAM_GROUP_NAME */
303
0
                        if (ossl_unlikely(r->group_name != NULL)) {
304
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
305
0
                                           "param %s is repeated", s);
306
0
                            return 0;
307
0
                        }
308
0
                        r->group_name = (OSSL_PARAM *)p;
309
0
                    }
310
0
                }
311
0
                break;
312
0
            case 'o':
313
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
314
                    /* OSSL_PKEY_PARAM_EC_ORDER */
315
0
                    if (ossl_unlikely(r->order != NULL)) {
316
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
317
0
                                       "param %s is repeated", s);
318
0
                        return 0;
319
0
                    }
320
0
                    r->order = (OSSL_PARAM *)p;
321
0
                }
322
0
                break;
323
0
            case 'p':
324
0
                switch(s[1]) {
325
0
                default:
326
0
                    break;
327
0
                case 'o':
328
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
329
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
330
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
331
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
332
0
                                           "param %s is repeated", s);
333
0
                            return 0;
334
0
                        }
335
0
                        r->pt_format = (OSSL_PARAM *)p;
336
0
                    }
337
0
                    break;
338
0
                case '\0':
339
0
                    if (ossl_unlikely(r->p != NULL)) {
340
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
341
0
                                       "param %s is repeated", s);
342
0
                        return 0;
343
0
                    }
344
0
                    r->p = (OSSL_PARAM *)p;
345
0
                }
346
0
                break;
347
0
            case 's':
348
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
349
                    /* OSSL_PKEY_PARAM_EC_SEED */
350
0
                    if (ossl_unlikely(r->seed != NULL)) {
351
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
352
0
                                       "param %s is repeated", s);
353
0
                        return 0;
354
0
                    }
355
0
                    r->seed = (OSSL_PARAM *)p;
356
0
                }
357
0
            }
358
0
    return 1;
359
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_4_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_4_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_4_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_4_decoder
360
#endif
361
/* End of machine generated */
362
#define ec_imexport_types_5_st ec_params_st
363
/* Machine generated */
364
#ifndef ec_imexport_types_5_list
365
static ossl_unused const OSSL_PARAM ec_imexport_types_5_list[] = {
366
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
367
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
368
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
369
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
370
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
371
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
372
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
373
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
374
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
375
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
376
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
377
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
378
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS, NULL),
379
    OSSL_PARAM_END
380
};
381
#endif
382
383
#ifndef ec_imexport_types_5_st
384
struct ec_imexport_types_5_st {
385
    OSSL_PARAM *a;
386
    OSSL_PARAM *b;
387
    OSSL_PARAM *cofactor;
388
    OSSL_PARAM *decoded;
389
    OSSL_PARAM *encoding;
390
    OSSL_PARAM *field_type;
391
    OSSL_PARAM *generator;
392
    OSSL_PARAM *group_name;
393
    OSSL_PARAM *order;
394
    OSSL_PARAM *p;
395
    OSSL_PARAM *priv;
396
    OSSL_PARAM *pt_format;
397
    OSSL_PARAM *seed;
398
};
399
#endif
400
401
#ifndef ec_imexport_types_5_decoder
402
static ossl_unused int ec_imexport_types_5_decoder
403
    (const OSSL_PARAM *p, struct ec_imexport_types_5_st *r)
404
0
{
405
0
    const char *s;
406
407
0
    memset(r, 0, sizeof(*r));
408
0
    if (p != NULL)
409
0
        for (; (s = p->key) != NULL; p++)
410
0
            switch(s[0]) {
411
0
            default:
412
0
                break;
413
0
            case 'a':
414
0
                switch(s[1]) {
415
0
                default:
416
0
                    break;
417
0
                case '\0':
418
0
                    if (ossl_unlikely(r->a != NULL)) {
419
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
420
0
                                       "param %s is repeated", s);
421
0
                        return 0;
422
0
                    }
423
0
                    r->a = (OSSL_PARAM *)p;
424
0
                }
425
0
                break;
426
0
            case 'b':
427
0
                switch(s[1]) {
428
0
                default:
429
0
                    break;
430
0
                case '\0':
431
0
                    if (ossl_unlikely(r->b != NULL)) {
432
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
433
0
                                       "param %s is repeated", s);
434
0
                        return 0;
435
0
                    }
436
0
                    r->b = (OSSL_PARAM *)p;
437
0
                }
438
0
                break;
439
0
            case 'c':
440
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
441
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
442
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
443
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
444
0
                                       "param %s is repeated", s);
445
0
                        return 0;
446
0
                    }
447
0
                    r->cofactor = (OSSL_PARAM *)p;
448
0
                }
449
0
                break;
450
0
            case 'd':
451
0
                if (ossl_likely(strcmp("ecoded-from-explicit", s + 1) == 0)) {
452
                    /* OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS */
453
0
                    if (ossl_unlikely(r->decoded != NULL)) {
454
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
455
0
                                       "param %s is repeated", s);
456
0
                        return 0;
457
0
                    }
458
0
                    r->decoded = (OSSL_PARAM *)p;
459
0
                }
460
0
                break;
461
0
            case 'e':
462
0
                if (ossl_likely(strcmp("ncoding", s + 1) == 0)) {
463
                    /* OSSL_PKEY_PARAM_EC_ENCODING */
464
0
                    if (ossl_unlikely(r->encoding != NULL)) {
465
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
466
0
                                       "param %s is repeated", s);
467
0
                        return 0;
468
0
                    }
469
0
                    r->encoding = (OSSL_PARAM *)p;
470
0
                }
471
0
                break;
472
0
            case 'f':
473
0
                if (ossl_likely(strcmp("ield-type", s + 1) == 0)) {
474
                    /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
475
0
                    if (ossl_unlikely(r->field_type != NULL)) {
476
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
477
0
                                       "param %s is repeated", s);
478
0
                        return 0;
479
0
                    }
480
0
                    r->field_type = (OSSL_PARAM *)p;
481
0
                }
482
0
                break;
483
0
            case 'g':
484
0
                switch(s[1]) {
485
0
                default:
486
0
                    break;
487
0
                case 'e':
488
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
489
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
490
0
                        if (ossl_unlikely(r->generator != NULL)) {
491
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
492
0
                                           "param %s is repeated", s);
493
0
                            return 0;
494
0
                        }
495
0
                        r->generator = (OSSL_PARAM *)p;
496
0
                    }
497
0
                    break;
498
0
                case 'r':
499
0
                    if (ossl_likely(strcmp("oup", s + 2) == 0)) {
500
                        /* OSSL_PKEY_PARAM_GROUP_NAME */
501
0
                        if (ossl_unlikely(r->group_name != NULL)) {
502
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
503
0
                                           "param %s is repeated", s);
504
0
                            return 0;
505
0
                        }
506
0
                        r->group_name = (OSSL_PARAM *)p;
507
0
                    }
508
0
                }
509
0
                break;
510
0
            case 'o':
511
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
512
                    /* OSSL_PKEY_PARAM_EC_ORDER */
513
0
                    if (ossl_unlikely(r->order != NULL)) {
514
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
515
0
                                       "param %s is repeated", s);
516
0
                        return 0;
517
0
                    }
518
0
                    r->order = (OSSL_PARAM *)p;
519
0
                }
520
0
                break;
521
0
            case 'p':
522
0
                switch(s[1]) {
523
0
                default:
524
0
                    break;
525
0
                case 'o':
526
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
527
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
528
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
529
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
530
0
                                           "param %s is repeated", s);
531
0
                            return 0;
532
0
                        }
533
0
                        r->pt_format = (OSSL_PARAM *)p;
534
0
                    }
535
0
                    break;
536
0
                case 'r':
537
0
                    if (ossl_likely(strcmp("iv", s + 2) == 0)) {
538
                        /* OSSL_PKEY_PARAM_PRIV_KEY */
539
0
                        if (ossl_unlikely(r->priv != NULL)) {
540
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
541
0
                                           "param %s is repeated", s);
542
0
                            return 0;
543
0
                        }
544
0
                        r->priv = (OSSL_PARAM *)p;
545
0
                    }
546
0
                    break;
547
0
                case '\0':
548
0
                    if (ossl_unlikely(r->p != NULL)) {
549
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
550
0
                                       "param %s is repeated", s);
551
0
                        return 0;
552
0
                    }
553
0
                    r->p = (OSSL_PARAM *)p;
554
0
                }
555
0
                break;
556
0
            case 's':
557
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
558
                    /* OSSL_PKEY_PARAM_EC_SEED */
559
0
                    if (ossl_unlikely(r->seed != NULL)) {
560
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
561
0
                                       "param %s is repeated", s);
562
0
                        return 0;
563
0
                    }
564
0
                    r->seed = (OSSL_PARAM *)p;
565
0
                }
566
0
            }
567
0
    return 1;
568
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_5_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_5_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_5_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_5_decoder
569
#endif
570
/* End of machine generated */
571
#define ec_imexport_types_6_st ec_params_st
572
/* Machine generated */
573
#ifndef ec_imexport_types_6_list
574
static ossl_unused const OSSL_PARAM ec_imexport_types_6_list[] = {
575
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0),
576
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
577
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
578
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
579
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
580
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
581
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
582
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
583
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
584
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
585
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
586
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
587
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS, NULL),
588
    OSSL_PARAM_END
589
};
590
#endif
591
592
#ifndef ec_imexport_types_6_st
593
struct ec_imexport_types_6_st {
594
    OSSL_PARAM *a;
595
    OSSL_PARAM *b;
596
    OSSL_PARAM *cofactor;
597
    OSSL_PARAM *decoded;
598
    OSSL_PARAM *encoding;
599
    OSSL_PARAM *field_type;
600
    OSSL_PARAM *generator;
601
    OSSL_PARAM *group_name;
602
    OSSL_PARAM *order;
603
    OSSL_PARAM *p;
604
    OSSL_PARAM *pt_format;
605
    OSSL_PARAM *pub;
606
    OSSL_PARAM *seed;
607
};
608
#endif
609
610
#ifndef ec_imexport_types_6_decoder
611
static ossl_unused int ec_imexport_types_6_decoder
612
    (const OSSL_PARAM *p, struct ec_imexport_types_6_st *r)
613
0
{
614
0
    const char *s;
615
616
0
    memset(r, 0, sizeof(*r));
617
0
    if (p != NULL)
618
0
        for (; (s = p->key) != NULL; p++)
619
0
            switch(s[0]) {
620
0
            default:
621
0
                break;
622
0
            case 'a':
623
0
                switch(s[1]) {
624
0
                default:
625
0
                    break;
626
0
                case '\0':
627
0
                    if (ossl_unlikely(r->a != NULL)) {
628
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
629
0
                                       "param %s is repeated", s);
630
0
                        return 0;
631
0
                    }
632
0
                    r->a = (OSSL_PARAM *)p;
633
0
                }
634
0
                break;
635
0
            case 'b':
636
0
                switch(s[1]) {
637
0
                default:
638
0
                    break;
639
0
                case '\0':
640
0
                    if (ossl_unlikely(r->b != NULL)) {
641
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
642
0
                                       "param %s is repeated", s);
643
0
                        return 0;
644
0
                    }
645
0
                    r->b = (OSSL_PARAM *)p;
646
0
                }
647
0
                break;
648
0
            case 'c':
649
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
650
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
651
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
652
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
653
0
                                       "param %s is repeated", s);
654
0
                        return 0;
655
0
                    }
656
0
                    r->cofactor = (OSSL_PARAM *)p;
657
0
                }
658
0
                break;
659
0
            case 'd':
660
0
                if (ossl_likely(strcmp("ecoded-from-explicit", s + 1) == 0)) {
661
                    /* OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS */
662
0
                    if (ossl_unlikely(r->decoded != NULL)) {
663
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
664
0
                                       "param %s is repeated", s);
665
0
                        return 0;
666
0
                    }
667
0
                    r->decoded = (OSSL_PARAM *)p;
668
0
                }
669
0
                break;
670
0
            case 'e':
671
0
                if (ossl_likely(strcmp("ncoding", s + 1) == 0)) {
672
                    /* OSSL_PKEY_PARAM_EC_ENCODING */
673
0
                    if (ossl_unlikely(r->encoding != NULL)) {
674
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
675
0
                                       "param %s is repeated", s);
676
0
                        return 0;
677
0
                    }
678
0
                    r->encoding = (OSSL_PARAM *)p;
679
0
                }
680
0
                break;
681
0
            case 'f':
682
0
                if (ossl_likely(strcmp("ield-type", s + 1) == 0)) {
683
                    /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
684
0
                    if (ossl_unlikely(r->field_type != NULL)) {
685
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
686
0
                                       "param %s is repeated", s);
687
0
                        return 0;
688
0
                    }
689
0
                    r->field_type = (OSSL_PARAM *)p;
690
0
                }
691
0
                break;
692
0
            case 'g':
693
0
                switch(s[1]) {
694
0
                default:
695
0
                    break;
696
0
                case 'e':
697
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
698
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
699
0
                        if (ossl_unlikely(r->generator != NULL)) {
700
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
701
0
                                           "param %s is repeated", s);
702
0
                            return 0;
703
0
                        }
704
0
                        r->generator = (OSSL_PARAM *)p;
705
0
                    }
706
0
                    break;
707
0
                case 'r':
708
0
                    if (ossl_likely(strcmp("oup", s + 2) == 0)) {
709
                        /* OSSL_PKEY_PARAM_GROUP_NAME */
710
0
                        if (ossl_unlikely(r->group_name != NULL)) {
711
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
712
0
                                           "param %s is repeated", s);
713
0
                            return 0;
714
0
                        }
715
0
                        r->group_name = (OSSL_PARAM *)p;
716
0
                    }
717
0
                }
718
0
                break;
719
0
            case 'o':
720
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
721
                    /* OSSL_PKEY_PARAM_EC_ORDER */
722
0
                    if (ossl_unlikely(r->order != NULL)) {
723
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
724
0
                                       "param %s is repeated", s);
725
0
                        return 0;
726
0
                    }
727
0
                    r->order = (OSSL_PARAM *)p;
728
0
                }
729
0
                break;
730
0
            case 'p':
731
0
                switch(s[1]) {
732
0
                default:
733
0
                    break;
734
0
                case 'o':
735
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
736
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
737
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
738
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
739
0
                                           "param %s is repeated", s);
740
0
                            return 0;
741
0
                        }
742
0
                        r->pt_format = (OSSL_PARAM *)p;
743
0
                    }
744
0
                    break;
745
0
                case 'u':
746
0
                    if (ossl_likely(strcmp("b", s + 2) == 0)) {
747
                        /* OSSL_PKEY_PARAM_PUB_KEY */
748
0
                        if (ossl_unlikely(r->pub != NULL)) {
749
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
750
0
                                           "param %s is repeated", s);
751
0
                            return 0;
752
0
                        }
753
0
                        r->pub = (OSSL_PARAM *)p;
754
0
                    }
755
0
                    break;
756
0
                case '\0':
757
0
                    if (ossl_unlikely(r->p != NULL)) {
758
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
759
0
                                       "param %s is repeated", s);
760
0
                        return 0;
761
0
                    }
762
0
                    r->p = (OSSL_PARAM *)p;
763
0
                }
764
0
                break;
765
0
            case 's':
766
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
767
                    /* OSSL_PKEY_PARAM_EC_SEED */
768
0
                    if (ossl_unlikely(r->seed != NULL)) {
769
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
770
0
                                       "param %s is repeated", s);
771
0
                        return 0;
772
0
                    }
773
0
                    r->seed = (OSSL_PARAM *)p;
774
0
                }
775
0
            }
776
0
    return 1;
777
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_6_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_6_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_6_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_6_decoder
778
#endif
779
/* End of machine generated */
780
#define ec_imexport_types_7_st ec_params_st
781
/* Machine generated */
782
#ifndef ec_imexport_types_7_list
783
static ossl_unused const OSSL_PARAM ec_imexport_types_7_list[] = {
784
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
785
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0),
786
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
787
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
788
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
789
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
790
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
791
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
792
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
793
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
794
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
795
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
796
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
797
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS, NULL),
798
    OSSL_PARAM_END
799
};
800
#endif
801
802
#ifndef ec_imexport_types_7_st
803
struct ec_imexport_types_7_st {
804
    OSSL_PARAM *a;
805
    OSSL_PARAM *b;
806
    OSSL_PARAM *cofactor;
807
    OSSL_PARAM *decoded;
808
    OSSL_PARAM *encoding;
809
    OSSL_PARAM *field_type;
810
    OSSL_PARAM *generator;
811
    OSSL_PARAM *group_name;
812
    OSSL_PARAM *order;
813
    OSSL_PARAM *p;
814
    OSSL_PARAM *priv;
815
    OSSL_PARAM *pt_format;
816
    OSSL_PARAM *pub;
817
    OSSL_PARAM *seed;
818
};
819
#endif
820
821
#ifndef ec_imexport_types_7_decoder
822
static ossl_unused int ec_imexport_types_7_decoder
823
    (const OSSL_PARAM *p, struct ec_imexport_types_7_st *r)
824
0
{
825
0
    const char *s;
826
827
0
    memset(r, 0, sizeof(*r));
828
0
    if (p != NULL)
829
0
        for (; (s = p->key) != NULL; p++)
830
0
            switch(s[0]) {
831
0
            default:
832
0
                break;
833
0
            case 'a':
834
0
                switch(s[1]) {
835
0
                default:
836
0
                    break;
837
0
                case '\0':
838
0
                    if (ossl_unlikely(r->a != NULL)) {
839
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
840
0
                                       "param %s is repeated", s);
841
0
                        return 0;
842
0
                    }
843
0
                    r->a = (OSSL_PARAM *)p;
844
0
                }
845
0
                break;
846
0
            case 'b':
847
0
                switch(s[1]) {
848
0
                default:
849
0
                    break;
850
0
                case '\0':
851
0
                    if (ossl_unlikely(r->b != NULL)) {
852
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
853
0
                                       "param %s is repeated", s);
854
0
                        return 0;
855
0
                    }
856
0
                    r->b = (OSSL_PARAM *)p;
857
0
                }
858
0
                break;
859
0
            case 'c':
860
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
861
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
862
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
863
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
864
0
                                       "param %s is repeated", s);
865
0
                        return 0;
866
0
                    }
867
0
                    r->cofactor = (OSSL_PARAM *)p;
868
0
                }
869
0
                break;
870
0
            case 'd':
871
0
                if (ossl_likely(strcmp("ecoded-from-explicit", s + 1) == 0)) {
872
                    /* OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS */
873
0
                    if (ossl_unlikely(r->decoded != NULL)) {
874
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
875
0
                                       "param %s is repeated", s);
876
0
                        return 0;
877
0
                    }
878
0
                    r->decoded = (OSSL_PARAM *)p;
879
0
                }
880
0
                break;
881
0
            case 'e':
882
0
                if (ossl_likely(strcmp("ncoding", s + 1) == 0)) {
883
                    /* OSSL_PKEY_PARAM_EC_ENCODING */
884
0
                    if (ossl_unlikely(r->encoding != NULL)) {
885
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
886
0
                                       "param %s is repeated", s);
887
0
                        return 0;
888
0
                    }
889
0
                    r->encoding = (OSSL_PARAM *)p;
890
0
                }
891
0
                break;
892
0
            case 'f':
893
0
                if (ossl_likely(strcmp("ield-type", s + 1) == 0)) {
894
                    /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
895
0
                    if (ossl_unlikely(r->field_type != NULL)) {
896
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
897
0
                                       "param %s is repeated", s);
898
0
                        return 0;
899
0
                    }
900
0
                    r->field_type = (OSSL_PARAM *)p;
901
0
                }
902
0
                break;
903
0
            case 'g':
904
0
                switch(s[1]) {
905
0
                default:
906
0
                    break;
907
0
                case 'e':
908
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
909
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
910
0
                        if (ossl_unlikely(r->generator != NULL)) {
911
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
912
0
                                           "param %s is repeated", s);
913
0
                            return 0;
914
0
                        }
915
0
                        r->generator = (OSSL_PARAM *)p;
916
0
                    }
917
0
                    break;
918
0
                case 'r':
919
0
                    if (ossl_likely(strcmp("oup", s + 2) == 0)) {
920
                        /* OSSL_PKEY_PARAM_GROUP_NAME */
921
0
                        if (ossl_unlikely(r->group_name != NULL)) {
922
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
923
0
                                           "param %s is repeated", s);
924
0
                            return 0;
925
0
                        }
926
0
                        r->group_name = (OSSL_PARAM *)p;
927
0
                    }
928
0
                }
929
0
                break;
930
0
            case 'o':
931
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
932
                    /* OSSL_PKEY_PARAM_EC_ORDER */
933
0
                    if (ossl_unlikely(r->order != NULL)) {
934
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
935
0
                                       "param %s is repeated", s);
936
0
                        return 0;
937
0
                    }
938
0
                    r->order = (OSSL_PARAM *)p;
939
0
                }
940
0
                break;
941
0
            case 'p':
942
0
                switch(s[1]) {
943
0
                default:
944
0
                    break;
945
0
                case 'o':
946
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
947
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
948
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
949
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
950
0
                                           "param %s is repeated", s);
951
0
                            return 0;
952
0
                        }
953
0
                        r->pt_format = (OSSL_PARAM *)p;
954
0
                    }
955
0
                    break;
956
0
                case 'r':
957
0
                    if (ossl_likely(strcmp("iv", s + 2) == 0)) {
958
                        /* OSSL_PKEY_PARAM_PRIV_KEY */
959
0
                        if (ossl_unlikely(r->priv != NULL)) {
960
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
961
0
                                           "param %s is repeated", s);
962
0
                            return 0;
963
0
                        }
964
0
                        r->priv = (OSSL_PARAM *)p;
965
0
                    }
966
0
                    break;
967
0
                case 'u':
968
0
                    if (ossl_likely(strcmp("b", s + 2) == 0)) {
969
                        /* OSSL_PKEY_PARAM_PUB_KEY */
970
0
                        if (ossl_unlikely(r->pub != NULL)) {
971
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
972
0
                                           "param %s is repeated", s);
973
0
                            return 0;
974
0
                        }
975
0
                        r->pub = (OSSL_PARAM *)p;
976
0
                    }
977
0
                    break;
978
0
                case '\0':
979
0
                    if (ossl_unlikely(r->p != NULL)) {
980
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
981
0
                                       "param %s is repeated", s);
982
0
                        return 0;
983
0
                    }
984
0
                    r->p = (OSSL_PARAM *)p;
985
0
                }
986
0
                break;
987
0
            case 's':
988
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
989
                    /* OSSL_PKEY_PARAM_EC_SEED */
990
0
                    if (ossl_unlikely(r->seed != NULL)) {
991
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
992
0
                                       "param %s is repeated", s);
993
0
                        return 0;
994
0
                    }
995
0
                    r->seed = (OSSL_PARAM *)p;
996
0
                }
997
0
            }
998
0
    return 1;
999
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_7_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_7_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_7_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_7_decoder
1000
#endif
1001
/* End of machine generated */
1002
#define ec_imexport_types_8_st ec_params_st
1003
/* Machine generated */
1004
#ifndef ec_imexport_types_8_list
1005
static ossl_unused const OSSL_PARAM ec_imexport_types_8_list[] = {
1006
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
1007
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC, NULL),
1008
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
1009
    OSSL_PARAM_END
1010
};
1011
#endif
1012
1013
#ifndef ec_imexport_types_8_st
1014
struct ec_imexport_types_8_st {
1015
    OSSL_PARAM *group_check;
1016
    OSSL_PARAM *include_public;
1017
    OSSL_PARAM *use_cofactor;
1018
};
1019
#endif
1020
1021
#ifndef ec_imexport_types_8_decoder
1022
static ossl_unused int ec_imexport_types_8_decoder
1023
    (const OSSL_PARAM *p, struct ec_imexport_types_8_st *r)
1024
0
{
1025
0
    const char *s;
1026
1027
0
    memset(r, 0, sizeof(*r));
1028
0
    if (p != NULL)
1029
0
        for (; (s = p->key) != NULL; p++)
1030
0
            switch(s[0]) {
1031
0
            default:
1032
0
                break;
1033
0
            case 'g':
1034
0
                if (ossl_likely(strcmp("roup-check", s + 1) == 0)) {
1035
                    /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
1036
0
                    if (ossl_unlikely(r->group_check != NULL)) {
1037
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1038
0
                                       "param %s is repeated", s);
1039
0
                        return 0;
1040
0
                    }
1041
0
                    r->group_check = (OSSL_PARAM *)p;
1042
0
                }
1043
0
                break;
1044
0
            case 'i':
1045
0
                if (ossl_likely(strcmp("nclude-public", s + 1) == 0)) {
1046
                    /* OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC */
1047
0
                    if (ossl_unlikely(r->include_public != NULL)) {
1048
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1049
0
                                       "param %s is repeated", s);
1050
0
                        return 0;
1051
0
                    }
1052
0
                    r->include_public = (OSSL_PARAM *)p;
1053
0
                }
1054
0
                break;
1055
0
            case 'u':
1056
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
1057
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
1058
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
1059
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1060
0
                                       "param %s is repeated", s);
1061
0
                        return 0;
1062
0
                    }
1063
0
                    r->use_cofactor = (OSSL_PARAM *)p;
1064
0
                }
1065
0
            }
1066
0
    return 1;
1067
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_8_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_8_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_8_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_8_decoder
1068
#endif
1069
/* End of machine generated */
1070
#define ec_imexport_types_9_st ec_params_st
1071
/* Machine generated */
1072
#ifndef ec_imexport_types_9_list
1073
static ossl_unused const OSSL_PARAM ec_imexport_types_9_list[] = {
1074
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
1075
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
1076
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC, NULL),
1077
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
1078
    OSSL_PARAM_END
1079
};
1080
#endif
1081
1082
#ifndef ec_imexport_types_9_st
1083
struct ec_imexport_types_9_st {
1084
    OSSL_PARAM *group_check;
1085
    OSSL_PARAM *include_public;
1086
    OSSL_PARAM *priv;
1087
    OSSL_PARAM *use_cofactor;
1088
};
1089
#endif
1090
1091
#ifndef ec_imexport_types_9_decoder
1092
static ossl_unused int ec_imexport_types_9_decoder
1093
    (const OSSL_PARAM *p, struct ec_imexport_types_9_st *r)
1094
0
{
1095
0
    const char *s;
1096
1097
0
    memset(r, 0, sizeof(*r));
1098
0
    if (p != NULL)
1099
0
        for (; (s = p->key) != NULL; p++)
1100
0
            switch(s[0]) {
1101
0
            default:
1102
0
                break;
1103
0
            case 'g':
1104
0
                if (ossl_likely(strcmp("roup-check", s + 1) == 0)) {
1105
                    /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
1106
0
                    if (ossl_unlikely(r->group_check != NULL)) {
1107
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1108
0
                                       "param %s is repeated", s);
1109
0
                        return 0;
1110
0
                    }
1111
0
                    r->group_check = (OSSL_PARAM *)p;
1112
0
                }
1113
0
                break;
1114
0
            case 'i':
1115
0
                if (ossl_likely(strcmp("nclude-public", s + 1) == 0)) {
1116
                    /* OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC */
1117
0
                    if (ossl_unlikely(r->include_public != NULL)) {
1118
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1119
0
                                       "param %s is repeated", s);
1120
0
                        return 0;
1121
0
                    }
1122
0
                    r->include_public = (OSSL_PARAM *)p;
1123
0
                }
1124
0
                break;
1125
0
            case 'p':
1126
0
                if (ossl_likely(strcmp("riv", s + 1) == 0)) {
1127
                    /* OSSL_PKEY_PARAM_PRIV_KEY */
1128
0
                    if (ossl_unlikely(r->priv != NULL)) {
1129
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1130
0
                                       "param %s is repeated", s);
1131
0
                        return 0;
1132
0
                    }
1133
0
                    r->priv = (OSSL_PARAM *)p;
1134
0
                }
1135
0
                break;
1136
0
            case 'u':
1137
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
1138
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
1139
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
1140
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1141
0
                                       "param %s is repeated", s);
1142
0
                        return 0;
1143
0
                    }
1144
0
                    r->use_cofactor = (OSSL_PARAM *)p;
1145
0
                }
1146
0
            }
1147
0
    return 1;
1148
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_9_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_9_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_9_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_9_decoder
1149
#endif
1150
/* End of machine generated */
1151
#define ec_imexport_types_10_st ec_params_st
1152
/* Machine generated */
1153
#ifndef ec_imexport_types_10_list
1154
static ossl_unused const OSSL_PARAM ec_imexport_types_10_list[] = {
1155
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0),
1156
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
1157
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC, NULL),
1158
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
1159
    OSSL_PARAM_END
1160
};
1161
#endif
1162
1163
#ifndef ec_imexport_types_10_st
1164
struct ec_imexport_types_10_st {
1165
    OSSL_PARAM *group_check;
1166
    OSSL_PARAM *include_public;
1167
    OSSL_PARAM *pub;
1168
    OSSL_PARAM *use_cofactor;
1169
};
1170
#endif
1171
1172
#ifndef ec_imexport_types_10_decoder
1173
static ossl_unused int ec_imexport_types_10_decoder
1174
    (const OSSL_PARAM *p, struct ec_imexport_types_10_st *r)
1175
0
{
1176
0
    const char *s;
1177
1178
0
    memset(r, 0, sizeof(*r));
1179
0
    if (p != NULL)
1180
0
        for (; (s = p->key) != NULL; p++)
1181
0
            switch(s[0]) {
1182
0
            default:
1183
0
                break;
1184
0
            case 'g':
1185
0
                if (ossl_likely(strcmp("roup-check", s + 1) == 0)) {
1186
                    /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
1187
0
                    if (ossl_unlikely(r->group_check != NULL)) {
1188
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1189
0
                                       "param %s is repeated", s);
1190
0
                        return 0;
1191
0
                    }
1192
0
                    r->group_check = (OSSL_PARAM *)p;
1193
0
                }
1194
0
                break;
1195
0
            case 'i':
1196
0
                if (ossl_likely(strcmp("nclude-public", s + 1) == 0)) {
1197
                    /* OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC */
1198
0
                    if (ossl_unlikely(r->include_public != NULL)) {
1199
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1200
0
                                       "param %s is repeated", s);
1201
0
                        return 0;
1202
0
                    }
1203
0
                    r->include_public = (OSSL_PARAM *)p;
1204
0
                }
1205
0
                break;
1206
0
            case 'p':
1207
0
                if (ossl_likely(strcmp("ub", s + 1) == 0)) {
1208
                    /* OSSL_PKEY_PARAM_PUB_KEY */
1209
0
                    if (ossl_unlikely(r->pub != NULL)) {
1210
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1211
0
                                       "param %s is repeated", s);
1212
0
                        return 0;
1213
0
                    }
1214
0
                    r->pub = (OSSL_PARAM *)p;
1215
0
                }
1216
0
                break;
1217
0
            case 'u':
1218
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
1219
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
1220
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
1221
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1222
0
                                       "param %s is repeated", s);
1223
0
                        return 0;
1224
0
                    }
1225
0
                    r->use_cofactor = (OSSL_PARAM *)p;
1226
0
                }
1227
0
            }
1228
0
    return 1;
1229
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_10_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_10_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_10_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_10_decoder
1230
#endif
1231
/* End of machine generated */
1232
#define ec_imexport_types_11_st ec_params_st
1233
/* Machine generated */
1234
#ifndef ec_imexport_types_11_list
1235
static ossl_unused const OSSL_PARAM ec_imexport_types_11_list[] = {
1236
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
1237
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0),
1238
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
1239
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC, NULL),
1240
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
1241
    OSSL_PARAM_END
1242
};
1243
#endif
1244
1245
#ifndef ec_imexport_types_11_st
1246
struct ec_imexport_types_11_st {
1247
    OSSL_PARAM *group_check;
1248
    OSSL_PARAM *include_public;
1249
    OSSL_PARAM *priv;
1250
    OSSL_PARAM *pub;
1251
    OSSL_PARAM *use_cofactor;
1252
};
1253
#endif
1254
1255
#ifndef ec_imexport_types_11_decoder
1256
static ossl_unused int ec_imexport_types_11_decoder
1257
    (const OSSL_PARAM *p, struct ec_imexport_types_11_st *r)
1258
0
{
1259
0
    const char *s;
1260
1261
0
    memset(r, 0, sizeof(*r));
1262
0
    if (p != NULL)
1263
0
        for (; (s = p->key) != NULL; p++)
1264
0
            switch(s[0]) {
1265
0
            default:
1266
0
                break;
1267
0
            case 'g':
1268
0
                if (ossl_likely(strcmp("roup-check", s + 1) == 0)) {
1269
                    /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
1270
0
                    if (ossl_unlikely(r->group_check != NULL)) {
1271
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1272
0
                                       "param %s is repeated", s);
1273
0
                        return 0;
1274
0
                    }
1275
0
                    r->group_check = (OSSL_PARAM *)p;
1276
0
                }
1277
0
                break;
1278
0
            case 'i':
1279
0
                if (ossl_likely(strcmp("nclude-public", s + 1) == 0)) {
1280
                    /* OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC */
1281
0
                    if (ossl_unlikely(r->include_public != NULL)) {
1282
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1283
0
                                       "param %s is repeated", s);
1284
0
                        return 0;
1285
0
                    }
1286
0
                    r->include_public = (OSSL_PARAM *)p;
1287
0
                }
1288
0
                break;
1289
0
            case 'p':
1290
0
                switch(s[1]) {
1291
0
                default:
1292
0
                    break;
1293
0
                case 'r':
1294
0
                    if (ossl_likely(strcmp("iv", s + 2) == 0)) {
1295
                        /* OSSL_PKEY_PARAM_PRIV_KEY */
1296
0
                        if (ossl_unlikely(r->priv != NULL)) {
1297
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1298
0
                                           "param %s is repeated", s);
1299
0
                            return 0;
1300
0
                        }
1301
0
                        r->priv = (OSSL_PARAM *)p;
1302
0
                    }
1303
0
                    break;
1304
0
                case 'u':
1305
0
                    if (ossl_likely(strcmp("b", s + 2) == 0)) {
1306
                        /* OSSL_PKEY_PARAM_PUB_KEY */
1307
0
                        if (ossl_unlikely(r->pub != NULL)) {
1308
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1309
0
                                           "param %s is repeated", s);
1310
0
                            return 0;
1311
0
                        }
1312
0
                        r->pub = (OSSL_PARAM *)p;
1313
0
                    }
1314
0
                }
1315
0
                break;
1316
0
            case 'u':
1317
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
1318
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
1319
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
1320
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1321
0
                                       "param %s is repeated", s);
1322
0
                        return 0;
1323
0
                    }
1324
0
                    r->use_cofactor = (OSSL_PARAM *)p;
1325
0
                }
1326
0
            }
1327
0
    return 1;
1328
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_11_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_11_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_11_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_11_decoder
1329
#endif
1330
/* End of machine generated */
1331
#define ec_imexport_types_12_st ec_params_st
1332
/* Machine generated */
1333
#ifndef ec_imexport_types_12_list
1334
static ossl_unused const OSSL_PARAM ec_imexport_types_12_list[] = {
1335
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
1336
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
1337
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
1338
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
1339
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
1340
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
1341
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
1342
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
1343
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
1344
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
1345
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
1346
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS, NULL),
1347
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
1348
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC, NULL),
1349
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
1350
    OSSL_PARAM_END
1351
};
1352
#endif
1353
1354
#ifndef ec_imexport_types_12_st
1355
struct ec_imexport_types_12_st {
1356
    OSSL_PARAM *a;
1357
    OSSL_PARAM *b;
1358
    OSSL_PARAM *cofactor;
1359
    OSSL_PARAM *decoded;
1360
    OSSL_PARAM *encoding;
1361
    OSSL_PARAM *field_type;
1362
    OSSL_PARAM *generator;
1363
    OSSL_PARAM *group_check;
1364
    OSSL_PARAM *group_name;
1365
    OSSL_PARAM *include_public;
1366
    OSSL_PARAM *order;
1367
    OSSL_PARAM *p;
1368
    OSSL_PARAM *pt_format;
1369
    OSSL_PARAM *seed;
1370
    OSSL_PARAM *use_cofactor;
1371
};
1372
#endif
1373
1374
#ifndef ec_imexport_types_12_decoder
1375
static ossl_unused int ec_imexport_types_12_decoder
1376
    (const OSSL_PARAM *p, struct ec_imexport_types_12_st *r)
1377
0
{
1378
0
    const char *s;
1379
1380
0
    memset(r, 0, sizeof(*r));
1381
0
    if (p != NULL)
1382
0
        for (; (s = p->key) != NULL; p++)
1383
0
            switch(s[0]) {
1384
0
            default:
1385
0
                break;
1386
0
            case 'a':
1387
0
                switch(s[1]) {
1388
0
                default:
1389
0
                    break;
1390
0
                case '\0':
1391
0
                    if (ossl_unlikely(r->a != NULL)) {
1392
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1393
0
                                       "param %s is repeated", s);
1394
0
                        return 0;
1395
0
                    }
1396
0
                    r->a = (OSSL_PARAM *)p;
1397
0
                }
1398
0
                break;
1399
0
            case 'b':
1400
0
                switch(s[1]) {
1401
0
                default:
1402
0
                    break;
1403
0
                case '\0':
1404
0
                    if (ossl_unlikely(r->b != NULL)) {
1405
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1406
0
                                       "param %s is repeated", s);
1407
0
                        return 0;
1408
0
                    }
1409
0
                    r->b = (OSSL_PARAM *)p;
1410
0
                }
1411
0
                break;
1412
0
            case 'c':
1413
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
1414
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
1415
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
1416
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1417
0
                                       "param %s is repeated", s);
1418
0
                        return 0;
1419
0
                    }
1420
0
                    r->cofactor = (OSSL_PARAM *)p;
1421
0
                }
1422
0
                break;
1423
0
            case 'd':
1424
0
                if (ossl_likely(strcmp("ecoded-from-explicit", s + 1) == 0)) {
1425
                    /* OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS */
1426
0
                    if (ossl_unlikely(r->decoded != NULL)) {
1427
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1428
0
                                       "param %s is repeated", s);
1429
0
                        return 0;
1430
0
                    }
1431
0
                    r->decoded = (OSSL_PARAM *)p;
1432
0
                }
1433
0
                break;
1434
0
            case 'e':
1435
0
                if (ossl_likely(strcmp("ncoding", s + 1) == 0)) {
1436
                    /* OSSL_PKEY_PARAM_EC_ENCODING */
1437
0
                    if (ossl_unlikely(r->encoding != NULL)) {
1438
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1439
0
                                       "param %s is repeated", s);
1440
0
                        return 0;
1441
0
                    }
1442
0
                    r->encoding = (OSSL_PARAM *)p;
1443
0
                }
1444
0
                break;
1445
0
            case 'f':
1446
0
                if (ossl_likely(strcmp("ield-type", s + 1) == 0)) {
1447
                    /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
1448
0
                    if (ossl_unlikely(r->field_type != NULL)) {
1449
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1450
0
                                       "param %s is repeated", s);
1451
0
                        return 0;
1452
0
                    }
1453
0
                    r->field_type = (OSSL_PARAM *)p;
1454
0
                }
1455
0
                break;
1456
0
            case 'g':
1457
0
                switch(s[1]) {
1458
0
                default:
1459
0
                    break;
1460
0
                case 'e':
1461
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
1462
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
1463
0
                        if (ossl_unlikely(r->generator != NULL)) {
1464
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1465
0
                                           "param %s is repeated", s);
1466
0
                            return 0;
1467
0
                        }
1468
0
                        r->generator = (OSSL_PARAM *)p;
1469
0
                    }
1470
0
                    break;
1471
0
                case 'r':
1472
0
                    switch(s[2]) {
1473
0
                    default:
1474
0
                        break;
1475
0
                    case 'o':
1476
0
                        switch(s[3]) {
1477
0
                        default:
1478
0
                            break;
1479
0
                        case 'u':
1480
0
                            switch(s[4]) {
1481
0
                            default:
1482
0
                                break;
1483
0
                            case 'p':
1484
0
                                switch(s[5]) {
1485
0
                                default:
1486
0
                                    break;
1487
0
                                case '-':
1488
0
                                    if (ossl_likely(strcmp("check", s + 6) == 0)) {
1489
                                        /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
1490
0
                                        if (ossl_unlikely(r->group_check != NULL)) {
1491
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1492
0
                                                           "param %s is repeated", s);
1493
0
                                            return 0;
1494
0
                                        }
1495
0
                                        r->group_check = (OSSL_PARAM *)p;
1496
0
                                    }
1497
0
                                    break;
1498
0
                                case '\0':
1499
0
                                    if (ossl_unlikely(r->group_name != NULL)) {
1500
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1501
0
                                                       "param %s is repeated", s);
1502
0
                                        return 0;
1503
0
                                    }
1504
0
                                    r->group_name = (OSSL_PARAM *)p;
1505
0
                                }
1506
0
                            }
1507
0
                        }
1508
0
                    }
1509
0
                }
1510
0
                break;
1511
0
            case 'i':
1512
0
                if (ossl_likely(strcmp("nclude-public", s + 1) == 0)) {
1513
                    /* OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC */
1514
0
                    if (ossl_unlikely(r->include_public != NULL)) {
1515
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1516
0
                                       "param %s is repeated", s);
1517
0
                        return 0;
1518
0
                    }
1519
0
                    r->include_public = (OSSL_PARAM *)p;
1520
0
                }
1521
0
                break;
1522
0
            case 'o':
1523
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
1524
                    /* OSSL_PKEY_PARAM_EC_ORDER */
1525
0
                    if (ossl_unlikely(r->order != NULL)) {
1526
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1527
0
                                       "param %s is repeated", s);
1528
0
                        return 0;
1529
0
                    }
1530
0
                    r->order = (OSSL_PARAM *)p;
1531
0
                }
1532
0
                break;
1533
0
            case 'p':
1534
0
                switch(s[1]) {
1535
0
                default:
1536
0
                    break;
1537
0
                case 'o':
1538
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
1539
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
1540
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
1541
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1542
0
                                           "param %s is repeated", s);
1543
0
                            return 0;
1544
0
                        }
1545
0
                        r->pt_format = (OSSL_PARAM *)p;
1546
0
                    }
1547
0
                    break;
1548
0
                case '\0':
1549
0
                    if (ossl_unlikely(r->p != NULL)) {
1550
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1551
0
                                       "param %s is repeated", s);
1552
0
                        return 0;
1553
0
                    }
1554
0
                    r->p = (OSSL_PARAM *)p;
1555
0
                }
1556
0
                break;
1557
0
            case 's':
1558
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
1559
                    /* OSSL_PKEY_PARAM_EC_SEED */
1560
0
                    if (ossl_unlikely(r->seed != NULL)) {
1561
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1562
0
                                       "param %s is repeated", s);
1563
0
                        return 0;
1564
0
                    }
1565
0
                    r->seed = (OSSL_PARAM *)p;
1566
0
                }
1567
0
                break;
1568
0
            case 'u':
1569
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
1570
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
1571
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
1572
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1573
0
                                       "param %s is repeated", s);
1574
0
                        return 0;
1575
0
                    }
1576
0
                    r->use_cofactor = (OSSL_PARAM *)p;
1577
0
                }
1578
0
            }
1579
0
    return 1;
1580
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_12_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_12_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_12_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_12_decoder
1581
#endif
1582
/* End of machine generated */
1583
#define ec_imexport_types_13_st ec_params_st
1584
/* Machine generated */
1585
#ifndef ec_imexport_types_13_list
1586
static ossl_unused const OSSL_PARAM ec_imexport_types_13_list[] = {
1587
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
1588
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
1589
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
1590
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
1591
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
1592
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
1593
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
1594
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
1595
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
1596
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
1597
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
1598
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
1599
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS, NULL),
1600
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
1601
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC, NULL),
1602
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
1603
    OSSL_PARAM_END
1604
};
1605
#endif
1606
1607
#ifndef ec_imexport_types_13_st
1608
struct ec_imexport_types_13_st {
1609
    OSSL_PARAM *a;
1610
    OSSL_PARAM *b;
1611
    OSSL_PARAM *cofactor;
1612
    OSSL_PARAM *decoded;
1613
    OSSL_PARAM *encoding;
1614
    OSSL_PARAM *field_type;
1615
    OSSL_PARAM *generator;
1616
    OSSL_PARAM *group_check;
1617
    OSSL_PARAM *group_name;
1618
    OSSL_PARAM *include_public;
1619
    OSSL_PARAM *order;
1620
    OSSL_PARAM *p;
1621
    OSSL_PARAM *priv;
1622
    OSSL_PARAM *pt_format;
1623
    OSSL_PARAM *seed;
1624
    OSSL_PARAM *use_cofactor;
1625
};
1626
#endif
1627
1628
#ifndef ec_imexport_types_13_decoder
1629
static ossl_unused int ec_imexport_types_13_decoder
1630
    (const OSSL_PARAM *p, struct ec_imexport_types_13_st *r)
1631
0
{
1632
0
    const char *s;
1633
1634
0
    memset(r, 0, sizeof(*r));
1635
0
    if (p != NULL)
1636
0
        for (; (s = p->key) != NULL; p++)
1637
0
            switch(s[0]) {
1638
0
            default:
1639
0
                break;
1640
0
            case 'a':
1641
0
                switch(s[1]) {
1642
0
                default:
1643
0
                    break;
1644
0
                case '\0':
1645
0
                    if (ossl_unlikely(r->a != NULL)) {
1646
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1647
0
                                       "param %s is repeated", s);
1648
0
                        return 0;
1649
0
                    }
1650
0
                    r->a = (OSSL_PARAM *)p;
1651
0
                }
1652
0
                break;
1653
0
            case 'b':
1654
0
                switch(s[1]) {
1655
0
                default:
1656
0
                    break;
1657
0
                case '\0':
1658
0
                    if (ossl_unlikely(r->b != NULL)) {
1659
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1660
0
                                       "param %s is repeated", s);
1661
0
                        return 0;
1662
0
                    }
1663
0
                    r->b = (OSSL_PARAM *)p;
1664
0
                }
1665
0
                break;
1666
0
            case 'c':
1667
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
1668
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
1669
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
1670
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1671
0
                                       "param %s is repeated", s);
1672
0
                        return 0;
1673
0
                    }
1674
0
                    r->cofactor = (OSSL_PARAM *)p;
1675
0
                }
1676
0
                break;
1677
0
            case 'd':
1678
0
                if (ossl_likely(strcmp("ecoded-from-explicit", s + 1) == 0)) {
1679
                    /* OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS */
1680
0
                    if (ossl_unlikely(r->decoded != NULL)) {
1681
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1682
0
                                       "param %s is repeated", s);
1683
0
                        return 0;
1684
0
                    }
1685
0
                    r->decoded = (OSSL_PARAM *)p;
1686
0
                }
1687
0
                break;
1688
0
            case 'e':
1689
0
                if (ossl_likely(strcmp("ncoding", s + 1) == 0)) {
1690
                    /* OSSL_PKEY_PARAM_EC_ENCODING */
1691
0
                    if (ossl_unlikely(r->encoding != NULL)) {
1692
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1693
0
                                       "param %s is repeated", s);
1694
0
                        return 0;
1695
0
                    }
1696
0
                    r->encoding = (OSSL_PARAM *)p;
1697
0
                }
1698
0
                break;
1699
0
            case 'f':
1700
0
                if (ossl_likely(strcmp("ield-type", s + 1) == 0)) {
1701
                    /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
1702
0
                    if (ossl_unlikely(r->field_type != NULL)) {
1703
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1704
0
                                       "param %s is repeated", s);
1705
0
                        return 0;
1706
0
                    }
1707
0
                    r->field_type = (OSSL_PARAM *)p;
1708
0
                }
1709
0
                break;
1710
0
            case 'g':
1711
0
                switch(s[1]) {
1712
0
                default:
1713
0
                    break;
1714
0
                case 'e':
1715
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
1716
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
1717
0
                        if (ossl_unlikely(r->generator != NULL)) {
1718
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1719
0
                                           "param %s is repeated", s);
1720
0
                            return 0;
1721
0
                        }
1722
0
                        r->generator = (OSSL_PARAM *)p;
1723
0
                    }
1724
0
                    break;
1725
0
                case 'r':
1726
0
                    switch(s[2]) {
1727
0
                    default:
1728
0
                        break;
1729
0
                    case 'o':
1730
0
                        switch(s[3]) {
1731
0
                        default:
1732
0
                            break;
1733
0
                        case 'u':
1734
0
                            switch(s[4]) {
1735
0
                            default:
1736
0
                                break;
1737
0
                            case 'p':
1738
0
                                switch(s[5]) {
1739
0
                                default:
1740
0
                                    break;
1741
0
                                case '-':
1742
0
                                    if (ossl_likely(strcmp("check", s + 6) == 0)) {
1743
                                        /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
1744
0
                                        if (ossl_unlikely(r->group_check != NULL)) {
1745
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1746
0
                                                           "param %s is repeated", s);
1747
0
                                            return 0;
1748
0
                                        }
1749
0
                                        r->group_check = (OSSL_PARAM *)p;
1750
0
                                    }
1751
0
                                    break;
1752
0
                                case '\0':
1753
0
                                    if (ossl_unlikely(r->group_name != NULL)) {
1754
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1755
0
                                                       "param %s is repeated", s);
1756
0
                                        return 0;
1757
0
                                    }
1758
0
                                    r->group_name = (OSSL_PARAM *)p;
1759
0
                                }
1760
0
                            }
1761
0
                        }
1762
0
                    }
1763
0
                }
1764
0
                break;
1765
0
            case 'i':
1766
0
                if (ossl_likely(strcmp("nclude-public", s + 1) == 0)) {
1767
                    /* OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC */
1768
0
                    if (ossl_unlikely(r->include_public != NULL)) {
1769
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1770
0
                                       "param %s is repeated", s);
1771
0
                        return 0;
1772
0
                    }
1773
0
                    r->include_public = (OSSL_PARAM *)p;
1774
0
                }
1775
0
                break;
1776
0
            case 'o':
1777
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
1778
                    /* OSSL_PKEY_PARAM_EC_ORDER */
1779
0
                    if (ossl_unlikely(r->order != NULL)) {
1780
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1781
0
                                       "param %s is repeated", s);
1782
0
                        return 0;
1783
0
                    }
1784
0
                    r->order = (OSSL_PARAM *)p;
1785
0
                }
1786
0
                break;
1787
0
            case 'p':
1788
0
                switch(s[1]) {
1789
0
                default:
1790
0
                    break;
1791
0
                case 'o':
1792
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
1793
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
1794
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
1795
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1796
0
                                           "param %s is repeated", s);
1797
0
                            return 0;
1798
0
                        }
1799
0
                        r->pt_format = (OSSL_PARAM *)p;
1800
0
                    }
1801
0
                    break;
1802
0
                case 'r':
1803
0
                    if (ossl_likely(strcmp("iv", s + 2) == 0)) {
1804
                        /* OSSL_PKEY_PARAM_PRIV_KEY */
1805
0
                        if (ossl_unlikely(r->priv != NULL)) {
1806
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1807
0
                                           "param %s is repeated", s);
1808
0
                            return 0;
1809
0
                        }
1810
0
                        r->priv = (OSSL_PARAM *)p;
1811
0
                    }
1812
0
                    break;
1813
0
                case '\0':
1814
0
                    if (ossl_unlikely(r->p != NULL)) {
1815
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1816
0
                                       "param %s is repeated", s);
1817
0
                        return 0;
1818
0
                    }
1819
0
                    r->p = (OSSL_PARAM *)p;
1820
0
                }
1821
0
                break;
1822
0
            case 's':
1823
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
1824
                    /* OSSL_PKEY_PARAM_EC_SEED */
1825
0
                    if (ossl_unlikely(r->seed != NULL)) {
1826
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1827
0
                                       "param %s is repeated", s);
1828
0
                        return 0;
1829
0
                    }
1830
0
                    r->seed = (OSSL_PARAM *)p;
1831
0
                }
1832
0
                break;
1833
0
            case 'u':
1834
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
1835
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
1836
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
1837
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1838
0
                                       "param %s is repeated", s);
1839
0
                        return 0;
1840
0
                    }
1841
0
                    r->use_cofactor = (OSSL_PARAM *)p;
1842
0
                }
1843
0
            }
1844
0
    return 1;
1845
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_13_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_13_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_13_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_13_decoder
1846
#endif
1847
/* End of machine generated */
1848
#define ec_imexport_types_14_st ec_params_st
1849
/* Machine generated */
1850
#ifndef ec_imexport_types_14_list
1851
static ossl_unused const OSSL_PARAM ec_imexport_types_14_list[] = {
1852
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0),
1853
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
1854
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
1855
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
1856
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
1857
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
1858
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
1859
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
1860
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
1861
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
1862
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
1863
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
1864
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS, NULL),
1865
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
1866
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC, NULL),
1867
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
1868
    OSSL_PARAM_END
1869
};
1870
#endif
1871
1872
#ifndef ec_imexport_types_14_st
1873
struct ec_imexport_types_14_st {
1874
    OSSL_PARAM *a;
1875
    OSSL_PARAM *b;
1876
    OSSL_PARAM *cofactor;
1877
    OSSL_PARAM *decoded;
1878
    OSSL_PARAM *encoding;
1879
    OSSL_PARAM *field_type;
1880
    OSSL_PARAM *generator;
1881
    OSSL_PARAM *group_check;
1882
    OSSL_PARAM *group_name;
1883
    OSSL_PARAM *include_public;
1884
    OSSL_PARAM *order;
1885
    OSSL_PARAM *p;
1886
    OSSL_PARAM *pt_format;
1887
    OSSL_PARAM *pub;
1888
    OSSL_PARAM *seed;
1889
    OSSL_PARAM *use_cofactor;
1890
};
1891
#endif
1892
1893
#ifndef ec_imexport_types_14_decoder
1894
static ossl_unused int ec_imexport_types_14_decoder
1895
    (const OSSL_PARAM *p, struct ec_imexport_types_14_st *r)
1896
0
{
1897
0
    const char *s;
1898
1899
0
    memset(r, 0, sizeof(*r));
1900
0
    if (p != NULL)
1901
0
        for (; (s = p->key) != NULL; p++)
1902
0
            switch(s[0]) {
1903
0
            default:
1904
0
                break;
1905
0
            case 'a':
1906
0
                switch(s[1]) {
1907
0
                default:
1908
0
                    break;
1909
0
                case '\0':
1910
0
                    if (ossl_unlikely(r->a != NULL)) {
1911
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1912
0
                                       "param %s is repeated", s);
1913
0
                        return 0;
1914
0
                    }
1915
0
                    r->a = (OSSL_PARAM *)p;
1916
0
                }
1917
0
                break;
1918
0
            case 'b':
1919
0
                switch(s[1]) {
1920
0
                default:
1921
0
                    break;
1922
0
                case '\0':
1923
0
                    if (ossl_unlikely(r->b != NULL)) {
1924
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1925
0
                                       "param %s is repeated", s);
1926
0
                        return 0;
1927
0
                    }
1928
0
                    r->b = (OSSL_PARAM *)p;
1929
0
                }
1930
0
                break;
1931
0
            case 'c':
1932
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
1933
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
1934
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
1935
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1936
0
                                       "param %s is repeated", s);
1937
0
                        return 0;
1938
0
                    }
1939
0
                    r->cofactor = (OSSL_PARAM *)p;
1940
0
                }
1941
0
                break;
1942
0
            case 'd':
1943
0
                if (ossl_likely(strcmp("ecoded-from-explicit", s + 1) == 0)) {
1944
                    /* OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS */
1945
0
                    if (ossl_unlikely(r->decoded != NULL)) {
1946
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1947
0
                                       "param %s is repeated", s);
1948
0
                        return 0;
1949
0
                    }
1950
0
                    r->decoded = (OSSL_PARAM *)p;
1951
0
                }
1952
0
                break;
1953
0
            case 'e':
1954
0
                if (ossl_likely(strcmp("ncoding", s + 1) == 0)) {
1955
                    /* OSSL_PKEY_PARAM_EC_ENCODING */
1956
0
                    if (ossl_unlikely(r->encoding != NULL)) {
1957
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1958
0
                                       "param %s is repeated", s);
1959
0
                        return 0;
1960
0
                    }
1961
0
                    r->encoding = (OSSL_PARAM *)p;
1962
0
                }
1963
0
                break;
1964
0
            case 'f':
1965
0
                if (ossl_likely(strcmp("ield-type", s + 1) == 0)) {
1966
                    /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
1967
0
                    if (ossl_unlikely(r->field_type != NULL)) {
1968
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1969
0
                                       "param %s is repeated", s);
1970
0
                        return 0;
1971
0
                    }
1972
0
                    r->field_type = (OSSL_PARAM *)p;
1973
0
                }
1974
0
                break;
1975
0
            case 'g':
1976
0
                switch(s[1]) {
1977
0
                default:
1978
0
                    break;
1979
0
                case 'e':
1980
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
1981
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
1982
0
                        if (ossl_unlikely(r->generator != NULL)) {
1983
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1984
0
                                           "param %s is repeated", s);
1985
0
                            return 0;
1986
0
                        }
1987
0
                        r->generator = (OSSL_PARAM *)p;
1988
0
                    }
1989
0
                    break;
1990
0
                case 'r':
1991
0
                    switch(s[2]) {
1992
0
                    default:
1993
0
                        break;
1994
0
                    case 'o':
1995
0
                        switch(s[3]) {
1996
0
                        default:
1997
0
                            break;
1998
0
                        case 'u':
1999
0
                            switch(s[4]) {
2000
0
                            default:
2001
0
                                break;
2002
0
                            case 'p':
2003
0
                                switch(s[5]) {
2004
0
                                default:
2005
0
                                    break;
2006
0
                                case '-':
2007
0
                                    if (ossl_likely(strcmp("check", s + 6) == 0)) {
2008
                                        /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
2009
0
                                        if (ossl_unlikely(r->group_check != NULL)) {
2010
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2011
0
                                                           "param %s is repeated", s);
2012
0
                                            return 0;
2013
0
                                        }
2014
0
                                        r->group_check = (OSSL_PARAM *)p;
2015
0
                                    }
2016
0
                                    break;
2017
0
                                case '\0':
2018
0
                                    if (ossl_unlikely(r->group_name != NULL)) {
2019
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2020
0
                                                       "param %s is repeated", s);
2021
0
                                        return 0;
2022
0
                                    }
2023
0
                                    r->group_name = (OSSL_PARAM *)p;
2024
0
                                }
2025
0
                            }
2026
0
                        }
2027
0
                    }
2028
0
                }
2029
0
                break;
2030
0
            case 'i':
2031
0
                if (ossl_likely(strcmp("nclude-public", s + 1) == 0)) {
2032
                    /* OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC */
2033
0
                    if (ossl_unlikely(r->include_public != NULL)) {
2034
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2035
0
                                       "param %s is repeated", s);
2036
0
                        return 0;
2037
0
                    }
2038
0
                    r->include_public = (OSSL_PARAM *)p;
2039
0
                }
2040
0
                break;
2041
0
            case 'o':
2042
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
2043
                    /* OSSL_PKEY_PARAM_EC_ORDER */
2044
0
                    if (ossl_unlikely(r->order != NULL)) {
2045
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2046
0
                                       "param %s is repeated", s);
2047
0
                        return 0;
2048
0
                    }
2049
0
                    r->order = (OSSL_PARAM *)p;
2050
0
                }
2051
0
                break;
2052
0
            case 'p':
2053
0
                switch(s[1]) {
2054
0
                default:
2055
0
                    break;
2056
0
                case 'o':
2057
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
2058
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
2059
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
2060
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2061
0
                                           "param %s is repeated", s);
2062
0
                            return 0;
2063
0
                        }
2064
0
                        r->pt_format = (OSSL_PARAM *)p;
2065
0
                    }
2066
0
                    break;
2067
0
                case 'u':
2068
0
                    if (ossl_likely(strcmp("b", s + 2) == 0)) {
2069
                        /* OSSL_PKEY_PARAM_PUB_KEY */
2070
0
                        if (ossl_unlikely(r->pub != NULL)) {
2071
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2072
0
                                           "param %s is repeated", s);
2073
0
                            return 0;
2074
0
                        }
2075
0
                        r->pub = (OSSL_PARAM *)p;
2076
0
                    }
2077
0
                    break;
2078
0
                case '\0':
2079
0
                    if (ossl_unlikely(r->p != NULL)) {
2080
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2081
0
                                       "param %s is repeated", s);
2082
0
                        return 0;
2083
0
                    }
2084
0
                    r->p = (OSSL_PARAM *)p;
2085
0
                }
2086
0
                break;
2087
0
            case 's':
2088
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
2089
                    /* OSSL_PKEY_PARAM_EC_SEED */
2090
0
                    if (ossl_unlikely(r->seed != NULL)) {
2091
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2092
0
                                       "param %s is repeated", s);
2093
0
                        return 0;
2094
0
                    }
2095
0
                    r->seed = (OSSL_PARAM *)p;
2096
0
                }
2097
0
                break;
2098
0
            case 'u':
2099
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
2100
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
2101
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
2102
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2103
0
                                       "param %s is repeated", s);
2104
0
                        return 0;
2105
0
                    }
2106
0
                    r->use_cofactor = (OSSL_PARAM *)p;
2107
0
                }
2108
0
            }
2109
0
    return 1;
2110
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_14_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_14_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_14_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_14_decoder
2111
#endif
2112
/* End of machine generated */
2113
#define ec_imexport_types_15_st ec_params_st
2114
/* Machine generated */
2115
#ifndef ec_imexport_types_15_list
2116
static ossl_unused const OSSL_PARAM ec_imexport_types_15_list[] = {
2117
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
2118
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0),
2119
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
2120
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
2121
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
2122
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
2123
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
2124
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
2125
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
2126
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
2127
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
2128
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
2129
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
2130
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS, NULL),
2131
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
2132
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC, NULL),
2133
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
2134
    OSSL_PARAM_END
2135
};
2136
#endif
2137
2138
#ifndef ec_imexport_types_15_st
2139
struct ec_imexport_types_15_st {
2140
    OSSL_PARAM *a;
2141
    OSSL_PARAM *b;
2142
    OSSL_PARAM *cofactor;
2143
    OSSL_PARAM *decoded;
2144
    OSSL_PARAM *encoding;
2145
    OSSL_PARAM *field_type;
2146
    OSSL_PARAM *generator;
2147
    OSSL_PARAM *group_check;
2148
    OSSL_PARAM *group_name;
2149
    OSSL_PARAM *include_public;
2150
    OSSL_PARAM *order;
2151
    OSSL_PARAM *p;
2152
    OSSL_PARAM *priv;
2153
    OSSL_PARAM *pt_format;
2154
    OSSL_PARAM *pub;
2155
    OSSL_PARAM *seed;
2156
    OSSL_PARAM *use_cofactor;
2157
};
2158
#endif
2159
2160
#ifndef ec_imexport_types_15_decoder
2161
static ossl_unused int ec_imexport_types_15_decoder
2162
    (const OSSL_PARAM *p, struct ec_imexport_types_15_st *r)
2163
0
{
2164
0
    const char *s;
2165
2166
0
    memset(r, 0, sizeof(*r));
2167
0
    if (p != NULL)
2168
0
        for (; (s = p->key) != NULL; p++)
2169
0
            switch(s[0]) {
2170
0
            default:
2171
0
                break;
2172
0
            case 'a':
2173
0
                switch(s[1]) {
2174
0
                default:
2175
0
                    break;
2176
0
                case '\0':
2177
0
                    if (ossl_unlikely(r->a != NULL)) {
2178
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2179
0
                                       "param %s is repeated", s);
2180
0
                        return 0;
2181
0
                    }
2182
0
                    r->a = (OSSL_PARAM *)p;
2183
0
                }
2184
0
                break;
2185
0
            case 'b':
2186
0
                switch(s[1]) {
2187
0
                default:
2188
0
                    break;
2189
0
                case '\0':
2190
0
                    if (ossl_unlikely(r->b != NULL)) {
2191
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2192
0
                                       "param %s is repeated", s);
2193
0
                        return 0;
2194
0
                    }
2195
0
                    r->b = (OSSL_PARAM *)p;
2196
0
                }
2197
0
                break;
2198
0
            case 'c':
2199
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
2200
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
2201
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
2202
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2203
0
                                       "param %s is repeated", s);
2204
0
                        return 0;
2205
0
                    }
2206
0
                    r->cofactor = (OSSL_PARAM *)p;
2207
0
                }
2208
0
                break;
2209
0
            case 'd':
2210
0
                if (ossl_likely(strcmp("ecoded-from-explicit", s + 1) == 0)) {
2211
                    /* OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS */
2212
0
                    if (ossl_unlikely(r->decoded != NULL)) {
2213
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2214
0
                                       "param %s is repeated", s);
2215
0
                        return 0;
2216
0
                    }
2217
0
                    r->decoded = (OSSL_PARAM *)p;
2218
0
                }
2219
0
                break;
2220
0
            case 'e':
2221
0
                if (ossl_likely(strcmp("ncoding", s + 1) == 0)) {
2222
                    /* OSSL_PKEY_PARAM_EC_ENCODING */
2223
0
                    if (ossl_unlikely(r->encoding != NULL)) {
2224
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2225
0
                                       "param %s is repeated", s);
2226
0
                        return 0;
2227
0
                    }
2228
0
                    r->encoding = (OSSL_PARAM *)p;
2229
0
                }
2230
0
                break;
2231
0
            case 'f':
2232
0
                if (ossl_likely(strcmp("ield-type", s + 1) == 0)) {
2233
                    /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
2234
0
                    if (ossl_unlikely(r->field_type != NULL)) {
2235
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2236
0
                                       "param %s is repeated", s);
2237
0
                        return 0;
2238
0
                    }
2239
0
                    r->field_type = (OSSL_PARAM *)p;
2240
0
                }
2241
0
                break;
2242
0
            case 'g':
2243
0
                switch(s[1]) {
2244
0
                default:
2245
0
                    break;
2246
0
                case 'e':
2247
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
2248
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
2249
0
                        if (ossl_unlikely(r->generator != NULL)) {
2250
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2251
0
                                           "param %s is repeated", s);
2252
0
                            return 0;
2253
0
                        }
2254
0
                        r->generator = (OSSL_PARAM *)p;
2255
0
                    }
2256
0
                    break;
2257
0
                case 'r':
2258
0
                    switch(s[2]) {
2259
0
                    default:
2260
0
                        break;
2261
0
                    case 'o':
2262
0
                        switch(s[3]) {
2263
0
                        default:
2264
0
                            break;
2265
0
                        case 'u':
2266
0
                            switch(s[4]) {
2267
0
                            default:
2268
0
                                break;
2269
0
                            case 'p':
2270
0
                                switch(s[5]) {
2271
0
                                default:
2272
0
                                    break;
2273
0
                                case '-':
2274
0
                                    if (ossl_likely(strcmp("check", s + 6) == 0)) {
2275
                                        /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
2276
0
                                        if (ossl_unlikely(r->group_check != NULL)) {
2277
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2278
0
                                                           "param %s is repeated", s);
2279
0
                                            return 0;
2280
0
                                        }
2281
0
                                        r->group_check = (OSSL_PARAM *)p;
2282
0
                                    }
2283
0
                                    break;
2284
0
                                case '\0':
2285
0
                                    if (ossl_unlikely(r->group_name != NULL)) {
2286
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2287
0
                                                       "param %s is repeated", s);
2288
0
                                        return 0;
2289
0
                                    }
2290
0
                                    r->group_name = (OSSL_PARAM *)p;
2291
0
                                }
2292
0
                            }
2293
0
                        }
2294
0
                    }
2295
0
                }
2296
0
                break;
2297
0
            case 'i':
2298
0
                if (ossl_likely(strcmp("nclude-public", s + 1) == 0)) {
2299
                    /* OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC */
2300
0
                    if (ossl_unlikely(r->include_public != NULL)) {
2301
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2302
0
                                       "param %s is repeated", s);
2303
0
                        return 0;
2304
0
                    }
2305
0
                    r->include_public = (OSSL_PARAM *)p;
2306
0
                }
2307
0
                break;
2308
0
            case 'o':
2309
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
2310
                    /* OSSL_PKEY_PARAM_EC_ORDER */
2311
0
                    if (ossl_unlikely(r->order != NULL)) {
2312
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2313
0
                                       "param %s is repeated", s);
2314
0
                        return 0;
2315
0
                    }
2316
0
                    r->order = (OSSL_PARAM *)p;
2317
0
                }
2318
0
                break;
2319
0
            case 'p':
2320
0
                switch(s[1]) {
2321
0
                default:
2322
0
                    break;
2323
0
                case 'o':
2324
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
2325
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
2326
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
2327
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2328
0
                                           "param %s is repeated", s);
2329
0
                            return 0;
2330
0
                        }
2331
0
                        r->pt_format = (OSSL_PARAM *)p;
2332
0
                    }
2333
0
                    break;
2334
0
                case 'r':
2335
0
                    if (ossl_likely(strcmp("iv", s + 2) == 0)) {
2336
                        /* OSSL_PKEY_PARAM_PRIV_KEY */
2337
0
                        if (ossl_unlikely(r->priv != NULL)) {
2338
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2339
0
                                           "param %s is repeated", s);
2340
0
                            return 0;
2341
0
                        }
2342
0
                        r->priv = (OSSL_PARAM *)p;
2343
0
                    }
2344
0
                    break;
2345
0
                case 'u':
2346
0
                    if (ossl_likely(strcmp("b", s + 2) == 0)) {
2347
                        /* OSSL_PKEY_PARAM_PUB_KEY */
2348
0
                        if (ossl_unlikely(r->pub != NULL)) {
2349
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2350
0
                                           "param %s is repeated", s);
2351
0
                            return 0;
2352
0
                        }
2353
0
                        r->pub = (OSSL_PARAM *)p;
2354
0
                    }
2355
0
                    break;
2356
0
                case '\0':
2357
0
                    if (ossl_unlikely(r->p != NULL)) {
2358
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2359
0
                                       "param %s is repeated", s);
2360
0
                        return 0;
2361
0
                    }
2362
0
                    r->p = (OSSL_PARAM *)p;
2363
0
                }
2364
0
                break;
2365
0
            case 's':
2366
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
2367
                    /* OSSL_PKEY_PARAM_EC_SEED */
2368
0
                    if (ossl_unlikely(r->seed != NULL)) {
2369
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2370
0
                                       "param %s is repeated", s);
2371
0
                        return 0;
2372
0
                    }
2373
0
                    r->seed = (OSSL_PARAM *)p;
2374
0
                }
2375
0
                break;
2376
0
            case 'u':
2377
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
2378
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
2379
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
2380
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2381
0
                                       "param %s is repeated", s);
2382
0
                        return 0;
2383
0
                    }
2384
0
                    r->use_cofactor = (OSSL_PARAM *)p;
2385
0
                }
2386
0
            }
2387
0
    return 1;
2388
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_imexport_types_15_decoder
Unexecuted instantiation: ec_ameth.c:ec_imexport_types_15_decoder
Unexecuted instantiation: ec_backend.c:ec_imexport_types_15_decoder
Unexecuted instantiation: ec_lib.c:ec_imexport_types_15_decoder
2389
#endif
2390
/* End of machine generated */
2391
2392
2393
/* Public EC compatibility functions retain their existing signatures. */
2394
#define ec_group_fromdata_st ec_params_st
2395
/* Machine generated */
2396
#ifndef ec_group_fromdata_list
2397
static ossl_unused const OSSL_PARAM ec_group_fromdata_list[] = {
2398
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
2399
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
2400
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
2401
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
2402
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
2403
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
2404
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
2405
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
2406
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
2407
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
2408
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
2409
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS, NULL),
2410
    OSSL_PARAM_END
2411
};
2412
#endif
2413
2414
#ifndef ec_group_fromdata_st
2415
struct ec_group_fromdata_st {
2416
    OSSL_PARAM *a;
2417
    OSSL_PARAM *b;
2418
    OSSL_PARAM *cofactor;
2419
    OSSL_PARAM *decoded;
2420
    OSSL_PARAM *encoding;
2421
    OSSL_PARAM *field_type;
2422
    OSSL_PARAM *generator;
2423
    OSSL_PARAM *group_name;
2424
    OSSL_PARAM *order;
2425
    OSSL_PARAM *p;
2426
    OSSL_PARAM *pt_format;
2427
    OSSL_PARAM *seed;
2428
};
2429
#endif
2430
2431
#ifndef ec_group_fromdata_decoder
2432
static ossl_unused int ec_group_fromdata_decoder
2433
    (const OSSL_PARAM *p, struct ec_group_fromdata_st *r)
2434
0
{
2435
0
    const char *s;
2436
2437
0
    memset(r, 0, sizeof(*r));
2438
0
    if (p != NULL)
2439
0
        for (; (s = p->key) != NULL; p++)
2440
0
            switch(s[0]) {
2441
0
            default:
2442
0
                break;
2443
0
            case 'a':
2444
0
                switch(s[1]) {
2445
0
                default:
2446
0
                    break;
2447
0
                case '\0':
2448
0
                    if (ossl_unlikely(r->a != NULL)) {
2449
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2450
0
                                       "param %s is repeated", s);
2451
0
                        return 0;
2452
0
                    }
2453
0
                    r->a = (OSSL_PARAM *)p;
2454
0
                }
2455
0
                break;
2456
0
            case 'b':
2457
0
                switch(s[1]) {
2458
0
                default:
2459
0
                    break;
2460
0
                case '\0':
2461
0
                    if (ossl_unlikely(r->b != NULL)) {
2462
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2463
0
                                       "param %s is repeated", s);
2464
0
                        return 0;
2465
0
                    }
2466
0
                    r->b = (OSSL_PARAM *)p;
2467
0
                }
2468
0
                break;
2469
0
            case 'c':
2470
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
2471
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
2472
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
2473
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2474
0
                                       "param %s is repeated", s);
2475
0
                        return 0;
2476
0
                    }
2477
0
                    r->cofactor = (OSSL_PARAM *)p;
2478
0
                }
2479
0
                break;
2480
0
            case 'd':
2481
0
                if (ossl_likely(strcmp("ecoded-from-explicit", s + 1) == 0)) {
2482
                    /* OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS */
2483
0
                    if (ossl_unlikely(r->decoded != NULL)) {
2484
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2485
0
                                       "param %s is repeated", s);
2486
0
                        return 0;
2487
0
                    }
2488
0
                    r->decoded = (OSSL_PARAM *)p;
2489
0
                }
2490
0
                break;
2491
0
            case 'e':
2492
0
                if (ossl_likely(strcmp("ncoding", s + 1) == 0)) {
2493
                    /* OSSL_PKEY_PARAM_EC_ENCODING */
2494
0
                    if (ossl_unlikely(r->encoding != NULL)) {
2495
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2496
0
                                       "param %s is repeated", s);
2497
0
                        return 0;
2498
0
                    }
2499
0
                    r->encoding = (OSSL_PARAM *)p;
2500
0
                }
2501
0
                break;
2502
0
            case 'f':
2503
0
                if (ossl_likely(strcmp("ield-type", s + 1) == 0)) {
2504
                    /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
2505
0
                    if (ossl_unlikely(r->field_type != NULL)) {
2506
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2507
0
                                       "param %s is repeated", s);
2508
0
                        return 0;
2509
0
                    }
2510
0
                    r->field_type = (OSSL_PARAM *)p;
2511
0
                }
2512
0
                break;
2513
0
            case 'g':
2514
0
                switch(s[1]) {
2515
0
                default:
2516
0
                    break;
2517
0
                case 'e':
2518
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
2519
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
2520
0
                        if (ossl_unlikely(r->generator != NULL)) {
2521
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2522
0
                                           "param %s is repeated", s);
2523
0
                            return 0;
2524
0
                        }
2525
0
                        r->generator = (OSSL_PARAM *)p;
2526
0
                    }
2527
0
                    break;
2528
0
                case 'r':
2529
0
                    if (ossl_likely(strcmp("oup", s + 2) == 0)) {
2530
                        /* OSSL_PKEY_PARAM_GROUP_NAME */
2531
0
                        if (ossl_unlikely(r->group_name != NULL)) {
2532
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2533
0
                                           "param %s is repeated", s);
2534
0
                            return 0;
2535
0
                        }
2536
0
                        r->group_name = (OSSL_PARAM *)p;
2537
0
                    }
2538
0
                }
2539
0
                break;
2540
0
            case 'o':
2541
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
2542
                    /* OSSL_PKEY_PARAM_EC_ORDER */
2543
0
                    if (ossl_unlikely(r->order != NULL)) {
2544
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2545
0
                                       "param %s is repeated", s);
2546
0
                        return 0;
2547
0
                    }
2548
0
                    r->order = (OSSL_PARAM *)p;
2549
0
                }
2550
0
                break;
2551
0
            case 'p':
2552
0
                switch(s[1]) {
2553
0
                default:
2554
0
                    break;
2555
0
                case 'o':
2556
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
2557
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
2558
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
2559
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2560
0
                                           "param %s is repeated", s);
2561
0
                            return 0;
2562
0
                        }
2563
0
                        r->pt_format = (OSSL_PARAM *)p;
2564
0
                    }
2565
0
                    break;
2566
0
                case '\0':
2567
0
                    if (ossl_unlikely(r->p != NULL)) {
2568
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2569
0
                                       "param %s is repeated", s);
2570
0
                        return 0;
2571
0
                    }
2572
0
                    r->p = (OSSL_PARAM *)p;
2573
0
                }
2574
0
                break;
2575
0
            case 's':
2576
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
2577
                    /* OSSL_PKEY_PARAM_EC_SEED */
2578
0
                    if (ossl_unlikely(r->seed != NULL)) {
2579
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2580
0
                                       "param %s is repeated", s);
2581
0
                        return 0;
2582
0
                    }
2583
0
                    r->seed = (OSSL_PARAM *)p;
2584
0
                }
2585
0
            }
2586
0
    return 1;
2587
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_group_fromdata_decoder
Unexecuted instantiation: ec_ameth.c:ec_group_fromdata_decoder
Unexecuted instantiation: ec_backend.c:ec_group_fromdata_decoder
Unexecuted instantiation: ec_lib.c:ec_group_fromdata_decoder
2588
#endif
2589
/* End of machine generated */
2590
2591
#define ec_group_todata_st ec_params_st
2592
/* Machine generated */
2593
#ifndef ec_group_todata_list
2594
static ossl_unused const OSSL_PARAM ec_group_todata_list[] = {
2595
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
2596
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
2597
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
2598
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
2599
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
2600
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
2601
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
2602
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
2603
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
2604
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
2605
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
2606
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS, NULL),
2607
    OSSL_PARAM_END
2608
};
2609
#endif
2610
2611
#ifndef ec_group_todata_st
2612
struct ec_group_todata_st {
2613
    OSSL_PARAM *a;
2614
    OSSL_PARAM *b;
2615
    OSSL_PARAM *cofactor;
2616
    OSSL_PARAM *decoded;
2617
    OSSL_PARAM *encoding;
2618
    OSSL_PARAM *field_type;
2619
    OSSL_PARAM *generator;
2620
    OSSL_PARAM *group_name;
2621
    OSSL_PARAM *order;
2622
    OSSL_PARAM *p;
2623
    OSSL_PARAM *pt_format;
2624
    OSSL_PARAM *seed;
2625
};
2626
#endif
2627
2628
#ifndef ec_group_todata_decoder
2629
static ossl_unused int ec_group_todata_decoder
2630
    (const OSSL_PARAM *p, struct ec_group_todata_st *r)
2631
0
{
2632
0
    const char *s;
2633
2634
0
    memset(r, 0, sizeof(*r));
2635
0
    if (p != NULL)
2636
0
        for (; (s = p->key) != NULL; p++)
2637
0
            switch(s[0]) {
2638
0
            default:
2639
0
                break;
2640
0
            case 'a':
2641
0
                switch(s[1]) {
2642
0
                default:
2643
0
                    break;
2644
0
                case '\0':
2645
0
                    if (ossl_unlikely(r->a != NULL)) {
2646
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2647
0
                                       "param %s is repeated", s);
2648
0
                        return 0;
2649
0
                    }
2650
0
                    r->a = (OSSL_PARAM *)p;
2651
0
                }
2652
0
                break;
2653
0
            case 'b':
2654
0
                switch(s[1]) {
2655
0
                default:
2656
0
                    break;
2657
0
                case '\0':
2658
0
                    if (ossl_unlikely(r->b != NULL)) {
2659
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2660
0
                                       "param %s is repeated", s);
2661
0
                        return 0;
2662
0
                    }
2663
0
                    r->b = (OSSL_PARAM *)p;
2664
0
                }
2665
0
                break;
2666
0
            case 'c':
2667
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
2668
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
2669
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
2670
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2671
0
                                       "param %s is repeated", s);
2672
0
                        return 0;
2673
0
                    }
2674
0
                    r->cofactor = (OSSL_PARAM *)p;
2675
0
                }
2676
0
                break;
2677
0
            case 'd':
2678
0
                if (ossl_likely(strcmp("ecoded-from-explicit", s + 1) == 0)) {
2679
                    /* OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS */
2680
0
                    if (ossl_unlikely(r->decoded != NULL)) {
2681
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2682
0
                                       "param %s is repeated", s);
2683
0
                        return 0;
2684
0
                    }
2685
0
                    r->decoded = (OSSL_PARAM *)p;
2686
0
                }
2687
0
                break;
2688
0
            case 'e':
2689
0
                if (ossl_likely(strcmp("ncoding", s + 1) == 0)) {
2690
                    /* OSSL_PKEY_PARAM_EC_ENCODING */
2691
0
                    if (ossl_unlikely(r->encoding != NULL)) {
2692
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2693
0
                                       "param %s is repeated", s);
2694
0
                        return 0;
2695
0
                    }
2696
0
                    r->encoding = (OSSL_PARAM *)p;
2697
0
                }
2698
0
                break;
2699
0
            case 'f':
2700
0
                if (ossl_likely(strcmp("ield-type", s + 1) == 0)) {
2701
                    /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
2702
0
                    if (ossl_unlikely(r->field_type != NULL)) {
2703
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2704
0
                                       "param %s is repeated", s);
2705
0
                        return 0;
2706
0
                    }
2707
0
                    r->field_type = (OSSL_PARAM *)p;
2708
0
                }
2709
0
                break;
2710
0
            case 'g':
2711
0
                switch(s[1]) {
2712
0
                default:
2713
0
                    break;
2714
0
                case 'e':
2715
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
2716
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
2717
0
                        if (ossl_unlikely(r->generator != NULL)) {
2718
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2719
0
                                           "param %s is repeated", s);
2720
0
                            return 0;
2721
0
                        }
2722
0
                        r->generator = (OSSL_PARAM *)p;
2723
0
                    }
2724
0
                    break;
2725
0
                case 'r':
2726
0
                    if (ossl_likely(strcmp("oup", s + 2) == 0)) {
2727
                        /* OSSL_PKEY_PARAM_GROUP_NAME */
2728
0
                        if (ossl_unlikely(r->group_name != NULL)) {
2729
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2730
0
                                           "param %s is repeated", s);
2731
0
                            return 0;
2732
0
                        }
2733
0
                        r->group_name = (OSSL_PARAM *)p;
2734
0
                    }
2735
0
                }
2736
0
                break;
2737
0
            case 'o':
2738
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
2739
                    /* OSSL_PKEY_PARAM_EC_ORDER */
2740
0
                    if (ossl_unlikely(r->order != NULL)) {
2741
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2742
0
                                       "param %s is repeated", s);
2743
0
                        return 0;
2744
0
                    }
2745
0
                    r->order = (OSSL_PARAM *)p;
2746
0
                }
2747
0
                break;
2748
0
            case 'p':
2749
0
                switch(s[1]) {
2750
0
                default:
2751
0
                    break;
2752
0
                case 'o':
2753
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
2754
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
2755
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
2756
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2757
0
                                           "param %s is repeated", s);
2758
0
                            return 0;
2759
0
                        }
2760
0
                        r->pt_format = (OSSL_PARAM *)p;
2761
0
                    }
2762
0
                    break;
2763
0
                case '\0':
2764
0
                    if (ossl_unlikely(r->p != NULL)) {
2765
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2766
0
                                       "param %s is repeated", s);
2767
0
                        return 0;
2768
0
                    }
2769
0
                    r->p = (OSSL_PARAM *)p;
2770
0
                }
2771
0
                break;
2772
0
            case 's':
2773
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
2774
                    /* OSSL_PKEY_PARAM_EC_SEED */
2775
0
                    if (ossl_unlikely(r->seed != NULL)) {
2776
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2777
0
                                       "param %s is repeated", s);
2778
0
                        return 0;
2779
0
                    }
2780
0
                    r->seed = (OSSL_PARAM *)p;
2781
0
                }
2782
0
            }
2783
0
    return 1;
2784
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_group_todata_decoder
Unexecuted instantiation: ec_ameth.c:ec_group_todata_decoder
Unexecuted instantiation: ec_backend.c:ec_group_todata_decoder
Unexecuted instantiation: ec_lib.c:ec_group_todata_decoder
2785
#endif
2786
/* End of machine generated */
2787
2788
#define ec_key_fromdata_st ec_params_st
2789
/* Machine generated */
2790
#ifndef ec_key_fromdata_list
2791
static ossl_unused const OSSL_PARAM ec_key_fromdata_list[] = {
2792
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0),
2793
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
2794
    OSSL_PARAM_END
2795
};
2796
#endif
2797
2798
#ifndef ec_key_fromdata_st
2799
struct ec_key_fromdata_st {
2800
    OSSL_PARAM *priv;
2801
    OSSL_PARAM *pub;
2802
};
2803
#endif
2804
2805
#ifndef ec_key_fromdata_decoder
2806
static ossl_unused int ec_key_fromdata_decoder
2807
    (const OSSL_PARAM *p, struct ec_key_fromdata_st *r)
2808
0
{
2809
0
    const char *s;
2810
2811
0
    memset(r, 0, sizeof(*r));
2812
0
    if (p != NULL)
2813
0
        for (; (s = p->key) != NULL; p++)
2814
0
            switch(s[0]) {
2815
0
            default:
2816
0
                break;
2817
0
            case 'p':
2818
0
                switch(s[1]) {
2819
0
                default:
2820
0
                    break;
2821
0
                case 'r':
2822
0
                    if (ossl_likely(strcmp("iv", s + 2) == 0)) {
2823
                        /* OSSL_PKEY_PARAM_PRIV_KEY */
2824
0
                        if (ossl_unlikely(r->priv != NULL)) {
2825
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2826
0
                                           "param %s is repeated", s);
2827
0
                            return 0;
2828
0
                        }
2829
0
                        r->priv = (OSSL_PARAM *)p;
2830
0
                    }
2831
0
                    break;
2832
0
                case 'u':
2833
0
                    if (ossl_likely(strcmp("b", s + 2) == 0)) {
2834
                        /* OSSL_PKEY_PARAM_PUB_KEY */
2835
0
                        if (ossl_unlikely(r->pub != NULL)) {
2836
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2837
0
                                           "param %s is repeated", s);
2838
0
                            return 0;
2839
0
                        }
2840
0
                        r->pub = (OSSL_PARAM *)p;
2841
0
                    }
2842
0
                }
2843
0
            }
2844
0
    return 1;
2845
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_key_fromdata_decoder
Unexecuted instantiation: ec_ameth.c:ec_key_fromdata_decoder
Unexecuted instantiation: ec_backend.c:ec_key_fromdata_decoder
Unexecuted instantiation: ec_lib.c:ec_key_fromdata_decoder
2846
#endif
2847
/* End of machine generated */
2848
2849
#define ec_key_otherparams_fromdata_st ec_params_st
2850
/* Machine generated */
2851
#ifndef ec_key_otherparams_fromdata_list
2852
static ossl_unused const OSSL_PARAM ec_key_otherparams_fromdata_list[] = {
2853
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
2854
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC, NULL),
2855
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
2856
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
2857
    OSSL_PARAM_END
2858
};
2859
#endif
2860
2861
#ifndef ec_key_otherparams_fromdata_st
2862
struct ec_key_otherparams_fromdata_st {
2863
    OSSL_PARAM *group_check;
2864
    OSSL_PARAM *include_public;
2865
    OSSL_PARAM *pt_format;
2866
    OSSL_PARAM *use_cofactor;
2867
};
2868
#endif
2869
2870
#ifndef ec_key_otherparams_fromdata_decoder
2871
static ossl_unused int ec_key_otherparams_fromdata_decoder
2872
    (const OSSL_PARAM *p, struct ec_key_otherparams_fromdata_st *r)
2873
0
{
2874
0
    const char *s;
2875
2876
0
    memset(r, 0, sizeof(*r));
2877
0
    if (p != NULL)
2878
0
        for (; (s = p->key) != NULL; p++)
2879
0
            switch(s[0]) {
2880
0
            default:
2881
0
                break;
2882
0
            case 'g':
2883
0
                if (ossl_likely(strcmp("roup-check", s + 1) == 0)) {
2884
                    /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
2885
0
                    if (ossl_unlikely(r->group_check != NULL)) {
2886
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2887
0
                                       "param %s is repeated", s);
2888
0
                        return 0;
2889
0
                    }
2890
0
                    r->group_check = (OSSL_PARAM *)p;
2891
0
                }
2892
0
                break;
2893
0
            case 'i':
2894
0
                if (ossl_likely(strcmp("nclude-public", s + 1) == 0)) {
2895
                    /* OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC */
2896
0
                    if (ossl_unlikely(r->include_public != NULL)) {
2897
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2898
0
                                       "param %s is repeated", s);
2899
0
                        return 0;
2900
0
                    }
2901
0
                    r->include_public = (OSSL_PARAM *)p;
2902
0
                }
2903
0
                break;
2904
0
            case 'p':
2905
0
                if (ossl_likely(strcmp("oint-format", s + 1) == 0)) {
2906
                    /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
2907
0
                    if (ossl_unlikely(r->pt_format != NULL)) {
2908
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2909
0
                                       "param %s is repeated", s);
2910
0
                        return 0;
2911
0
                    }
2912
0
                    r->pt_format = (OSSL_PARAM *)p;
2913
0
                }
2914
0
                break;
2915
0
            case 'u':
2916
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
2917
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
2918
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
2919
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2920
0
                                       "param %s is repeated", s);
2921
0
                        return 0;
2922
0
                    }
2923
0
                    r->use_cofactor = (OSSL_PARAM *)p;
2924
0
                }
2925
0
            }
2926
0
    return 1;
2927
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_key_otherparams_fromdata_decoder
Unexecuted instantiation: ec_ameth.c:ec_key_otherparams_fromdata_decoder
Unexecuted instantiation: ec_backend.c:ec_key_otherparams_fromdata_decoder
Unexecuted instantiation: ec_lib.c:ec_key_otherparams_fromdata_decoder
2928
#endif
2929
/* End of machine generated */
2930
2931
#define ec_pkey_import_from_st ec_params_st
2932
/* Machine generated */
2933
#ifndef ec_pkey_import_from_list
2934
static ossl_unused const OSSL_PARAM ec_pkey_import_from_list[] = {
2935
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
2936
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
2937
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
2938
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
2939
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
2940
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
2941
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
2942
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
2943
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
2944
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
2945
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
2946
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS, NULL),
2947
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0),
2948
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
2949
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
2950
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC, NULL),
2951
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
2952
    OSSL_PARAM_END
2953
};
2954
#endif
2955
2956
#ifndef ec_pkey_import_from_st
2957
struct ec_pkey_import_from_st {
2958
    OSSL_PARAM *a;
2959
    OSSL_PARAM *b;
2960
    OSSL_PARAM *cofactor;
2961
    OSSL_PARAM *decoded;
2962
    OSSL_PARAM *encoding;
2963
    OSSL_PARAM *field_type;
2964
    OSSL_PARAM *generator;
2965
    OSSL_PARAM *group_check;
2966
    OSSL_PARAM *group_name;
2967
    OSSL_PARAM *include_public;
2968
    OSSL_PARAM *order;
2969
    OSSL_PARAM *p;
2970
    OSSL_PARAM *priv;
2971
    OSSL_PARAM *pt_format;
2972
    OSSL_PARAM *pub;
2973
    OSSL_PARAM *seed;
2974
    OSSL_PARAM *use_cofactor;
2975
};
2976
#endif
2977
2978
#ifndef ec_pkey_import_from_decoder
2979
static ossl_unused int ec_pkey_import_from_decoder
2980
    (const OSSL_PARAM *p, struct ec_pkey_import_from_st *r)
2981
0
{
2982
0
    const char *s;
2983
2984
0
    memset(r, 0, sizeof(*r));
2985
0
    if (p != NULL)
2986
0
        for (; (s = p->key) != NULL; p++)
2987
0
            switch(s[0]) {
2988
0
            default:
2989
0
                break;
2990
0
            case 'a':
2991
0
                switch(s[1]) {
2992
0
                default:
2993
0
                    break;
2994
0
                case '\0':
2995
0
                    if (ossl_unlikely(r->a != NULL)) {
2996
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2997
0
                                       "param %s is repeated", s);
2998
0
                        return 0;
2999
0
                    }
3000
0
                    r->a = (OSSL_PARAM *)p;
3001
0
                }
3002
0
                break;
3003
0
            case 'b':
3004
0
                switch(s[1]) {
3005
0
                default:
3006
0
                    break;
3007
0
                case '\0':
3008
0
                    if (ossl_unlikely(r->b != NULL)) {
3009
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3010
0
                                       "param %s is repeated", s);
3011
0
                        return 0;
3012
0
                    }
3013
0
                    r->b = (OSSL_PARAM *)p;
3014
0
                }
3015
0
                break;
3016
0
            case 'c':
3017
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
3018
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
3019
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
3020
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3021
0
                                       "param %s is repeated", s);
3022
0
                        return 0;
3023
0
                    }
3024
0
                    r->cofactor = (OSSL_PARAM *)p;
3025
0
                }
3026
0
                break;
3027
0
            case 'd':
3028
0
                if (ossl_likely(strcmp("ecoded-from-explicit", s + 1) == 0)) {
3029
                    /* OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS */
3030
0
                    if (ossl_unlikely(r->decoded != NULL)) {
3031
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3032
0
                                       "param %s is repeated", s);
3033
0
                        return 0;
3034
0
                    }
3035
0
                    r->decoded = (OSSL_PARAM *)p;
3036
0
                }
3037
0
                break;
3038
0
            case 'e':
3039
0
                if (ossl_likely(strcmp("ncoding", s + 1) == 0)) {
3040
                    /* OSSL_PKEY_PARAM_EC_ENCODING */
3041
0
                    if (ossl_unlikely(r->encoding != NULL)) {
3042
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3043
0
                                       "param %s is repeated", s);
3044
0
                        return 0;
3045
0
                    }
3046
0
                    r->encoding = (OSSL_PARAM *)p;
3047
0
                }
3048
0
                break;
3049
0
            case 'f':
3050
0
                if (ossl_likely(strcmp("ield-type", s + 1) == 0)) {
3051
                    /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
3052
0
                    if (ossl_unlikely(r->field_type != NULL)) {
3053
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3054
0
                                       "param %s is repeated", s);
3055
0
                        return 0;
3056
0
                    }
3057
0
                    r->field_type = (OSSL_PARAM *)p;
3058
0
                }
3059
0
                break;
3060
0
            case 'g':
3061
0
                switch(s[1]) {
3062
0
                default:
3063
0
                    break;
3064
0
                case 'e':
3065
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
3066
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
3067
0
                        if (ossl_unlikely(r->generator != NULL)) {
3068
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3069
0
                                           "param %s is repeated", s);
3070
0
                            return 0;
3071
0
                        }
3072
0
                        r->generator = (OSSL_PARAM *)p;
3073
0
                    }
3074
0
                    break;
3075
0
                case 'r':
3076
0
                    switch(s[2]) {
3077
0
                    default:
3078
0
                        break;
3079
0
                    case 'o':
3080
0
                        switch(s[3]) {
3081
0
                        default:
3082
0
                            break;
3083
0
                        case 'u':
3084
0
                            switch(s[4]) {
3085
0
                            default:
3086
0
                                break;
3087
0
                            case 'p':
3088
0
                                switch(s[5]) {
3089
0
                                default:
3090
0
                                    break;
3091
0
                                case '-':
3092
0
                                    if (ossl_likely(strcmp("check", s + 6) == 0)) {
3093
                                        /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
3094
0
                                        if (ossl_unlikely(r->group_check != NULL)) {
3095
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3096
0
                                                           "param %s is repeated", s);
3097
0
                                            return 0;
3098
0
                                        }
3099
0
                                        r->group_check = (OSSL_PARAM *)p;
3100
0
                                    }
3101
0
                                    break;
3102
0
                                case '\0':
3103
0
                                    if (ossl_unlikely(r->group_name != NULL)) {
3104
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3105
0
                                                       "param %s is repeated", s);
3106
0
                                        return 0;
3107
0
                                    }
3108
0
                                    r->group_name = (OSSL_PARAM *)p;
3109
0
                                }
3110
0
                            }
3111
0
                        }
3112
0
                    }
3113
0
                }
3114
0
                break;
3115
0
            case 'i':
3116
0
                if (ossl_likely(strcmp("nclude-public", s + 1) == 0)) {
3117
                    /* OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC */
3118
0
                    if (ossl_unlikely(r->include_public != NULL)) {
3119
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3120
0
                                       "param %s is repeated", s);
3121
0
                        return 0;
3122
0
                    }
3123
0
                    r->include_public = (OSSL_PARAM *)p;
3124
0
                }
3125
0
                break;
3126
0
            case 'o':
3127
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
3128
                    /* OSSL_PKEY_PARAM_EC_ORDER */
3129
0
                    if (ossl_unlikely(r->order != NULL)) {
3130
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3131
0
                                       "param %s is repeated", s);
3132
0
                        return 0;
3133
0
                    }
3134
0
                    r->order = (OSSL_PARAM *)p;
3135
0
                }
3136
0
                break;
3137
0
            case 'p':
3138
0
                switch(s[1]) {
3139
0
                default:
3140
0
                    break;
3141
0
                case 'o':
3142
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
3143
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
3144
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
3145
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3146
0
                                           "param %s is repeated", s);
3147
0
                            return 0;
3148
0
                        }
3149
0
                        r->pt_format = (OSSL_PARAM *)p;
3150
0
                    }
3151
0
                    break;
3152
0
                case 'r':
3153
0
                    if (ossl_likely(strcmp("iv", s + 2) == 0)) {
3154
                        /* OSSL_PKEY_PARAM_PRIV_KEY */
3155
0
                        if (ossl_unlikely(r->priv != NULL)) {
3156
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3157
0
                                           "param %s is repeated", s);
3158
0
                            return 0;
3159
0
                        }
3160
0
                        r->priv = (OSSL_PARAM *)p;
3161
0
                    }
3162
0
                    break;
3163
0
                case 'u':
3164
0
                    if (ossl_likely(strcmp("b", s + 2) == 0)) {
3165
                        /* OSSL_PKEY_PARAM_PUB_KEY */
3166
0
                        if (ossl_unlikely(r->pub != NULL)) {
3167
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3168
0
                                           "param %s is repeated", s);
3169
0
                            return 0;
3170
0
                        }
3171
0
                        r->pub = (OSSL_PARAM *)p;
3172
0
                    }
3173
0
                    break;
3174
0
                case '\0':
3175
0
                    if (ossl_unlikely(r->p != NULL)) {
3176
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3177
0
                                       "param %s is repeated", s);
3178
0
                        return 0;
3179
0
                    }
3180
0
                    r->p = (OSSL_PARAM *)p;
3181
0
                }
3182
0
                break;
3183
0
            case 's':
3184
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
3185
                    /* OSSL_PKEY_PARAM_EC_SEED */
3186
0
                    if (ossl_unlikely(r->seed != NULL)) {
3187
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3188
0
                                       "param %s is repeated", s);
3189
0
                        return 0;
3190
0
                    }
3191
0
                    r->seed = (OSSL_PARAM *)p;
3192
0
                }
3193
0
                break;
3194
0
            case 'u':
3195
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
3196
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
3197
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
3198
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3199
0
                                       "param %s is repeated", s);
3200
0
                        return 0;
3201
0
                    }
3202
0
                    r->use_cofactor = (OSSL_PARAM *)p;
3203
0
                }
3204
0
            }
3205
0
    return 1;
3206
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_pkey_import_from_decoder
Unexecuted instantiation: ec_ameth.c:ec_pkey_import_from_decoder
Unexecuted instantiation: ec_backend.c:ec_pkey_import_from_decoder
Unexecuted instantiation: ec_lib.c:ec_pkey_import_from_decoder
3207
#endif
3208
/* End of machine generated */
3209
3210
/* Keymgmt get and set parameter surfaces. */
3211
#define ec_get_params_st ec_params_st
3212
/* Machine generated */
3213
#ifndef ec_get_params_list
3214
static ossl_unused const OSSL_PARAM ec_get_params_list[] = {
3215
    OSSL_PARAM_int(OSSL_PKEY_PARAM_BITS, NULL),
3216
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_FIELD_DEGREE, NULL),
3217
    OSSL_PARAM_int(OSSL_PKEY_PARAM_SECURITY_BITS, NULL),
3218
    OSSL_PARAM_int(OSSL_PKEY_PARAM_MAX_SIZE, NULL),
3219
    OSSL_PARAM_int(OSSL_PKEY_PARAM_SECURITY_CATEGORY, NULL),
3220
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_DEFAULT_DIGEST, NULL, 0),
3221
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY, NULL, 0),
3222
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_PUB_X, NULL, 0),
3223
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_PUB_Y, NULL, 0),
3224
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
3225
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
3226
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
3227
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
3228
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
3229
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
3230
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
3231
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
3232
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
3233
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
3234
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
3235
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS, NULL),
3236
# if !defined(OPENSSL_NO_EC2M)
3237
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_CHAR2_M, NULL),
3238
# endif
3239
# if !defined(OPENSSL_NO_EC2M)
3240
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_CHAR2_TYPE, NULL, 0),
3241
# endif
3242
# if !defined(OPENSSL_NO_EC2M)
3243
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_CHAR2_TP_BASIS, NULL),
3244
# endif
3245
# if !defined(OPENSSL_NO_EC2M)
3246
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_CHAR2_PP_K1, NULL),
3247
# endif
3248
# if !defined(OPENSSL_NO_EC2M)
3249
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_CHAR2_PP_K2, NULL),
3250
# endif
3251
# if !defined(OPENSSL_NO_EC2M)
3252
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_CHAR2_PP_K3, NULL),
3253
# endif
3254
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0),
3255
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
3256
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
3257
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC, NULL),
3258
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
3259
    OSSL_PARAM_END
3260
};
3261
#endif
3262
3263
#ifndef ec_get_params_st
3264
struct ec_get_params_st {
3265
    OSSL_PARAM *a;
3266
    OSSL_PARAM *b;
3267
    OSSL_PARAM *bits;
3268
# if !defined(OPENSSL_NO_EC2M)
3269
    OSSL_PARAM *char2_k1;
3270
# endif
3271
# if !defined(OPENSSL_NO_EC2M)
3272
    OSSL_PARAM *char2_k2;
3273
# endif
3274
# if !defined(OPENSSL_NO_EC2M)
3275
    OSSL_PARAM *char2_k3;
3276
# endif
3277
# if !defined(OPENSSL_NO_EC2M)
3278
    OSSL_PARAM *char2_m;
3279
# endif
3280
# if !defined(OPENSSL_NO_EC2M)
3281
    OSSL_PARAM *char2_tp;
3282
# endif
3283
# if !defined(OPENSSL_NO_EC2M)
3284
    OSSL_PARAM *char2_type;
3285
# endif
3286
    OSSL_PARAM *cofactor;
3287
    OSSL_PARAM *decoded;
3288
    OSSL_PARAM *default_digest;
3289
    OSSL_PARAM *encoded_pub;
3290
    OSSL_PARAM *encoding;
3291
    OSSL_PARAM *field_degree;
3292
    OSSL_PARAM *field_type;
3293
    OSSL_PARAM *generator;
3294
    OSSL_PARAM *group_check;
3295
    OSSL_PARAM *group_name;
3296
    OSSL_PARAM *include_public;
3297
    OSSL_PARAM *maxsize;
3298
    OSSL_PARAM *order;
3299
    OSSL_PARAM *p;
3300
    OSSL_PARAM *priv;
3301
    OSSL_PARAM *pt_format;
3302
    OSSL_PARAM *pub;
3303
    OSSL_PARAM *pub_x;
3304
    OSSL_PARAM *pub_y;
3305
    OSSL_PARAM *secbits;
3306
    OSSL_PARAM *seccat;
3307
    OSSL_PARAM *seed;
3308
    OSSL_PARAM *use_cofactor;
3309
};
3310
#endif
3311
3312
#ifndef ec_get_params_decoder
3313
static ossl_unused int ec_get_params_decoder
3314
    (const OSSL_PARAM *p, struct ec_get_params_st *r)
3315
0
{
3316
0
    const char *s;
3317
3318
0
    memset(r, 0, sizeof(*r));
3319
0
    if (p != NULL)
3320
0
        for (; (s = p->key) != NULL; p++)
3321
0
            switch(s[0]) {
3322
0
            default:
3323
0
                break;
3324
0
            case 'a':
3325
0
                switch(s[1]) {
3326
0
                default:
3327
0
                    break;
3328
0
                case '\0':
3329
0
                    if (ossl_unlikely(r->a != NULL)) {
3330
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3331
0
                                       "param %s is repeated", s);
3332
0
                        return 0;
3333
0
                    }
3334
0
                    r->a = (OSSL_PARAM *)p;
3335
0
                }
3336
0
                break;
3337
0
            case 'b':
3338
0
                switch(s[1]) {
3339
0
                default:
3340
0
                    break;
3341
0
                case 'a':
3342
0
# if !defined(OPENSSL_NO_EC2M)
3343
0
                    if (ossl_likely(strcmp("sis-type", s + 2) == 0)) {
3344
                        /* OSSL_PKEY_PARAM_EC_CHAR2_TYPE */
3345
0
                        if (ossl_unlikely(r->char2_type != NULL)) {
3346
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3347
0
                                           "param %s is repeated", s);
3348
0
                            return 0;
3349
0
                        }
3350
0
                        r->char2_type = (OSSL_PARAM *)p;
3351
0
                    }
3352
0
# endif
3353
0
                    break;
3354
0
                case 'i':
3355
0
                    if (ossl_likely(strcmp("ts", s + 2) == 0)) {
3356
                        /* OSSL_PKEY_PARAM_BITS */
3357
0
                        if (ossl_unlikely(r->bits != NULL)) {
3358
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3359
0
                                           "param %s is repeated", s);
3360
0
                            return 0;
3361
0
                        }
3362
0
                        r->bits = (OSSL_PARAM *)p;
3363
0
                    }
3364
0
                    break;
3365
0
                case '\0':
3366
0
                    if (ossl_unlikely(r->b != NULL)) {
3367
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3368
0
                                       "param %s is repeated", s);
3369
0
                        return 0;
3370
0
                    }
3371
0
                    r->b = (OSSL_PARAM *)p;
3372
0
                }
3373
0
                break;
3374
0
            case 'c':
3375
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
3376
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
3377
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
3378
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3379
0
                                       "param %s is repeated", s);
3380
0
                        return 0;
3381
0
                    }
3382
0
                    r->cofactor = (OSSL_PARAM *)p;
3383
0
                }
3384
0
                break;
3385
0
            case 'd':
3386
0
                switch(s[1]) {
3387
0
                default:
3388
0
                    break;
3389
0
                case 'e':
3390
0
                    switch(s[2]) {
3391
0
                    default:
3392
0
                        break;
3393
0
                    case 'c':
3394
0
                        if (ossl_likely(strcmp("oded-from-explicit", s + 3) == 0)) {
3395
                            /* OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS */
3396
0
                            if (ossl_unlikely(r->decoded != NULL)) {
3397
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3398
0
                                               "param %s is repeated", s);
3399
0
                                return 0;
3400
0
                            }
3401
0
                            r->decoded = (OSSL_PARAM *)p;
3402
0
                        }
3403
0
                        break;
3404
0
                    case 'f':
3405
0
                        if (ossl_likely(strcmp("ault-digest", s + 3) == 0)) {
3406
                            /* OSSL_PKEY_PARAM_DEFAULT_DIGEST */
3407
0
                            if (ossl_unlikely(r->default_digest != NULL)) {
3408
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3409
0
                                               "param %s is repeated", s);
3410
0
                                return 0;
3411
0
                            }
3412
0
                            r->default_digest = (OSSL_PARAM *)p;
3413
0
                        }
3414
0
                    }
3415
0
                }
3416
0
                break;
3417
0
            case 'e':
3418
0
                switch(s[1]) {
3419
0
                default:
3420
0
                    break;
3421
0
                case 'n':
3422
0
                    switch(s[2]) {
3423
0
                    default:
3424
0
                        break;
3425
0
                    case 'c':
3426
0
                        switch(s[3]) {
3427
0
                        default:
3428
0
                            break;
3429
0
                        case 'o':
3430
0
                            switch(s[4]) {
3431
0
                            default:
3432
0
                                break;
3433
0
                            case 'd':
3434
0
                                switch(s[5]) {
3435
0
                                default:
3436
0
                                    break;
3437
0
                                case 'e':
3438
0
                                    if (ossl_likely(strcmp("d-pub-key", s + 6) == 0)) {
3439
                                        /* OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY */
3440
0
                                        if (ossl_unlikely(r->encoded_pub != NULL)) {
3441
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3442
0
                                                           "param %s is repeated", s);
3443
0
                                            return 0;
3444
0
                                        }
3445
0
                                        r->encoded_pub = (OSSL_PARAM *)p;
3446
0
                                    }
3447
0
                                    break;
3448
0
                                case 'i':
3449
0
                                    if (ossl_likely(strcmp("ng", s + 6) == 0)) {
3450
                                        /* OSSL_PKEY_PARAM_EC_ENCODING */
3451
0
                                        if (ossl_unlikely(r->encoding != NULL)) {
3452
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3453
0
                                                           "param %s is repeated", s);
3454
0
                                            return 0;
3455
0
                                        }
3456
0
                                        r->encoding = (OSSL_PARAM *)p;
3457
0
                                    }
3458
0
                                }
3459
0
                            }
3460
0
                        }
3461
0
                    }
3462
0
                }
3463
0
                break;
3464
0
            case 'f':
3465
0
                switch(s[1]) {
3466
0
                default:
3467
0
                    break;
3468
0
                case 'i':
3469
0
                    switch(s[2]) {
3470
0
                    default:
3471
0
                        break;
3472
0
                    case 'e':
3473
0
                        switch(s[3]) {
3474
0
                        default:
3475
0
                            break;
3476
0
                        case 'l':
3477
0
                            switch(s[4]) {
3478
0
                            default:
3479
0
                                break;
3480
0
                            case 'd':
3481
0
                                switch(s[5]) {
3482
0
                                default:
3483
0
                                    break;
3484
0
                                case '-':
3485
0
                                    switch(s[6]) {
3486
0
                                    default:
3487
0
                                        break;
3488
0
                                    case 'd':
3489
0
                                        if (ossl_likely(strcmp("egree", s + 7) == 0)) {
3490
                                            /* OSSL_PKEY_PARAM_EC_FIELD_DEGREE */
3491
0
                                            if (ossl_unlikely(r->field_degree != NULL)) {
3492
0
                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3493
0
                                                               "param %s is repeated", s);
3494
0
                                                return 0;
3495
0
                                            }
3496
0
                                            r->field_degree = (OSSL_PARAM *)p;
3497
0
                                        }
3498
0
                                        break;
3499
0
                                    case 't':
3500
0
                                        if (ossl_likely(strcmp("ype", s + 7) == 0)) {
3501
                                            /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
3502
0
                                            if (ossl_unlikely(r->field_type != NULL)) {
3503
0
                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3504
0
                                                               "param %s is repeated", s);
3505
0
                                                return 0;
3506
0
                                            }
3507
0
                                            r->field_type = (OSSL_PARAM *)p;
3508
0
                                        }
3509
0
                                    }
3510
0
                                }
3511
0
                            }
3512
0
                        }
3513
0
                    }
3514
0
                }
3515
0
                break;
3516
0
            case 'g':
3517
0
                switch(s[1]) {
3518
0
                default:
3519
0
                    break;
3520
0
                case 'e':
3521
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
3522
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
3523
0
                        if (ossl_unlikely(r->generator != NULL)) {
3524
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3525
0
                                           "param %s is repeated", s);
3526
0
                            return 0;
3527
0
                        }
3528
0
                        r->generator = (OSSL_PARAM *)p;
3529
0
                    }
3530
0
                    break;
3531
0
                case 'r':
3532
0
                    switch(s[2]) {
3533
0
                    default:
3534
0
                        break;
3535
0
                    case 'o':
3536
0
                        switch(s[3]) {
3537
0
                        default:
3538
0
                            break;
3539
0
                        case 'u':
3540
0
                            switch(s[4]) {
3541
0
                            default:
3542
0
                                break;
3543
0
                            case 'p':
3544
0
                                switch(s[5]) {
3545
0
                                default:
3546
0
                                    break;
3547
0
                                case '-':
3548
0
                                    if (ossl_likely(strcmp("check", s + 6) == 0)) {
3549
                                        /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
3550
0
                                        if (ossl_unlikely(r->group_check != NULL)) {
3551
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3552
0
                                                           "param %s is repeated", s);
3553
0
                                            return 0;
3554
0
                                        }
3555
0
                                        r->group_check = (OSSL_PARAM *)p;
3556
0
                                    }
3557
0
                                    break;
3558
0
                                case '\0':
3559
0
                                    if (ossl_unlikely(r->group_name != NULL)) {
3560
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3561
0
                                                       "param %s is repeated", s);
3562
0
                                        return 0;
3563
0
                                    }
3564
0
                                    r->group_name = (OSSL_PARAM *)p;
3565
0
                                }
3566
0
                            }
3567
0
                        }
3568
0
                    }
3569
0
                }
3570
0
                break;
3571
0
            case 'i':
3572
0
                if (ossl_likely(strcmp("nclude-public", s + 1) == 0)) {
3573
                    /* OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC */
3574
0
                    if (ossl_unlikely(r->include_public != NULL)) {
3575
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3576
0
                                       "param %s is repeated", s);
3577
0
                        return 0;
3578
0
                    }
3579
0
                    r->include_public = (OSSL_PARAM *)p;
3580
0
                }
3581
0
                break;
3582
0
            case 'k':
3583
0
                switch(s[1]) {
3584
0
                default:
3585
0
                    break;
3586
0
                case '1':
3587
0
                    switch(s[2]) {
3588
0
                    default:
3589
0
                        break;
3590
0
                    case '\0':
3591
0
# if !defined(OPENSSL_NO_EC2M)
3592
0
                        if (ossl_unlikely(r->char2_k1 != NULL)) {
3593
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3594
0
                                           "param %s is repeated", s);
3595
0
                            return 0;
3596
0
                        }
3597
0
                        r->char2_k1 = (OSSL_PARAM *)p;
3598
0
# endif
3599
0
                        break;
3600
0
                    }
3601
0
                    break;
3602
0
                case '2':
3603
0
                    switch(s[2]) {
3604
0
                    default:
3605
0
                        break;
3606
0
                    case '\0':
3607
0
# if !defined(OPENSSL_NO_EC2M)
3608
0
                        if (ossl_unlikely(r->char2_k2 != NULL)) {
3609
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3610
0
                                           "param %s is repeated", s);
3611
0
                            return 0;
3612
0
                        }
3613
0
                        r->char2_k2 = (OSSL_PARAM *)p;
3614
0
# endif
3615
0
                        break;
3616
0
                    }
3617
0
                    break;
3618
0
                case '3':
3619
0
                    switch(s[2]) {
3620
0
                    default:
3621
0
                        break;
3622
0
                    case '\0':
3623
0
# if !defined(OPENSSL_NO_EC2M)
3624
0
                        if (ossl_unlikely(r->char2_k3 != NULL)) {
3625
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3626
0
                                           "param %s is repeated", s);
3627
0
                            return 0;
3628
0
                        }
3629
0
                        r->char2_k3 = (OSSL_PARAM *)p;
3630
0
# endif
3631
0
                        break;
3632
0
                    }
3633
0
                    break;
3634
0
                }
3635
0
                break;
3636
0
            case 'm':
3637
0
                switch(s[1]) {
3638
0
                default:
3639
0
                    break;
3640
0
                case 'a':
3641
0
                    if (ossl_likely(strcmp("x-size", s + 2) == 0)) {
3642
                        /* OSSL_PKEY_PARAM_MAX_SIZE */
3643
0
                        if (ossl_unlikely(r->maxsize != NULL)) {
3644
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3645
0
                                           "param %s is repeated", s);
3646
0
                            return 0;
3647
0
                        }
3648
0
                        r->maxsize = (OSSL_PARAM *)p;
3649
0
                    }
3650
0
                    break;
3651
0
                case '\0':
3652
0
# if !defined(OPENSSL_NO_EC2M)
3653
0
                    if (ossl_unlikely(r->char2_m != NULL)) {
3654
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3655
0
                                       "param %s is repeated", s);
3656
0
                        return 0;
3657
0
                    }
3658
0
                    r->char2_m = (OSSL_PARAM *)p;
3659
0
# endif
3660
0
                    break;
3661
0
                }
3662
0
                break;
3663
0
            case 'o':
3664
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
3665
                    /* OSSL_PKEY_PARAM_EC_ORDER */
3666
0
                    if (ossl_unlikely(r->order != NULL)) {
3667
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3668
0
                                       "param %s is repeated", s);
3669
0
                        return 0;
3670
0
                    }
3671
0
                    r->order = (OSSL_PARAM *)p;
3672
0
                }
3673
0
                break;
3674
0
            case 'p':
3675
0
                switch(s[1]) {
3676
0
                default:
3677
0
                    break;
3678
0
                case 'o':
3679
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
3680
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
3681
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
3682
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3683
0
                                           "param %s is repeated", s);
3684
0
                            return 0;
3685
0
                        }
3686
0
                        r->pt_format = (OSSL_PARAM *)p;
3687
0
                    }
3688
0
                    break;
3689
0
                case 'r':
3690
0
                    if (ossl_likely(strcmp("iv", s + 2) == 0)) {
3691
                        /* OSSL_PKEY_PARAM_PRIV_KEY */
3692
0
                        if (ossl_unlikely(r->priv != NULL)) {
3693
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3694
0
                                           "param %s is repeated", s);
3695
0
                            return 0;
3696
0
                        }
3697
0
                        r->priv = (OSSL_PARAM *)p;
3698
0
                    }
3699
0
                    break;
3700
0
                case 'u':
3701
0
                    if (ossl_likely(strcmp("b", s + 2) == 0)) {
3702
                        /* OSSL_PKEY_PARAM_PUB_KEY */
3703
0
                        if (ossl_unlikely(r->pub != NULL)) {
3704
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3705
0
                                           "param %s is repeated", s);
3706
0
                            return 0;
3707
0
                        }
3708
0
                        r->pub = (OSSL_PARAM *)p;
3709
0
                    }
3710
0
                    break;
3711
0
                case '\0':
3712
0
                    if (ossl_unlikely(r->p != NULL)) {
3713
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3714
0
                                       "param %s is repeated", s);
3715
0
                        return 0;
3716
0
                    }
3717
0
                    r->p = (OSSL_PARAM *)p;
3718
0
                }
3719
0
                break;
3720
0
            case 'q':
3721
0
                switch(s[1]) {
3722
0
                default:
3723
0
                    break;
3724
0
                case 'x':
3725
0
                    switch(s[2]) {
3726
0
                    default:
3727
0
                        break;
3728
0
                    case '\0':
3729
0
                        if (ossl_unlikely(r->pub_x != NULL)) {
3730
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3731
0
                                           "param %s is repeated", s);
3732
0
                            return 0;
3733
0
                        }
3734
0
                        r->pub_x = (OSSL_PARAM *)p;
3735
0
                    }
3736
0
                    break;
3737
0
                case 'y':
3738
0
                    switch(s[2]) {
3739
0
                    default:
3740
0
                        break;
3741
0
                    case '\0':
3742
0
                        if (ossl_unlikely(r->pub_y != NULL)) {
3743
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3744
0
                                           "param %s is repeated", s);
3745
0
                            return 0;
3746
0
                        }
3747
0
                        r->pub_y = (OSSL_PARAM *)p;
3748
0
                    }
3749
0
                }
3750
0
                break;
3751
0
            case 's':
3752
0
                switch(s[1]) {
3753
0
                default:
3754
0
                    break;
3755
0
                case 'e':
3756
0
                    switch(s[2]) {
3757
0
                    default:
3758
0
                        break;
3759
0
                    case 'c':
3760
0
                        switch(s[3]) {
3761
0
                        default:
3762
0
                            break;
3763
0
                        case 'u':
3764
0
                            switch(s[4]) {
3765
0
                            default:
3766
0
                                break;
3767
0
                            case 'r':
3768
0
                                switch(s[5]) {
3769
0
                                default:
3770
0
                                    break;
3771
0
                                case 'i':
3772
0
                                    switch(s[6]) {
3773
0
                                    default:
3774
0
                                        break;
3775
0
                                    case 't':
3776
0
                                        switch(s[7]) {
3777
0
                                        default:
3778
0
                                            break;
3779
0
                                        case 'y':
3780
0
                                            switch(s[8]) {
3781
0
                                            default:
3782
0
                                                break;
3783
0
                                            case '-':
3784
0
                                                switch(s[9]) {
3785
0
                                                default:
3786
0
                                                    break;
3787
0
                                                case 'b':
3788
0
                                                    if (ossl_likely(strcmp("its", s + 10) == 0)) {
3789
                                                        /* OSSL_PKEY_PARAM_SECURITY_BITS */
3790
0
                                                        if (ossl_unlikely(r->secbits != NULL)) {
3791
0
                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3792
0
                                                                           "param %s is repeated", s);
3793
0
                                                            return 0;
3794
0
                                                        }
3795
0
                                                        r->secbits = (OSSL_PARAM *)p;
3796
0
                                                    }
3797
0
                                                    break;
3798
0
                                                case 'c':
3799
0
                                                    if (ossl_likely(strcmp("ategory", s + 10) == 0)) {
3800
                                                        /* OSSL_PKEY_PARAM_SECURITY_CATEGORY */
3801
0
                                                        if (ossl_unlikely(r->seccat != NULL)) {
3802
0
                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3803
0
                                                                           "param %s is repeated", s);
3804
0
                                                            return 0;
3805
0
                                                        }
3806
0
                                                        r->seccat = (OSSL_PARAM *)p;
3807
0
                                                    }
3808
0
                                                }
3809
0
                                            }
3810
0
                                        }
3811
0
                                    }
3812
0
                                }
3813
0
                            }
3814
0
                        }
3815
0
                        break;
3816
0
                    case 'e':
3817
0
                        if (ossl_likely(strcmp("d", s + 3) == 0)) {
3818
                            /* OSSL_PKEY_PARAM_EC_SEED */
3819
0
                            if (ossl_unlikely(r->seed != NULL)) {
3820
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3821
0
                                               "param %s is repeated", s);
3822
0
                                return 0;
3823
0
                            }
3824
0
                            r->seed = (OSSL_PARAM *)p;
3825
0
                        }
3826
0
                    }
3827
0
                }
3828
0
                break;
3829
0
            case 't':
3830
0
# if !defined(OPENSSL_NO_EC2M)
3831
0
                if (ossl_likely(strcmp("p", s + 1) == 0)) {
3832
                    /* OSSL_PKEY_PARAM_EC_CHAR2_TP_BASIS */
3833
0
                    if (ossl_unlikely(r->char2_tp != NULL)) {
3834
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3835
0
                                       "param %s is repeated", s);
3836
0
                        return 0;
3837
0
                    }
3838
0
                    r->char2_tp = (OSSL_PARAM *)p;
3839
0
                }
3840
0
# endif
3841
0
                break;
3842
0
            case 'u':
3843
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
3844
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
3845
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
3846
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3847
0
                                       "param %s is repeated", s);
3848
0
                        return 0;
3849
0
                    }
3850
0
                    r->use_cofactor = (OSSL_PARAM *)p;
3851
0
                }
3852
0
            }
3853
0
    return 1;
3854
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_get_params_decoder
Unexecuted instantiation: ec_ameth.c:ec_get_params_decoder
Unexecuted instantiation: ec_backend.c:ec_get_params_decoder
Unexecuted instantiation: ec_lib.c:ec_get_params_decoder
3855
#endif
3856
/* End of machine generated */
3857
3858
#define sm2_get_params_st ec_params_st
3859
/* Machine generated */
3860
#ifndef sm2_get_params_list
3861
static ossl_unused const OSSL_PARAM sm2_get_params_list[] = {
3862
    OSSL_PARAM_int(OSSL_PKEY_PARAM_BITS, NULL),
3863
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_FIELD_DEGREE, NULL),
3864
    OSSL_PARAM_int(OSSL_PKEY_PARAM_SECURITY_BITS, NULL),
3865
    OSSL_PARAM_int(OSSL_PKEY_PARAM_MAX_SIZE, NULL),
3866
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_DEFAULT_DIGEST, NULL, 0),
3867
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY, NULL, 0),
3868
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
3869
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
3870
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
3871
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
3872
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
3873
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
3874
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
3875
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
3876
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
3877
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
3878
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
3879
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS, NULL),
3880
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0),
3881
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
3882
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_PUB_X, NULL, 0),
3883
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_PUB_Y, NULL, 0),
3884
    OSSL_PARAM_END
3885
};
3886
#endif
3887
3888
#ifndef sm2_get_params_st
3889
struct sm2_get_params_st {
3890
    OSSL_PARAM *a;
3891
    OSSL_PARAM *b;
3892
    OSSL_PARAM *bits;
3893
    OSSL_PARAM *cofactor;
3894
    OSSL_PARAM *decoded;
3895
    OSSL_PARAM *default_digest;
3896
    OSSL_PARAM *encoded_pub;
3897
    OSSL_PARAM *encoding;
3898
    OSSL_PARAM *field_degree;
3899
    OSSL_PARAM *field_type;
3900
    OSSL_PARAM *generator;
3901
    OSSL_PARAM *group_name;
3902
    OSSL_PARAM *maxsize;
3903
    OSSL_PARAM *order;
3904
    OSSL_PARAM *p;
3905
    OSSL_PARAM *priv;
3906
    OSSL_PARAM *pt_format;
3907
    OSSL_PARAM *pub;
3908
    OSSL_PARAM *pub_x;
3909
    OSSL_PARAM *pub_y;
3910
    OSSL_PARAM *secbits;
3911
    OSSL_PARAM *seed;
3912
};
3913
#endif
3914
3915
#ifndef sm2_get_params_decoder
3916
static ossl_unused int sm2_get_params_decoder
3917
    (const OSSL_PARAM *p, struct sm2_get_params_st *r)
3918
0
{
3919
0
    const char *s;
3920
3921
0
    memset(r, 0, sizeof(*r));
3922
0
    if (p != NULL)
3923
0
        for (; (s = p->key) != NULL; p++)
3924
0
            switch(s[0]) {
3925
0
            default:
3926
0
                break;
3927
0
            case 'a':
3928
0
                switch(s[1]) {
3929
0
                default:
3930
0
                    break;
3931
0
                case '\0':
3932
0
                    if (ossl_unlikely(r->a != NULL)) {
3933
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3934
0
                                       "param %s is repeated", s);
3935
0
                        return 0;
3936
0
                    }
3937
0
                    r->a = (OSSL_PARAM *)p;
3938
0
                }
3939
0
                break;
3940
0
            case 'b':
3941
0
                switch(s[1]) {
3942
0
                default:
3943
0
                    break;
3944
0
                case 'i':
3945
0
                    if (ossl_likely(strcmp("ts", s + 2) == 0)) {
3946
                        /* OSSL_PKEY_PARAM_BITS */
3947
0
                        if (ossl_unlikely(r->bits != NULL)) {
3948
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3949
0
                                           "param %s is repeated", s);
3950
0
                            return 0;
3951
0
                        }
3952
0
                        r->bits = (OSSL_PARAM *)p;
3953
0
                    }
3954
0
                    break;
3955
0
                case '\0':
3956
0
                    if (ossl_unlikely(r->b != NULL)) {
3957
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3958
0
                                       "param %s is repeated", s);
3959
0
                        return 0;
3960
0
                    }
3961
0
                    r->b = (OSSL_PARAM *)p;
3962
0
                }
3963
0
                break;
3964
0
            case 'c':
3965
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
3966
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
3967
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
3968
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3969
0
                                       "param %s is repeated", s);
3970
0
                        return 0;
3971
0
                    }
3972
0
                    r->cofactor = (OSSL_PARAM *)p;
3973
0
                }
3974
0
                break;
3975
0
            case 'd':
3976
0
                switch(s[1]) {
3977
0
                default:
3978
0
                    break;
3979
0
                case 'e':
3980
0
                    switch(s[2]) {
3981
0
                    default:
3982
0
                        break;
3983
0
                    case 'c':
3984
0
                        if (ossl_likely(strcmp("oded-from-explicit", s + 3) == 0)) {
3985
                            /* OSSL_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS */
3986
0
                            if (ossl_unlikely(r->decoded != NULL)) {
3987
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3988
0
                                               "param %s is repeated", s);
3989
0
                                return 0;
3990
0
                            }
3991
0
                            r->decoded = (OSSL_PARAM *)p;
3992
0
                        }
3993
0
                        break;
3994
0
                    case 'f':
3995
0
                        if (ossl_likely(strcmp("ault-digest", s + 3) == 0)) {
3996
                            /* OSSL_PKEY_PARAM_DEFAULT_DIGEST */
3997
0
                            if (ossl_unlikely(r->default_digest != NULL)) {
3998
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3999
0
                                               "param %s is repeated", s);
4000
0
                                return 0;
4001
0
                            }
4002
0
                            r->default_digest = (OSSL_PARAM *)p;
4003
0
                        }
4004
0
                    }
4005
0
                }
4006
0
                break;
4007
0
            case 'e':
4008
0
                switch(s[1]) {
4009
0
                default:
4010
0
                    break;
4011
0
                case 'n':
4012
0
                    switch(s[2]) {
4013
0
                    default:
4014
0
                        break;
4015
0
                    case 'c':
4016
0
                        switch(s[3]) {
4017
0
                        default:
4018
0
                            break;
4019
0
                        case 'o':
4020
0
                            switch(s[4]) {
4021
0
                            default:
4022
0
                                break;
4023
0
                            case 'd':
4024
0
                                switch(s[5]) {
4025
0
                                default:
4026
0
                                    break;
4027
0
                                case 'e':
4028
0
                                    if (ossl_likely(strcmp("d-pub-key", s + 6) == 0)) {
4029
                                        /* OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY */
4030
0
                                        if (ossl_unlikely(r->encoded_pub != NULL)) {
4031
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4032
0
                                                           "param %s is repeated", s);
4033
0
                                            return 0;
4034
0
                                        }
4035
0
                                        r->encoded_pub = (OSSL_PARAM *)p;
4036
0
                                    }
4037
0
                                    break;
4038
0
                                case 'i':
4039
0
                                    if (ossl_likely(strcmp("ng", s + 6) == 0)) {
4040
                                        /* OSSL_PKEY_PARAM_EC_ENCODING */
4041
0
                                        if (ossl_unlikely(r->encoding != NULL)) {
4042
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4043
0
                                                           "param %s is repeated", s);
4044
0
                                            return 0;
4045
0
                                        }
4046
0
                                        r->encoding = (OSSL_PARAM *)p;
4047
0
                                    }
4048
0
                                }
4049
0
                            }
4050
0
                        }
4051
0
                    }
4052
0
                }
4053
0
                break;
4054
0
            case 'f':
4055
0
                switch(s[1]) {
4056
0
                default:
4057
0
                    break;
4058
0
                case 'i':
4059
0
                    switch(s[2]) {
4060
0
                    default:
4061
0
                        break;
4062
0
                    case 'e':
4063
0
                        switch(s[3]) {
4064
0
                        default:
4065
0
                            break;
4066
0
                        case 'l':
4067
0
                            switch(s[4]) {
4068
0
                            default:
4069
0
                                break;
4070
0
                            case 'd':
4071
0
                                switch(s[5]) {
4072
0
                                default:
4073
0
                                    break;
4074
0
                                case '-':
4075
0
                                    switch(s[6]) {
4076
0
                                    default:
4077
0
                                        break;
4078
0
                                    case 'd':
4079
0
                                        if (ossl_likely(strcmp("egree", s + 7) == 0)) {
4080
                                            /* OSSL_PKEY_PARAM_EC_FIELD_DEGREE */
4081
0
                                            if (ossl_unlikely(r->field_degree != NULL)) {
4082
0
                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4083
0
                                                               "param %s is repeated", s);
4084
0
                                                return 0;
4085
0
                                            }
4086
0
                                            r->field_degree = (OSSL_PARAM *)p;
4087
0
                                        }
4088
0
                                        break;
4089
0
                                    case 't':
4090
0
                                        if (ossl_likely(strcmp("ype", s + 7) == 0)) {
4091
                                            /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
4092
0
                                            if (ossl_unlikely(r->field_type != NULL)) {
4093
0
                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4094
0
                                                               "param %s is repeated", s);
4095
0
                                                return 0;
4096
0
                                            }
4097
0
                                            r->field_type = (OSSL_PARAM *)p;
4098
0
                                        }
4099
0
                                    }
4100
0
                                }
4101
0
                            }
4102
0
                        }
4103
0
                    }
4104
0
                }
4105
0
                break;
4106
0
            case 'g':
4107
0
                switch(s[1]) {
4108
0
                default:
4109
0
                    break;
4110
0
                case 'e':
4111
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
4112
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
4113
0
                        if (ossl_unlikely(r->generator != NULL)) {
4114
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4115
0
                                           "param %s is repeated", s);
4116
0
                            return 0;
4117
0
                        }
4118
0
                        r->generator = (OSSL_PARAM *)p;
4119
0
                    }
4120
0
                    break;
4121
0
                case 'r':
4122
0
                    if (ossl_likely(strcmp("oup", s + 2) == 0)) {
4123
                        /* OSSL_PKEY_PARAM_GROUP_NAME */
4124
0
                        if (ossl_unlikely(r->group_name != NULL)) {
4125
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4126
0
                                           "param %s is repeated", s);
4127
0
                            return 0;
4128
0
                        }
4129
0
                        r->group_name = (OSSL_PARAM *)p;
4130
0
                    }
4131
0
                }
4132
0
                break;
4133
0
            case 'm':
4134
0
                if (ossl_likely(strcmp("ax-size", s + 1) == 0)) {
4135
                    /* OSSL_PKEY_PARAM_MAX_SIZE */
4136
0
                    if (ossl_unlikely(r->maxsize != NULL)) {
4137
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4138
0
                                       "param %s is repeated", s);
4139
0
                        return 0;
4140
0
                    }
4141
0
                    r->maxsize = (OSSL_PARAM *)p;
4142
0
                }
4143
0
                break;
4144
0
            case 'o':
4145
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
4146
                    /* OSSL_PKEY_PARAM_EC_ORDER */
4147
0
                    if (ossl_unlikely(r->order != NULL)) {
4148
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4149
0
                                       "param %s is repeated", s);
4150
0
                        return 0;
4151
0
                    }
4152
0
                    r->order = (OSSL_PARAM *)p;
4153
0
                }
4154
0
                break;
4155
0
            case 'p':
4156
0
                switch(s[1]) {
4157
0
                default:
4158
0
                    break;
4159
0
                case 'o':
4160
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
4161
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
4162
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
4163
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4164
0
                                           "param %s is repeated", s);
4165
0
                            return 0;
4166
0
                        }
4167
0
                        r->pt_format = (OSSL_PARAM *)p;
4168
0
                    }
4169
0
                    break;
4170
0
                case 'r':
4171
0
                    if (ossl_likely(strcmp("iv", s + 2) == 0)) {
4172
                        /* OSSL_PKEY_PARAM_PRIV_KEY */
4173
0
                        if (ossl_unlikely(r->priv != NULL)) {
4174
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4175
0
                                           "param %s is repeated", s);
4176
0
                            return 0;
4177
0
                        }
4178
0
                        r->priv = (OSSL_PARAM *)p;
4179
0
                    }
4180
0
                    break;
4181
0
                case 'u':
4182
0
                    if (ossl_likely(strcmp("b", s + 2) == 0)) {
4183
                        /* OSSL_PKEY_PARAM_PUB_KEY */
4184
0
                        if (ossl_unlikely(r->pub != NULL)) {
4185
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4186
0
                                           "param %s is repeated", s);
4187
0
                            return 0;
4188
0
                        }
4189
0
                        r->pub = (OSSL_PARAM *)p;
4190
0
                    }
4191
0
                    break;
4192
0
                case '\0':
4193
0
                    if (ossl_unlikely(r->p != NULL)) {
4194
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4195
0
                                       "param %s is repeated", s);
4196
0
                        return 0;
4197
0
                    }
4198
0
                    r->p = (OSSL_PARAM *)p;
4199
0
                }
4200
0
                break;
4201
0
            case 'q':
4202
0
                switch(s[1]) {
4203
0
                default:
4204
0
                    break;
4205
0
                case 'x':
4206
0
                    switch(s[2]) {
4207
0
                    default:
4208
0
                        break;
4209
0
                    case '\0':
4210
0
                        if (ossl_unlikely(r->pub_x != NULL)) {
4211
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4212
0
                                           "param %s is repeated", s);
4213
0
                            return 0;
4214
0
                        }
4215
0
                        r->pub_x = (OSSL_PARAM *)p;
4216
0
                    }
4217
0
                    break;
4218
0
                case 'y':
4219
0
                    switch(s[2]) {
4220
0
                    default:
4221
0
                        break;
4222
0
                    case '\0':
4223
0
                        if (ossl_unlikely(r->pub_y != NULL)) {
4224
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4225
0
                                           "param %s is repeated", s);
4226
0
                            return 0;
4227
0
                        }
4228
0
                        r->pub_y = (OSSL_PARAM *)p;
4229
0
                    }
4230
0
                }
4231
0
                break;
4232
0
            case 's':
4233
0
                switch(s[1]) {
4234
0
                default:
4235
0
                    break;
4236
0
                case 'e':
4237
0
                    switch(s[2]) {
4238
0
                    default:
4239
0
                        break;
4240
0
                    case 'c':
4241
0
                        if (ossl_likely(strcmp("urity-bits", s + 3) == 0)) {
4242
                            /* OSSL_PKEY_PARAM_SECURITY_BITS */
4243
0
                            if (ossl_unlikely(r->secbits != NULL)) {
4244
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4245
0
                                               "param %s is repeated", s);
4246
0
                                return 0;
4247
0
                            }
4248
0
                            r->secbits = (OSSL_PARAM *)p;
4249
0
                        }
4250
0
                        break;
4251
0
                    case 'e':
4252
0
                        if (ossl_likely(strcmp("d", s + 3) == 0)) {
4253
                            /* OSSL_PKEY_PARAM_EC_SEED */
4254
0
                            if (ossl_unlikely(r->seed != NULL)) {
4255
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4256
0
                                               "param %s is repeated", s);
4257
0
                                return 0;
4258
0
                            }
4259
0
                            r->seed = (OSSL_PARAM *)p;
4260
0
                        }
4261
0
                    }
4262
0
                }
4263
0
            }
4264
0
    return 1;
4265
0
}
Unexecuted instantiation: ec_kmgmt.c:sm2_get_params_decoder
Unexecuted instantiation: ec_ameth.c:sm2_get_params_decoder
Unexecuted instantiation: ec_backend.c:sm2_get_params_decoder
Unexecuted instantiation: ec_lib.c:sm2_get_params_decoder
4266
#endif
4267
/* End of machine generated */
4268
4269
#define ec_set_params_st ec_params_st
4270
/* Machine generated */
4271
#ifndef ec_set_params_list
4272
static ossl_unused const OSSL_PARAM ec_set_params_list[] = {
4273
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
4274
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY, NULL, 0),
4275
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
4276
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
4277
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
4278
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC, NULL),
4279
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
4280
    OSSL_PARAM_END
4281
};
4282
#endif
4283
4284
#ifndef ec_set_params_st
4285
struct ec_set_params_st {
4286
    OSSL_PARAM *encoded_pub;
4287
    OSSL_PARAM *encoding;
4288
    OSSL_PARAM *group_check;
4289
    OSSL_PARAM *include_public;
4290
    OSSL_PARAM *pt_format;
4291
    OSSL_PARAM *seed;
4292
    OSSL_PARAM *use_cofactor;
4293
};
4294
#endif
4295
4296
#ifndef ec_set_params_decoder
4297
static ossl_unused int ec_set_params_decoder
4298
    (const OSSL_PARAM *p, struct ec_set_params_st *r)
4299
0
{
4300
0
    const char *s;
4301
4302
0
    memset(r, 0, sizeof(*r));
4303
0
    if (p != NULL)
4304
0
        for (; (s = p->key) != NULL; p++)
4305
0
            switch(s[0]) {
4306
0
            default:
4307
0
                break;
4308
0
            case 'e':
4309
0
                switch(s[1]) {
4310
0
                default:
4311
0
                    break;
4312
0
                case 'n':
4313
0
                    switch(s[2]) {
4314
0
                    default:
4315
0
                        break;
4316
0
                    case 'c':
4317
0
                        switch(s[3]) {
4318
0
                        default:
4319
0
                            break;
4320
0
                        case 'o':
4321
0
                            switch(s[4]) {
4322
0
                            default:
4323
0
                                break;
4324
0
                            case 'd':
4325
0
                                switch(s[5]) {
4326
0
                                default:
4327
0
                                    break;
4328
0
                                case 'e':
4329
0
                                    if (ossl_likely(strcmp("d-pub-key", s + 6) == 0)) {
4330
                                        /* OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY */
4331
0
                                        if (ossl_unlikely(r->encoded_pub != NULL)) {
4332
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4333
0
                                                           "param %s is repeated", s);
4334
0
                                            return 0;
4335
0
                                        }
4336
0
                                        r->encoded_pub = (OSSL_PARAM *)p;
4337
0
                                    }
4338
0
                                    break;
4339
0
                                case 'i':
4340
0
                                    if (ossl_likely(strcmp("ng", s + 6) == 0)) {
4341
                                        /* OSSL_PKEY_PARAM_EC_ENCODING */
4342
0
                                        if (ossl_unlikely(r->encoding != NULL)) {
4343
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4344
0
                                                           "param %s is repeated", s);
4345
0
                                            return 0;
4346
0
                                        }
4347
0
                                        r->encoding = (OSSL_PARAM *)p;
4348
0
                                    }
4349
0
                                }
4350
0
                            }
4351
0
                        }
4352
0
                    }
4353
0
                }
4354
0
                break;
4355
0
            case 'g':
4356
0
                if (ossl_likely(strcmp("roup-check", s + 1) == 0)) {
4357
                    /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
4358
0
                    if (ossl_unlikely(r->group_check != NULL)) {
4359
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4360
0
                                       "param %s is repeated", s);
4361
0
                        return 0;
4362
0
                    }
4363
0
                    r->group_check = (OSSL_PARAM *)p;
4364
0
                }
4365
0
                break;
4366
0
            case 'i':
4367
0
                if (ossl_likely(strcmp("nclude-public", s + 1) == 0)) {
4368
                    /* OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC */
4369
0
                    if (ossl_unlikely(r->include_public != NULL)) {
4370
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4371
0
                                       "param %s is repeated", s);
4372
0
                        return 0;
4373
0
                    }
4374
0
                    r->include_public = (OSSL_PARAM *)p;
4375
0
                }
4376
0
                break;
4377
0
            case 'p':
4378
0
                if (ossl_likely(strcmp("oint-format", s + 1) == 0)) {
4379
                    /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
4380
0
                    if (ossl_unlikely(r->pt_format != NULL)) {
4381
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4382
0
                                       "param %s is repeated", s);
4383
0
                        return 0;
4384
0
                    }
4385
0
                    r->pt_format = (OSSL_PARAM *)p;
4386
0
                }
4387
0
                break;
4388
0
            case 's':
4389
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
4390
                    /* OSSL_PKEY_PARAM_EC_SEED */
4391
0
                    if (ossl_unlikely(r->seed != NULL)) {
4392
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4393
0
                                       "param %s is repeated", s);
4394
0
                        return 0;
4395
0
                    }
4396
0
                    r->seed = (OSSL_PARAM *)p;
4397
0
                }
4398
0
                break;
4399
0
            case 'u':
4400
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
4401
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
4402
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
4403
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4404
0
                                       "param %s is repeated", s);
4405
0
                        return 0;
4406
0
                    }
4407
0
                    r->use_cofactor = (OSSL_PARAM *)p;
4408
0
                }
4409
0
            }
4410
0
    return 1;
4411
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_set_params_decoder
Unexecuted instantiation: ec_ameth.c:ec_set_params_decoder
Unexecuted instantiation: ec_backend.c:ec_set_params_decoder
Unexecuted instantiation: ec_lib.c:ec_set_params_decoder
4412
#endif
4413
/* End of machine generated */
4414
4415
#define sm2_set_params_st ec_params_st
4416
/* Machine generated */
4417
#ifndef sm2_set_params_list
4418
static ossl_unused const OSSL_PARAM sm2_set_params_list[] = {
4419
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
4420
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY, NULL, 0),
4421
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
4422
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
4423
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
4424
    OSSL_PARAM_int(OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC, NULL),
4425
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
4426
    OSSL_PARAM_END
4427
};
4428
#endif
4429
4430
#ifndef sm2_set_params_st
4431
struct sm2_set_params_st {
4432
    OSSL_PARAM *encoded_pub;
4433
    OSSL_PARAM *encoding;
4434
    OSSL_PARAM *group_check;
4435
    OSSL_PARAM *include_public;
4436
    OSSL_PARAM *pt_format;
4437
    OSSL_PARAM *seed;
4438
    OSSL_PARAM *use_cofactor;
4439
};
4440
#endif
4441
4442
#ifndef sm2_set_params_decoder
4443
static ossl_unused int sm2_set_params_decoder
4444
    (const OSSL_PARAM *p, struct sm2_set_params_st *r)
4445
0
{
4446
0
    const char *s;
4447
4448
0
    memset(r, 0, sizeof(*r));
4449
0
    if (p != NULL)
4450
0
        for (; (s = p->key) != NULL; p++)
4451
0
            switch(s[0]) {
4452
0
            default:
4453
0
                break;
4454
0
            case 'e':
4455
0
                switch(s[1]) {
4456
0
                default:
4457
0
                    break;
4458
0
                case 'n':
4459
0
                    switch(s[2]) {
4460
0
                    default:
4461
0
                        break;
4462
0
                    case 'c':
4463
0
                        switch(s[3]) {
4464
0
                        default:
4465
0
                            break;
4466
0
                        case 'o':
4467
0
                            switch(s[4]) {
4468
0
                            default:
4469
0
                                break;
4470
0
                            case 'd':
4471
0
                                switch(s[5]) {
4472
0
                                default:
4473
0
                                    break;
4474
0
                                case 'e':
4475
0
                                    if (ossl_likely(strcmp("d-pub-key", s + 6) == 0)) {
4476
                                        /* OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY */
4477
0
                                        if (ossl_unlikely(r->encoded_pub != NULL)) {
4478
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4479
0
                                                           "param %s is repeated", s);
4480
0
                                            return 0;
4481
0
                                        }
4482
0
                                        r->encoded_pub = (OSSL_PARAM *)p;
4483
0
                                    }
4484
0
                                    break;
4485
0
                                case 'i':
4486
0
                                    if (ossl_likely(strcmp("ng", s + 6) == 0)) {
4487
                                        /* OSSL_PKEY_PARAM_EC_ENCODING */
4488
0
                                        if (ossl_unlikely(r->encoding != NULL)) {
4489
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4490
0
                                                           "param %s is repeated", s);
4491
0
                                            return 0;
4492
0
                                        }
4493
0
                                        r->encoding = (OSSL_PARAM *)p;
4494
0
                                    }
4495
0
                                }
4496
0
                            }
4497
0
                        }
4498
0
                    }
4499
0
                }
4500
0
                break;
4501
0
            case 'g':
4502
0
                if (ossl_likely(strcmp("roup-check", s + 1) == 0)) {
4503
                    /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
4504
0
                    if (ossl_unlikely(r->group_check != NULL)) {
4505
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4506
0
                                       "param %s is repeated", s);
4507
0
                        return 0;
4508
0
                    }
4509
0
                    r->group_check = (OSSL_PARAM *)p;
4510
0
                }
4511
0
                break;
4512
0
            case 'i':
4513
0
                if (ossl_likely(strcmp("nclude-public", s + 1) == 0)) {
4514
                    /* OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC */
4515
0
                    if (ossl_unlikely(r->include_public != NULL)) {
4516
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4517
0
                                       "param %s is repeated", s);
4518
0
                        return 0;
4519
0
                    }
4520
0
                    r->include_public = (OSSL_PARAM *)p;
4521
0
                }
4522
0
                break;
4523
0
            case 'p':
4524
0
                if (ossl_likely(strcmp("oint-format", s + 1) == 0)) {
4525
                    /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
4526
0
                    if (ossl_unlikely(r->pt_format != NULL)) {
4527
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4528
0
                                       "param %s is repeated", s);
4529
0
                        return 0;
4530
0
                    }
4531
0
                    r->pt_format = (OSSL_PARAM *)p;
4532
0
                }
4533
0
                break;
4534
0
            case 's':
4535
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
4536
                    /* OSSL_PKEY_PARAM_EC_SEED */
4537
0
                    if (ossl_unlikely(r->seed != NULL)) {
4538
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4539
0
                                       "param %s is repeated", s);
4540
0
                        return 0;
4541
0
                    }
4542
0
                    r->seed = (OSSL_PARAM *)p;
4543
0
                }
4544
0
                break;
4545
0
            case 'u':
4546
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
4547
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
4548
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
4549
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4550
0
                                       "param %s is repeated", s);
4551
0
                        return 0;
4552
0
                    }
4553
0
                    r->use_cofactor = (OSSL_PARAM *)p;
4554
0
                }
4555
0
            }
4556
0
    return 1;
4557
0
}
Unexecuted instantiation: ec_kmgmt.c:sm2_set_params_decoder
Unexecuted instantiation: ec_ameth.c:sm2_set_params_decoder
Unexecuted instantiation: ec_backend.c:sm2_set_params_decoder
Unexecuted instantiation: ec_lib.c:sm2_set_params_decoder
4558
#endif
4559
/* End of machine generated */
4560
4561
/* Key generation context parameters. */
4562
#define ec_gen_set_params_st ec_params_st
4563
/* Machine generated */
4564
#ifndef ec_gen_set_params_list
4565
static ossl_unused const OSSL_PARAM ec_gen_set_params_list[] = {
4566
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
4567
    OSSL_PARAM_int(OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, NULL),
4568
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
4569
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
4570
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
4571
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, NULL, 0),
4572
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
4573
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
4574
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
4575
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
4576
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
4577
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
4578
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
4579
# if !defined(FIPS_MODULE)
4580
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_DHKEM_IKM, NULL, 0),
4581
# endif
4582
# if defined(FIPS_MODULE)
4583
    OSSL_PARAM_int(OSSL_PKEY_PARAM_FIPS_KEY_CHECK, NULL),
4584
# endif
4585
    OSSL_PARAM_END
4586
};
4587
#endif
4588
4589
#ifndef ec_gen_set_params_st
4590
struct ec_gen_set_params_st {
4591
    OSSL_PARAM *a;
4592
    OSSL_PARAM *b;
4593
    OSSL_PARAM *cofactor;
4594
# if !defined(FIPS_MODULE)
4595
    OSSL_PARAM *dhkem_ikm;
4596
# endif
4597
    OSSL_PARAM *encoding;
4598
    OSSL_PARAM *field_type;
4599
# if defined(FIPS_MODULE)
4600
    OSSL_PARAM *fips_key_check;
4601
# endif
4602
    OSSL_PARAM *generator;
4603
    OSSL_PARAM *group_check;
4604
    OSSL_PARAM *group_name;
4605
    OSSL_PARAM *order;
4606
    OSSL_PARAM *p;
4607
    OSSL_PARAM *pt_format;
4608
    OSSL_PARAM *seed;
4609
    OSSL_PARAM *use_cofactor;
4610
};
4611
#endif
4612
4613
#ifndef ec_gen_set_params_decoder
4614
static ossl_unused int ec_gen_set_params_decoder
4615
    (const OSSL_PARAM *p, struct ec_gen_set_params_st *r)
4616
0
{
4617
0
    const char *s;
4618
4619
0
    memset(r, 0, sizeof(*r));
4620
0
    if (p != NULL)
4621
0
        for (; (s = p->key) != NULL; p++)
4622
0
            switch(s[0]) {
4623
0
            default:
4624
0
                break;
4625
0
            case 'a':
4626
0
                switch(s[1]) {
4627
0
                default:
4628
0
                    break;
4629
0
                case '\0':
4630
0
                    if (ossl_unlikely(r->a != NULL)) {
4631
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4632
0
                                       "param %s is repeated", s);
4633
0
                        return 0;
4634
0
                    }
4635
0
                    r->a = (OSSL_PARAM *)p;
4636
0
                }
4637
0
                break;
4638
0
            case 'b':
4639
0
                switch(s[1]) {
4640
0
                default:
4641
0
                    break;
4642
0
                case '\0':
4643
0
                    if (ossl_unlikely(r->b != NULL)) {
4644
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4645
0
                                       "param %s is repeated", s);
4646
0
                        return 0;
4647
0
                    }
4648
0
                    r->b = (OSSL_PARAM *)p;
4649
0
                }
4650
0
                break;
4651
0
            case 'c':
4652
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
4653
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
4654
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
4655
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4656
0
                                       "param %s is repeated", s);
4657
0
                        return 0;
4658
0
                    }
4659
0
                    r->cofactor = (OSSL_PARAM *)p;
4660
0
                }
4661
0
                break;
4662
0
            case 'd':
4663
0
# if !defined(FIPS_MODULE)
4664
0
                if (ossl_likely(strcmp("hkem-ikm", s + 1) == 0)) {
4665
                    /* OSSL_PKEY_PARAM_DHKEM_IKM */
4666
0
                    if (ossl_unlikely(r->dhkem_ikm != NULL)) {
4667
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4668
0
                                       "param %s is repeated", s);
4669
0
                        return 0;
4670
0
                    }
4671
0
                    r->dhkem_ikm = (OSSL_PARAM *)p;
4672
0
                }
4673
0
# endif
4674
0
                break;
4675
0
            case 'e':
4676
0
                if (ossl_likely(strcmp("ncoding", s + 1) == 0)) {
4677
                    /* OSSL_PKEY_PARAM_EC_ENCODING */
4678
0
                    if (ossl_unlikely(r->encoding != NULL)) {
4679
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4680
0
                                       "param %s is repeated", s);
4681
0
                        return 0;
4682
0
                    }
4683
0
                    r->encoding = (OSSL_PARAM *)p;
4684
0
                }
4685
0
                break;
4686
0
            case 'f':
4687
0
                if (ossl_likely(strcmp("ield-type", s + 1) == 0)) {
4688
                    /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
4689
0
                    if (ossl_unlikely(r->field_type != NULL)) {
4690
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4691
0
                                       "param %s is repeated", s);
4692
0
                        return 0;
4693
0
                    }
4694
0
                    r->field_type = (OSSL_PARAM *)p;
4695
0
                }
4696
0
                break;
4697
0
            case 'g':
4698
0
                switch(s[1]) {
4699
0
                default:
4700
0
                    break;
4701
0
                case 'e':
4702
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
4703
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
4704
0
                        if (ossl_unlikely(r->generator != NULL)) {
4705
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4706
0
                                           "param %s is repeated", s);
4707
0
                            return 0;
4708
0
                        }
4709
0
                        r->generator = (OSSL_PARAM *)p;
4710
0
                    }
4711
0
                    break;
4712
0
                case 'r':
4713
0
                    switch(s[2]) {
4714
0
                    default:
4715
0
                        break;
4716
0
                    case 'o':
4717
0
                        switch(s[3]) {
4718
0
                        default:
4719
0
                            break;
4720
0
                        case 'u':
4721
0
                            switch(s[4]) {
4722
0
                            default:
4723
0
                                break;
4724
0
                            case 'p':
4725
0
                                switch(s[5]) {
4726
0
                                default:
4727
0
                                    break;
4728
0
                                case '-':
4729
0
                                    if (ossl_likely(strcmp("check", s + 6) == 0)) {
4730
                                        /* OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE */
4731
0
                                        if (ossl_unlikely(r->group_check != NULL)) {
4732
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4733
0
                                                           "param %s is repeated", s);
4734
0
                                            return 0;
4735
0
                                        }
4736
0
                                        r->group_check = (OSSL_PARAM *)p;
4737
0
                                    }
4738
0
                                    break;
4739
0
                                case '\0':
4740
0
                                    if (ossl_unlikely(r->group_name != NULL)) {
4741
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4742
0
                                                       "param %s is repeated", s);
4743
0
                                        return 0;
4744
0
                                    }
4745
0
                                    r->group_name = (OSSL_PARAM *)p;
4746
0
                                }
4747
0
                            }
4748
0
                        }
4749
0
                    }
4750
0
                }
4751
0
                break;
4752
0
            case 'k':
4753
# if defined(FIPS_MODULE)
4754
                if (ossl_likely(strcmp("ey-check", s + 1) == 0)) {
4755
                    /* OSSL_PKEY_PARAM_FIPS_KEY_CHECK */
4756
                    if (ossl_unlikely(r->fips_key_check != NULL)) {
4757
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4758
                                       "param %s is repeated", s);
4759
                        return 0;
4760
                    }
4761
                    r->fips_key_check = (OSSL_PARAM *)p;
4762
                }
4763
# endif
4764
0
                break;
4765
0
            case 'o':
4766
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
4767
                    /* OSSL_PKEY_PARAM_EC_ORDER */
4768
0
                    if (ossl_unlikely(r->order != NULL)) {
4769
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4770
0
                                       "param %s is repeated", s);
4771
0
                        return 0;
4772
0
                    }
4773
0
                    r->order = (OSSL_PARAM *)p;
4774
0
                }
4775
0
                break;
4776
0
            case 'p':
4777
0
                switch(s[1]) {
4778
0
                default:
4779
0
                    break;
4780
0
                case 'o':
4781
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
4782
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
4783
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
4784
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4785
0
                                           "param %s is repeated", s);
4786
0
                            return 0;
4787
0
                        }
4788
0
                        r->pt_format = (OSSL_PARAM *)p;
4789
0
                    }
4790
0
                    break;
4791
0
                case '\0':
4792
0
                    if (ossl_unlikely(r->p != NULL)) {
4793
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4794
0
                                       "param %s is repeated", s);
4795
0
                        return 0;
4796
0
                    }
4797
0
                    r->p = (OSSL_PARAM *)p;
4798
0
                }
4799
0
                break;
4800
0
            case 's':
4801
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
4802
                    /* OSSL_PKEY_PARAM_EC_SEED */
4803
0
                    if (ossl_unlikely(r->seed != NULL)) {
4804
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4805
0
                                       "param %s is repeated", s);
4806
0
                        return 0;
4807
0
                    }
4808
0
                    r->seed = (OSSL_PARAM *)p;
4809
0
                }
4810
0
                break;
4811
0
            case 'u':
4812
0
                if (ossl_likely(strcmp("se-cofactor-flag", s + 1) == 0)) {
4813
                    /* OSSL_PKEY_PARAM_USE_COFACTOR_ECDH */
4814
0
                    if (ossl_unlikely(r->use_cofactor != NULL)) {
4815
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4816
0
                                       "param %s is repeated", s);
4817
0
                        return 0;
4818
0
                    }
4819
0
                    r->use_cofactor = (OSSL_PARAM *)p;
4820
0
                }
4821
0
            }
4822
0
    return 1;
4823
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_gen_set_params_decoder
Unexecuted instantiation: ec_ameth.c:ec_gen_set_params_decoder
Unexecuted instantiation: ec_backend.c:ec_gen_set_params_decoder
Unexecuted instantiation: ec_lib.c:ec_gen_set_params_decoder
4824
#endif
4825
/* End of machine generated */
4826
4827
#define sm2_gen_set_params_st ec_params_st
4828
/* Machine generated */
4829
#ifndef sm2_gen_set_params_list
4830
static ossl_unused const OSSL_PARAM sm2_gen_set_params_list[] = {
4831
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, NULL, 0),
4832
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_ENCODING, NULL, 0),
4833
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, NULL, 0),
4834
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_EC_FIELD_TYPE, NULL, 0),
4835
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_P, NULL, 0),
4836
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_A, NULL, 0),
4837
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_B, NULL, 0),
4838
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_GENERATOR, NULL, 0),
4839
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_ORDER, NULL, 0),
4840
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_EC_COFACTOR, NULL, 0),
4841
    OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_EC_SEED, NULL, 0),
4842
    OSSL_PARAM_END
4843
};
4844
#endif
4845
4846
#ifndef sm2_gen_set_params_st
4847
struct sm2_gen_set_params_st {
4848
    OSSL_PARAM *a;
4849
    OSSL_PARAM *b;
4850
    OSSL_PARAM *cofactor;
4851
    OSSL_PARAM *encoding;
4852
    OSSL_PARAM *field_type;
4853
    OSSL_PARAM *generator;
4854
    OSSL_PARAM *group_name;
4855
    OSSL_PARAM *order;
4856
    OSSL_PARAM *p;
4857
    OSSL_PARAM *pt_format;
4858
    OSSL_PARAM *seed;
4859
};
4860
#endif
4861
4862
#ifndef sm2_gen_set_params_decoder
4863
static ossl_unused int sm2_gen_set_params_decoder
4864
    (const OSSL_PARAM *p, struct sm2_gen_set_params_st *r)
4865
0
{
4866
0
    const char *s;
4867
4868
0
    memset(r, 0, sizeof(*r));
4869
0
    if (p != NULL)
4870
0
        for (; (s = p->key) != NULL; p++)
4871
0
            switch(s[0]) {
4872
0
            default:
4873
0
                break;
4874
0
            case 'a':
4875
0
                switch(s[1]) {
4876
0
                default:
4877
0
                    break;
4878
0
                case '\0':
4879
0
                    if (ossl_unlikely(r->a != NULL)) {
4880
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4881
0
                                       "param %s is repeated", s);
4882
0
                        return 0;
4883
0
                    }
4884
0
                    r->a = (OSSL_PARAM *)p;
4885
0
                }
4886
0
                break;
4887
0
            case 'b':
4888
0
                switch(s[1]) {
4889
0
                default:
4890
0
                    break;
4891
0
                case '\0':
4892
0
                    if (ossl_unlikely(r->b != NULL)) {
4893
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4894
0
                                       "param %s is repeated", s);
4895
0
                        return 0;
4896
0
                    }
4897
0
                    r->b = (OSSL_PARAM *)p;
4898
0
                }
4899
0
                break;
4900
0
            case 'c':
4901
0
                if (ossl_likely(strcmp("ofactor", s + 1) == 0)) {
4902
                    /* OSSL_PKEY_PARAM_EC_COFACTOR */
4903
0
                    if (ossl_unlikely(r->cofactor != NULL)) {
4904
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4905
0
                                       "param %s is repeated", s);
4906
0
                        return 0;
4907
0
                    }
4908
0
                    r->cofactor = (OSSL_PARAM *)p;
4909
0
                }
4910
0
                break;
4911
0
            case 'e':
4912
0
                if (ossl_likely(strcmp("ncoding", s + 1) == 0)) {
4913
                    /* OSSL_PKEY_PARAM_EC_ENCODING */
4914
0
                    if (ossl_unlikely(r->encoding != NULL)) {
4915
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4916
0
                                       "param %s is repeated", s);
4917
0
                        return 0;
4918
0
                    }
4919
0
                    r->encoding = (OSSL_PARAM *)p;
4920
0
                }
4921
0
                break;
4922
0
            case 'f':
4923
0
                if (ossl_likely(strcmp("ield-type", s + 1) == 0)) {
4924
                    /* OSSL_PKEY_PARAM_EC_FIELD_TYPE */
4925
0
                    if (ossl_unlikely(r->field_type != NULL)) {
4926
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4927
0
                                       "param %s is repeated", s);
4928
0
                        return 0;
4929
0
                    }
4930
0
                    r->field_type = (OSSL_PARAM *)p;
4931
0
                }
4932
0
                break;
4933
0
            case 'g':
4934
0
                switch(s[1]) {
4935
0
                default:
4936
0
                    break;
4937
0
                case 'e':
4938
0
                    if (ossl_likely(strcmp("nerator", s + 2) == 0)) {
4939
                        /* OSSL_PKEY_PARAM_EC_GENERATOR */
4940
0
                        if (ossl_unlikely(r->generator != NULL)) {
4941
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4942
0
                                           "param %s is repeated", s);
4943
0
                            return 0;
4944
0
                        }
4945
0
                        r->generator = (OSSL_PARAM *)p;
4946
0
                    }
4947
0
                    break;
4948
0
                case 'r':
4949
0
                    if (ossl_likely(strcmp("oup", s + 2) == 0)) {
4950
                        /* OSSL_PKEY_PARAM_GROUP_NAME */
4951
0
                        if (ossl_unlikely(r->group_name != NULL)) {
4952
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4953
0
                                           "param %s is repeated", s);
4954
0
                            return 0;
4955
0
                        }
4956
0
                        r->group_name = (OSSL_PARAM *)p;
4957
0
                    }
4958
0
                }
4959
0
                break;
4960
0
            case 'o':
4961
0
                if (ossl_likely(strcmp("rder", s + 1) == 0)) {
4962
                    /* OSSL_PKEY_PARAM_EC_ORDER */
4963
0
                    if (ossl_unlikely(r->order != NULL)) {
4964
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4965
0
                                       "param %s is repeated", s);
4966
0
                        return 0;
4967
0
                    }
4968
0
                    r->order = (OSSL_PARAM *)p;
4969
0
                }
4970
0
                break;
4971
0
            case 'p':
4972
0
                switch(s[1]) {
4973
0
                default:
4974
0
                    break;
4975
0
                case 'o':
4976
0
                    if (ossl_likely(strcmp("int-format", s + 2) == 0)) {
4977
                        /* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT */
4978
0
                        if (ossl_unlikely(r->pt_format != NULL)) {
4979
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4980
0
                                           "param %s is repeated", s);
4981
0
                            return 0;
4982
0
                        }
4983
0
                        r->pt_format = (OSSL_PARAM *)p;
4984
0
                    }
4985
0
                    break;
4986
0
                case '\0':
4987
0
                    if (ossl_unlikely(r->p != NULL)) {
4988
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4989
0
                                       "param %s is repeated", s);
4990
0
                        return 0;
4991
0
                    }
4992
0
                    r->p = (OSSL_PARAM *)p;
4993
0
                }
4994
0
                break;
4995
0
            case 's':
4996
0
                if (ossl_likely(strcmp("eed", s + 1) == 0)) {
4997
                    /* OSSL_PKEY_PARAM_EC_SEED */
4998
0
                    if (ossl_unlikely(r->seed != NULL)) {
4999
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5000
0
                                       "param %s is repeated", s);
5001
0
                        return 0;
5002
0
                    }
5003
0
                    r->seed = (OSSL_PARAM *)p;
5004
0
                }
5005
0
            }
5006
0
    return 1;
5007
0
}
Unexecuted instantiation: ec_kmgmt.c:sm2_gen_set_params_decoder
Unexecuted instantiation: ec_ameth.c:sm2_gen_set_params_decoder
Unexecuted instantiation: ec_backend.c:sm2_gen_set_params_decoder
Unexecuted instantiation: ec_lib.c:sm2_gen_set_params_decoder
5008
#endif
5009
/* End of machine generated */
5010
5011
#define ec_gen_get_params_st ec_params_st
5012
/* Machine generated */
5013
#ifndef ec_gen_get_params_list
5014
static ossl_unused const OSSL_PARAM ec_gen_get_params_list[] = {
5015
# if defined(FIPS_MODULE)
5016
    OSSL_PARAM_int(OSSL_PKEY_PARAM_FIPS_APPROVED_INDICATOR, NULL),
5017
# endif
5018
    OSSL_PARAM_END
5019
};
5020
#endif
5021
5022
#ifndef ec_gen_get_params_st
5023
struct ec_gen_get_params_st {
5024
# if defined(FIPS_MODULE)
5025
    OSSL_PARAM *fips_indicator;
5026
# else
5027
    int dummy; /* unused */
5028
# endif
5029
};
5030
#endif
5031
5032
#ifndef ec_gen_get_params_decoder
5033
static ossl_unused int ec_gen_get_params_decoder
5034
    (const OSSL_PARAM *p, struct ec_gen_get_params_st *r)
5035
0
{
5036
0
    const char *s;
5037
5038
0
    memset(r, 0, sizeof(*r));
5039
0
    if (p != NULL)
5040
0
        for (; (s = p->key) != NULL; p++)
5041
# if defined(FIPS_MODULE)
5042
            if (ossl_likely(strcmp("fips-indicator", s + 0) == 0)) {
5043
                /* OSSL_PKEY_PARAM_FIPS_APPROVED_INDICATOR */
5044
                if (ossl_unlikely(r->fips_indicator != NULL)) {
5045
                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5046
                                   "param %s is repeated", s);
5047
                    return 0;
5048
                }
5049
                r->fips_indicator = (OSSL_PARAM *)p;
5050
            }
5051
# else
5052
0
            ;
5053
0
# endif
5054
0
    return 1;
5055
0
}
Unexecuted instantiation: ec_kmgmt.c:ec_gen_get_params_decoder
Unexecuted instantiation: ec_ameth.c:ec_gen_get_params_decoder
Unexecuted instantiation: ec_backend.c:ec_gen_get_params_decoder
Unexecuted instantiation: ec_lib.c:ec_gen_get_params_decoder
5056
#endif
5057
/* End of machine generated */
5058
5059
/* clang-format on */
5060
5061
#endif