Coverage Report

Created: 2026-09-12 06:55

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/openssl41/include/crypto/rsa_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_RSA_PARAMS_H
11
#define OSSL_CRYPTO_RSA_PARAMS_H
12
13
/* clang-format off */
14
15
16
17
#include "crypto/rsa.h"
18
#include <openssl/core_names.h>
19
#include <openssl/err.h>
20
#include <openssl/proverr.h>
21
22
23
24
/* Key component parsing used by the public compatibility wrappers. */
25
#define rsa_key_fromdata_st rsa_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 rsa_key_fromdata_list
35
static ossl_unused const OSSL_PARAM rsa_key_fromdata_list[] = {
36
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
37
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
38
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
39
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
40
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
41
# if !defined(FIPS_MODULE)
42
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
43
# endif
44
# if !defined(FIPS_MODULE)
45
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
46
# endif
47
# if !defined(FIPS_MODULE)
48
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
49
# endif
50
# if !defined(FIPS_MODULE)
51
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
52
# endif
53
# if !defined(FIPS_MODULE)
54
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
55
# endif
56
# if !defined(FIPS_MODULE)
57
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
58
# endif
59
# if !defined(FIPS_MODULE)
60
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
61
# endif
62
# if !defined(FIPS_MODULE)
63
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
64
# endif
65
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
66
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
67
# if !defined(FIPS_MODULE)
68
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
69
# endif
70
# if !defined(FIPS_MODULE)
71
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
72
# endif
73
# if !defined(FIPS_MODULE)
74
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
75
# endif
76
# if !defined(FIPS_MODULE)
77
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
78
# endif
79
# if !defined(FIPS_MODULE)
80
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
81
# endif
82
# if !defined(FIPS_MODULE)
83
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
84
# endif
85
# if !defined(FIPS_MODULE)
86
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
87
# endif
88
# if !defined(FIPS_MODULE)
89
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
90
# endif
91
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
92
# if !defined(FIPS_MODULE)
93
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
94
# endif
95
# if !defined(FIPS_MODULE)
96
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
97
# endif
98
# if !defined(FIPS_MODULE)
99
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
100
# endif
101
# if !defined(FIPS_MODULE)
102
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
103
# endif
104
# if !defined(FIPS_MODULE)
105
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
106
# endif
107
# if !defined(FIPS_MODULE)
108
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
109
# endif
110
# if !defined(FIPS_MODULE)
111
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
112
# endif
113
# if !defined(FIPS_MODULE)
114
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
115
# endif
116
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ, NULL),
117
    OSSL_PARAM_END
118
};
119
#endif
120
121
#ifndef rsa_key_fromdata_st
122
struct rsa_key_fromdata_st {
123
    OSSL_PARAM *d;
124
    OSSL_PARAM *derive;
125
    OSSL_PARAM *e;
126
    OSSL_PARAM *mp.coeffs[0];
127
# if !defined(FIPS_MODULE)
128
    OSSL_PARAM *mp.coeffs[1];
129
# endif
130
# if !defined(FIPS_MODULE)
131
    OSSL_PARAM *mp.coeffs[2];
132
# endif
133
# if !defined(FIPS_MODULE)
134
    OSSL_PARAM *mp.coeffs[3];
135
# endif
136
# if !defined(FIPS_MODULE)
137
    OSSL_PARAM *mp.coeffs[4];
138
# endif
139
# if !defined(FIPS_MODULE)
140
    OSSL_PARAM *mp.coeffs[5];
141
# endif
142
# if !defined(FIPS_MODULE)
143
    OSSL_PARAM *mp.coeffs[6];
144
# endif
145
# if !defined(FIPS_MODULE)
146
    OSSL_PARAM *mp.coeffs[7];
147
# endif
148
# if !defined(FIPS_MODULE)
149
    OSSL_PARAM *mp.coeffs[8];
150
# endif
151
    OSSL_PARAM *mp.exps[0];
152
    OSSL_PARAM *mp.exps[1];
153
# if !defined(FIPS_MODULE)
154
    OSSL_PARAM *mp.exps[2];
155
# endif
156
# if !defined(FIPS_MODULE)
157
    OSSL_PARAM *mp.exps[3];
158
# endif
159
# if !defined(FIPS_MODULE)
160
    OSSL_PARAM *mp.exps[4];
161
# endif
162
# if !defined(FIPS_MODULE)
163
    OSSL_PARAM *mp.exps[5];
164
# endif
165
# if !defined(FIPS_MODULE)
166
    OSSL_PARAM *mp.exps[6];
167
# endif
168
# if !defined(FIPS_MODULE)
169
    OSSL_PARAM *mp.exps[7];
170
# endif
171
# if !defined(FIPS_MODULE)
172
    OSSL_PARAM *mp.exps[8];
173
# endif
174
# if !defined(FIPS_MODULE)
175
    OSSL_PARAM *mp.exps[9];
176
# endif
177
    OSSL_PARAM *mp.factors[0];
178
    OSSL_PARAM *mp.factors[1];
179
# if !defined(FIPS_MODULE)
180
    OSSL_PARAM *mp.factors[2];
181
# endif
182
# if !defined(FIPS_MODULE)
183
    OSSL_PARAM *mp.factors[3];
184
# endif
185
# if !defined(FIPS_MODULE)
186
    OSSL_PARAM *mp.factors[4];
187
# endif
188
# if !defined(FIPS_MODULE)
189
    OSSL_PARAM *mp.factors[5];
190
# endif
191
# if !defined(FIPS_MODULE)
192
    OSSL_PARAM *mp.factors[6];
193
# endif
194
# if !defined(FIPS_MODULE)
195
    OSSL_PARAM *mp.factors[7];
196
# endif
197
# if !defined(FIPS_MODULE)
198
    OSSL_PARAM *mp.factors[8];
199
# endif
200
# if !defined(FIPS_MODULE)
201
    OSSL_PARAM *mp.factors[9];
202
# endif
203
    OSSL_PARAM *n;
204
};
205
#endif
206
207
#ifndef rsa_key_fromdata_decoder
208
static ossl_unused int rsa_key_fromdata_decoder
209
    (const OSSL_PARAM *p, struct rsa_key_fromdata_st *r)
210
0
{
211
0
    const char *s;
212
213
0
    memset(r, 0, sizeof(*r));
214
0
    if (p != NULL)
215
0
        for (; (s = p->key) != NULL; p++)
216
0
            switch(s[0]) {
217
0
            default:
218
0
                break;
219
0
            case 'd':
220
0
                switch(s[1]) {
221
0
                default:
222
0
                    break;
223
0
                case '\0':
224
0
                    if (ossl_unlikely(r->d != NULL)) {
225
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
226
0
                                       "param %s is repeated", s);
227
0
                        return 0;
228
0
                    }
229
0
                    r->d = (OSSL_PARAM *)p;
230
0
                }
231
0
                break;
232
0
            case 'e':
233
0
                switch(s[1]) {
234
0
                default:
235
0
                    break;
236
0
                case '\0':
237
0
                    if (ossl_unlikely(r->e != NULL)) {
238
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
239
0
                                       "param %s is repeated", s);
240
0
                        return 0;
241
0
                    }
242
0
                    r->e = (OSSL_PARAM *)p;
243
0
                }
244
0
                break;
245
0
            case 'n':
246
0
                switch(s[1]) {
247
0
                default:
248
0
                    break;
249
0
                case '\0':
250
0
                    if (ossl_unlikely(r->n != NULL)) {
251
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
252
0
                                       "param %s is repeated", s);
253
0
                        return 0;
254
0
                    }
255
0
                    r->n = (OSSL_PARAM *)p;
256
0
                }
257
0
                break;
258
0
            case 'r':
259
0
                switch(s[1]) {
260
0
                default:
261
0
                    break;
262
0
                case 's':
263
0
                    switch(s[2]) {
264
0
                    default:
265
0
                        break;
266
0
                    case 'a':
267
0
                        switch(s[3]) {
268
0
                        default:
269
0
                            break;
270
0
                        case '-':
271
0
                            switch(s[4]) {
272
0
                            default:
273
0
                                break;
274
0
                            case 'c':
275
0
                                switch(s[5]) {
276
0
                                default:
277
0
                                    break;
278
0
                                case 'o':
279
0
                                    switch(s[6]) {
280
0
                                    default:
281
0
                                        break;
282
0
                                    case 'e':
283
0
                                        switch(s[7]) {
284
0
                                        default:
285
0
                                            break;
286
0
                                        case 'f':
287
0
                                            switch(s[8]) {
288
0
                                            default:
289
0
                                                break;
290
0
                                            case 'f':
291
0
                                                switch(s[9]) {
292
0
                                                default:
293
0
                                                    break;
294
0
                                                case 'i':
295
0
                                                    switch(s[10]) {
296
0
                                                    default:
297
0
                                                        break;
298
0
                                                    case 'c':
299
0
                                                        switch(s[11]) {
300
0
                                                        default:
301
0
                                                            break;
302
0
                                                        case 'i':
303
0
                                                            switch(s[12]) {
304
0
                                                            default:
305
0
                                                                break;
306
0
                                                            case 'e':
307
0
                                                                switch(s[13]) {
308
0
                                                                default:
309
0
                                                                    break;
310
0
                                                                case 'n':
311
0
                                                                    switch(s[14]) {
312
0
                                                                    default:
313
0
                                                                        break;
314
0
                                                                    case 't':
315
0
                                                                        switch(s[15]) {
316
0
                                                                        default:
317
0
                                                                            break;
318
0
                                                                        case '1':
319
0
                                                                            switch(s[16]) {
320
0
                                                                            default:
321
0
                                                                                break;
322
0
                                                                            case '\0':
323
0
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
324
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
325
0
                                                                                                   "param %s is repeated", s);
326
0
                                                                                    return 0;
327
0
                                                                                }
328
0
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
329
0
                                                                            }
330
0
                                                                            break;
331
0
                                                                        case '2':
332
0
                                                                            switch(s[16]) {
333
0
                                                                            default:
334
0
                                                                                break;
335
0
                                                                            case '\0':
336
0
# if !defined(FIPS_MODULE)
337
0
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
338
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
339
0
                                                                                                   "param %s is repeated", s);
340
0
                                                                                    return 0;
341
0
                                                                                }
342
0
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
343
0
# endif
344
0
                                                                                break;
345
0
                                                                            }
346
0
                                                                            break;
347
0
                                                                        case '3':
348
0
                                                                            switch(s[16]) {
349
0
                                                                            default:
350
0
                                                                                break;
351
0
                                                                            case '\0':
352
0
# if !defined(FIPS_MODULE)
353
0
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
354
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
355
0
                                                                                                   "param %s is repeated", s);
356
0
                                                                                    return 0;
357
0
                                                                                }
358
0
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
359
0
# endif
360
0
                                                                                break;
361
0
                                                                            }
362
0
                                                                            break;
363
0
                                                                        case '4':
364
0
                                                                            switch(s[16]) {
365
0
                                                                            default:
366
0
                                                                                break;
367
0
                                                                            case '\0':
368
0
# if !defined(FIPS_MODULE)
369
0
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
370
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
371
0
                                                                                                   "param %s is repeated", s);
372
0
                                                                                    return 0;
373
0
                                                                                }
374
0
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
375
0
# endif
376
0
                                                                                break;
377
0
                                                                            }
378
0
                                                                            break;
379
0
                                                                        case '5':
380
0
                                                                            switch(s[16]) {
381
0
                                                                            default:
382
0
                                                                                break;
383
0
                                                                            case '\0':
384
0
# if !defined(FIPS_MODULE)
385
0
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
386
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
387
0
                                                                                                   "param %s is repeated", s);
388
0
                                                                                    return 0;
389
0
                                                                                }
390
0
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
391
0
# endif
392
0
                                                                                break;
393
0
                                                                            }
394
0
                                                                            break;
395
0
                                                                        case '6':
396
0
                                                                            switch(s[16]) {
397
0
                                                                            default:
398
0
                                                                                break;
399
0
                                                                            case '\0':
400
0
# if !defined(FIPS_MODULE)
401
0
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
402
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
403
0
                                                                                                   "param %s is repeated", s);
404
0
                                                                                    return 0;
405
0
                                                                                }
406
0
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
407
0
# endif
408
0
                                                                                break;
409
0
                                                                            }
410
0
                                                                            break;
411
0
                                                                        case '7':
412
0
                                                                            switch(s[16]) {
413
0
                                                                            default:
414
0
                                                                                break;
415
0
                                                                            case '\0':
416
0
# if !defined(FIPS_MODULE)
417
0
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
418
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
419
0
                                                                                                   "param %s is repeated", s);
420
0
                                                                                    return 0;
421
0
                                                                                }
422
0
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
423
0
# endif
424
0
                                                                                break;
425
0
                                                                            }
426
0
                                                                            break;
427
0
                                                                        case '8':
428
0
                                                                            switch(s[16]) {
429
0
                                                                            default:
430
0
                                                                                break;
431
0
                                                                            case '\0':
432
0
# if !defined(FIPS_MODULE)
433
0
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
434
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
435
0
                                                                                                   "param %s is repeated", s);
436
0
                                                                                    return 0;
437
0
                                                                                }
438
0
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
439
0
# endif
440
0
                                                                                break;
441
0
                                                                            }
442
0
                                                                            break;
443
0
                                                                        case '9':
444
0
                                                                            switch(s[16]) {
445
0
                                                                            default:
446
0
                                                                                break;
447
0
                                                                            case '\0':
448
0
# if !defined(FIPS_MODULE)
449
0
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
450
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
451
0
                                                                                                   "param %s is repeated", s);
452
0
                                                                                    return 0;
453
0
                                                                                }
454
0
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
455
0
# endif
456
0
                                                                                break;
457
0
                                                                            }
458
0
                                                                            break;
459
0
                                                                        }
460
0
                                                                        break;
461
0
                                                                    }
462
0
                                                                    break;
463
0
                                                                }
464
0
                                                                break;
465
0
                                                            }
466
0
                                                            break;
467
0
                                                        }
468
0
                                                        break;
469
0
                                                    }
470
0
                                                    break;
471
0
                                                }
472
0
                                                break;
473
0
                                            }
474
0
                                            break;
475
0
                                        }
476
0
                                        break;
477
0
                                    }
478
0
                                    break;
479
0
                                }
480
0
                                break;
481
0
                            case 'd':
482
0
                                if (ossl_likely(strcmp("erive-from-pq", s + 5) == 0)) {
483
                                    /* OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ */
484
0
                                    if (ossl_unlikely(r->derive != NULL)) {
485
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
486
0
                                                       "param %s is repeated", s);
487
0
                                        return 0;
488
0
                                    }
489
0
                                    r->derive = (OSSL_PARAM *)p;
490
0
                                }
491
0
                                break;
492
0
                            case 'e':
493
0
                                switch(s[5]) {
494
0
                                default:
495
0
                                    break;
496
0
                                case 'x':
497
0
                                    switch(s[6]) {
498
0
                                    default:
499
0
                                        break;
500
0
                                    case 'p':
501
0
                                        switch(s[7]) {
502
0
                                        default:
503
0
                                            break;
504
0
                                        case 'o':
505
0
                                            switch(s[8]) {
506
0
                                            default:
507
0
                                                break;
508
0
                                            case 'n':
509
0
                                                switch(s[9]) {
510
0
                                                default:
511
0
                                                    break;
512
0
                                                case 'e':
513
0
                                                    switch(s[10]) {
514
0
                                                    default:
515
0
                                                        break;
516
0
                                                    case 'n':
517
0
                                                        switch(s[11]) {
518
0
                                                        default:
519
0
                                                            break;
520
0
                                                        case 't':
521
0
                                                            switch(s[12]) {
522
0
                                                            default:
523
0
                                                                break;
524
0
                                                            case '1':
525
0
                                                                switch(s[13]) {
526
0
                                                                default:
527
0
                                                                    break;
528
0
                                                                case '0':
529
0
                                                                    switch(s[14]) {
530
0
                                                                    default:
531
0
                                                                        break;
532
0
                                                                    case '\0':
533
0
# if !defined(FIPS_MODULE)
534
0
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
535
0
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
536
0
                                                                                           "param %s is repeated", s);
537
0
                                                                            return 0;
538
0
                                                                        }
539
0
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
540
0
# endif
541
0
                                                                        break;
542
0
                                                                    }
543
0
                                                                    break;
544
0
                                                                case '\0':
545
0
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
546
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
547
0
                                                                                       "param %s is repeated", s);
548
0
                                                                        return 0;
549
0
                                                                    }
550
0
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
551
0
                                                                }
552
0
                                                                break;
553
0
                                                            case '2':
554
0
                                                                switch(s[13]) {
555
0
                                                                default:
556
0
                                                                    break;
557
0
                                                                case '\0':
558
0
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
559
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
560
0
                                                                                       "param %s is repeated", s);
561
0
                                                                        return 0;
562
0
                                                                    }
563
0
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
564
0
                                                                }
565
0
                                                                break;
566
0
                                                            case '3':
567
0
                                                                switch(s[13]) {
568
0
                                                                default:
569
0
                                                                    break;
570
0
                                                                case '\0':
571
0
# if !defined(FIPS_MODULE)
572
0
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
573
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
574
0
                                                                                       "param %s is repeated", s);
575
0
                                                                        return 0;
576
0
                                                                    }
577
0
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
578
0
# endif
579
0
                                                                    break;
580
0
                                                                }
581
0
                                                                break;
582
0
                                                            case '4':
583
0
                                                                switch(s[13]) {
584
0
                                                                default:
585
0
                                                                    break;
586
0
                                                                case '\0':
587
0
# if !defined(FIPS_MODULE)
588
0
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
589
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
590
0
                                                                                       "param %s is repeated", s);
591
0
                                                                        return 0;
592
0
                                                                    }
593
0
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
594
0
# endif
595
0
                                                                    break;
596
0
                                                                }
597
0
                                                                break;
598
0
                                                            case '5':
599
0
                                                                switch(s[13]) {
600
0
                                                                default:
601
0
                                                                    break;
602
0
                                                                case '\0':
603
0
# if !defined(FIPS_MODULE)
604
0
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
605
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
606
0
                                                                                       "param %s is repeated", s);
607
0
                                                                        return 0;
608
0
                                                                    }
609
0
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
610
0
# endif
611
0
                                                                    break;
612
0
                                                                }
613
0
                                                                break;
614
0
                                                            case '6':
615
0
                                                                switch(s[13]) {
616
0
                                                                default:
617
0
                                                                    break;
618
0
                                                                case '\0':
619
0
# if !defined(FIPS_MODULE)
620
0
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
621
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
622
0
                                                                                       "param %s is repeated", s);
623
0
                                                                        return 0;
624
0
                                                                    }
625
0
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
626
0
# endif
627
0
                                                                    break;
628
0
                                                                }
629
0
                                                                break;
630
0
                                                            case '7':
631
0
                                                                switch(s[13]) {
632
0
                                                                default:
633
0
                                                                    break;
634
0
                                                                case '\0':
635
0
# if !defined(FIPS_MODULE)
636
0
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
637
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
638
0
                                                                                       "param %s is repeated", s);
639
0
                                                                        return 0;
640
0
                                                                    }
641
0
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
642
0
# endif
643
0
                                                                    break;
644
0
                                                                }
645
0
                                                                break;
646
0
                                                            case '8':
647
0
                                                                switch(s[13]) {
648
0
                                                                default:
649
0
                                                                    break;
650
0
                                                                case '\0':
651
0
# if !defined(FIPS_MODULE)
652
0
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
653
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
654
0
                                                                                       "param %s is repeated", s);
655
0
                                                                        return 0;
656
0
                                                                    }
657
0
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
658
0
# endif
659
0
                                                                    break;
660
0
                                                                }
661
0
                                                                break;
662
0
                                                            case '9':
663
0
                                                                switch(s[13]) {
664
0
                                                                default:
665
0
                                                                    break;
666
0
                                                                case '\0':
667
0
# if !defined(FIPS_MODULE)
668
0
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
669
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
670
0
                                                                                       "param %s is repeated", s);
671
0
                                                                        return 0;
672
0
                                                                    }
673
0
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
674
0
# endif
675
0
                                                                    break;
676
0
                                                                }
677
0
                                                                break;
678
0
                                                            }
679
0
                                                            break;
680
0
                                                        }
681
0
                                                        break;
682
0
                                                    }
683
0
                                                    break;
684
0
                                                }
685
0
                                                break;
686
0
                                            }
687
0
                                            break;
688
0
                                        }
689
0
                                        break;
690
0
                                    }
691
0
                                    break;
692
0
                                }
693
0
                                break;
694
0
                            case 'f':
695
0
                                switch(s[5]) {
696
0
                                default:
697
0
                                    break;
698
0
                                case 'a':
699
0
                                    switch(s[6]) {
700
0
                                    default:
701
0
                                        break;
702
0
                                    case 'c':
703
0
                                        switch(s[7]) {
704
0
                                        default:
705
0
                                            break;
706
0
                                        case 't':
707
0
                                            switch(s[8]) {
708
0
                                            default:
709
0
                                                break;
710
0
                                            case 'o':
711
0
                                                switch(s[9]) {
712
0
                                                default:
713
0
                                                    break;
714
0
                                                case 'r':
715
0
                                                    switch(s[10]) {
716
0
                                                    default:
717
0
                                                        break;
718
0
                                                    case '1':
719
0
                                                        switch(s[11]) {
720
0
                                                        default:
721
0
                                                            break;
722
0
                                                        case '0':
723
0
                                                            switch(s[12]) {
724
0
                                                            default:
725
0
                                                                break;
726
0
                                                            case '\0':
727
0
# if !defined(FIPS_MODULE)
728
0
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
729
0
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
730
0
                                                                                   "param %s is repeated", s);
731
0
                                                                    return 0;
732
0
                                                                }
733
0
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
734
0
# endif
735
0
                                                                break;
736
0
                                                            }
737
0
                                                            break;
738
0
                                                        case '\0':
739
0
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
740
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
741
0
                                                                               "param %s is repeated", s);
742
0
                                                                return 0;
743
0
                                                            }
744
0
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
745
0
                                                        }
746
0
                                                        break;
747
0
                                                    case '2':
748
0
                                                        switch(s[11]) {
749
0
                                                        default:
750
0
                                                            break;
751
0
                                                        case '\0':
752
0
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
753
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
754
0
                                                                               "param %s is repeated", s);
755
0
                                                                return 0;
756
0
                                                            }
757
0
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
758
0
                                                        }
759
0
                                                        break;
760
0
                                                    case '3':
761
0
                                                        switch(s[11]) {
762
0
                                                        default:
763
0
                                                            break;
764
0
                                                        case '\0':
765
0
# if !defined(FIPS_MODULE)
766
0
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
767
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
768
0
                                                                               "param %s is repeated", s);
769
0
                                                                return 0;
770
0
                                                            }
771
0
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
772
0
# endif
773
0
                                                            break;
774
0
                                                        }
775
0
                                                        break;
776
0
                                                    case '4':
777
0
                                                        switch(s[11]) {
778
0
                                                        default:
779
0
                                                            break;
780
0
                                                        case '\0':
781
0
# if !defined(FIPS_MODULE)
782
0
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
783
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
784
0
                                                                               "param %s is repeated", s);
785
0
                                                                return 0;
786
0
                                                            }
787
0
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
788
0
# endif
789
0
                                                            break;
790
0
                                                        }
791
0
                                                        break;
792
0
                                                    case '5':
793
0
                                                        switch(s[11]) {
794
0
                                                        default:
795
0
                                                            break;
796
0
                                                        case '\0':
797
0
# if !defined(FIPS_MODULE)
798
0
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
799
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
800
0
                                                                               "param %s is repeated", s);
801
0
                                                                return 0;
802
0
                                                            }
803
0
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
804
0
# endif
805
0
                                                            break;
806
0
                                                        }
807
0
                                                        break;
808
0
                                                    case '6':
809
0
                                                        switch(s[11]) {
810
0
                                                        default:
811
0
                                                            break;
812
0
                                                        case '\0':
813
0
# if !defined(FIPS_MODULE)
814
0
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
815
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
816
0
                                                                               "param %s is repeated", s);
817
0
                                                                return 0;
818
0
                                                            }
819
0
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
820
0
# endif
821
0
                                                            break;
822
0
                                                        }
823
0
                                                        break;
824
0
                                                    case '7':
825
0
                                                        switch(s[11]) {
826
0
                                                        default:
827
0
                                                            break;
828
0
                                                        case '\0':
829
0
# if !defined(FIPS_MODULE)
830
0
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
831
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
832
0
                                                                               "param %s is repeated", s);
833
0
                                                                return 0;
834
0
                                                            }
835
0
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
836
0
# endif
837
0
                                                            break;
838
0
                                                        }
839
0
                                                        break;
840
0
                                                    case '8':
841
0
                                                        switch(s[11]) {
842
0
                                                        default:
843
0
                                                            break;
844
0
                                                        case '\0':
845
0
# if !defined(FIPS_MODULE)
846
0
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
847
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
848
0
                                                                               "param %s is repeated", s);
849
0
                                                                return 0;
850
0
                                                            }
851
0
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
852
0
# endif
853
0
                                                            break;
854
0
                                                        }
855
0
                                                        break;
856
0
                                                    case '9':
857
0
                                                        switch(s[11]) {
858
0
                                                        default:
859
0
                                                            break;
860
0
                                                        case '\0':
861
0
# if !defined(FIPS_MODULE)
862
0
                                                            if (ossl_unlikely(r->mp.factors[8] != 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->mp.factors[8] = (OSSL_PARAM *)p;
868
0
# endif
869
0
                                                            break;
870
0
                                                        }
871
0
                                                        break;
872
0
                                                    }
873
0
                                                    break;
874
0
                                                }
875
0
                                                break;
876
0
                                            }
877
0
                                            break;
878
0
                                        }
879
0
                                        break;
880
0
                                    }
881
0
                                    break;
882
0
                                }
883
0
                                break;
884
0
                            }
885
0
                            break;
886
0
                        }
887
0
                        break;
888
0
                    }
889
0
                    break;
890
0
                }
891
0
                break;
892
0
            }
893
0
    return 1;
894
0
}
Unexecuted instantiation: rsa_backend.c:rsa_key_fromdata_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsa_key_fromdata_decoder
Unexecuted instantiation: rsa_ameth.c:rsa_key_fromdata_decoder
895
#endif
896
/* End of machine generated */
897
898
#define rsa_key_todata_st rsa_params_st
899
/* Machine generated */
900
#ifndef rsa_key_todata_list
901
static ossl_unused const OSSL_PARAM rsa_key_todata_list[] = {
902
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
903
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
904
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
905
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
906
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
907
# if !defined(FIPS_MODULE)
908
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
909
# endif
910
# if !defined(FIPS_MODULE)
911
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
912
# endif
913
# if !defined(FIPS_MODULE)
914
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
915
# endif
916
# if !defined(FIPS_MODULE)
917
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
918
# endif
919
# if !defined(FIPS_MODULE)
920
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
921
# endif
922
# if !defined(FIPS_MODULE)
923
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
924
# endif
925
# if !defined(FIPS_MODULE)
926
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
927
# endif
928
# if !defined(FIPS_MODULE)
929
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
930
# endif
931
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
932
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
933
# if !defined(FIPS_MODULE)
934
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
935
# endif
936
# if !defined(FIPS_MODULE)
937
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
938
# endif
939
# if !defined(FIPS_MODULE)
940
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
941
# endif
942
# if !defined(FIPS_MODULE)
943
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
944
# endif
945
# if !defined(FIPS_MODULE)
946
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
947
# endif
948
# if !defined(FIPS_MODULE)
949
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
950
# endif
951
# if !defined(FIPS_MODULE)
952
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
953
# endif
954
# if !defined(FIPS_MODULE)
955
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
956
# endif
957
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
958
# if !defined(FIPS_MODULE)
959
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
960
# endif
961
# if !defined(FIPS_MODULE)
962
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
963
# endif
964
# if !defined(FIPS_MODULE)
965
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
966
# endif
967
# if !defined(FIPS_MODULE)
968
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
969
# endif
970
# if !defined(FIPS_MODULE)
971
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
972
# endif
973
# if !defined(FIPS_MODULE)
974
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
975
# endif
976
# if !defined(FIPS_MODULE)
977
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
978
# endif
979
# if !defined(FIPS_MODULE)
980
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
981
# endif
982
# if defined(FIPS_MODULE)
983
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_P1, NULL, 0),
984
# endif
985
# if defined(FIPS_MODULE)
986
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_P2, NULL, 0),
987
# endif
988
# if defined(FIPS_MODULE)
989
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_Q1, NULL, 0),
990
# endif
991
# if defined(FIPS_MODULE)
992
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_Q2, NULL, 0),
993
# endif
994
    OSSL_PARAM_END
995
};
996
#endif
997
998
#ifndef rsa_key_todata_st
999
struct rsa_key_todata_st {
1000
    OSSL_PARAM *d;
1001
    OSSL_PARAM *e;
1002
# if defined(FIPS_MODULE)
1003
    OSSL_PARAM *fips.p1;
1004
# endif
1005
# if defined(FIPS_MODULE)
1006
    OSSL_PARAM *fips.p2;
1007
# endif
1008
# if defined(FIPS_MODULE)
1009
    OSSL_PARAM *fips.q1;
1010
# endif
1011
# if defined(FIPS_MODULE)
1012
    OSSL_PARAM *fips.q2;
1013
# endif
1014
    OSSL_PARAM *mp.coeffs[0];
1015
# if !defined(FIPS_MODULE)
1016
    OSSL_PARAM *mp.coeffs[1];
1017
# endif
1018
# if !defined(FIPS_MODULE)
1019
    OSSL_PARAM *mp.coeffs[2];
1020
# endif
1021
# if !defined(FIPS_MODULE)
1022
    OSSL_PARAM *mp.coeffs[3];
1023
# endif
1024
# if !defined(FIPS_MODULE)
1025
    OSSL_PARAM *mp.coeffs[4];
1026
# endif
1027
# if !defined(FIPS_MODULE)
1028
    OSSL_PARAM *mp.coeffs[5];
1029
# endif
1030
# if !defined(FIPS_MODULE)
1031
    OSSL_PARAM *mp.coeffs[6];
1032
# endif
1033
# if !defined(FIPS_MODULE)
1034
    OSSL_PARAM *mp.coeffs[7];
1035
# endif
1036
# if !defined(FIPS_MODULE)
1037
    OSSL_PARAM *mp.coeffs[8];
1038
# endif
1039
    OSSL_PARAM *mp.exps[0];
1040
    OSSL_PARAM *mp.exps[1];
1041
# if !defined(FIPS_MODULE)
1042
    OSSL_PARAM *mp.exps[2];
1043
# endif
1044
# if !defined(FIPS_MODULE)
1045
    OSSL_PARAM *mp.exps[3];
1046
# endif
1047
# if !defined(FIPS_MODULE)
1048
    OSSL_PARAM *mp.exps[4];
1049
# endif
1050
# if !defined(FIPS_MODULE)
1051
    OSSL_PARAM *mp.exps[5];
1052
# endif
1053
# if !defined(FIPS_MODULE)
1054
    OSSL_PARAM *mp.exps[6];
1055
# endif
1056
# if !defined(FIPS_MODULE)
1057
    OSSL_PARAM *mp.exps[7];
1058
# endif
1059
# if !defined(FIPS_MODULE)
1060
    OSSL_PARAM *mp.exps[8];
1061
# endif
1062
# if !defined(FIPS_MODULE)
1063
    OSSL_PARAM *mp.exps[9];
1064
# endif
1065
    OSSL_PARAM *mp.factors[0];
1066
    OSSL_PARAM *mp.factors[1];
1067
# if !defined(FIPS_MODULE)
1068
    OSSL_PARAM *mp.factors[2];
1069
# endif
1070
# if !defined(FIPS_MODULE)
1071
    OSSL_PARAM *mp.factors[3];
1072
# endif
1073
# if !defined(FIPS_MODULE)
1074
    OSSL_PARAM *mp.factors[4];
1075
# endif
1076
# if !defined(FIPS_MODULE)
1077
    OSSL_PARAM *mp.factors[5];
1078
# endif
1079
# if !defined(FIPS_MODULE)
1080
    OSSL_PARAM *mp.factors[6];
1081
# endif
1082
# if !defined(FIPS_MODULE)
1083
    OSSL_PARAM *mp.factors[7];
1084
# endif
1085
# if !defined(FIPS_MODULE)
1086
    OSSL_PARAM *mp.factors[8];
1087
# endif
1088
# if !defined(FIPS_MODULE)
1089
    OSSL_PARAM *mp.factors[9];
1090
# endif
1091
    OSSL_PARAM *n;
1092
};
1093
#endif
1094
1095
#ifndef rsa_key_todata_decoder
1096
static ossl_unused int rsa_key_todata_decoder
1097
    (const OSSL_PARAM *p, struct rsa_key_todata_st *r)
1098
0
{
1099
0
    const char *s;
1100
1101
0
    memset(r, 0, sizeof(*r));
1102
0
    if (p != NULL)
1103
0
        for (; (s = p->key) != NULL; p++)
1104
0
            switch(s[0]) {
1105
0
            default:
1106
0
                break;
1107
0
            case 'd':
1108
0
                switch(s[1]) {
1109
0
                default:
1110
0
                    break;
1111
0
                case '\0':
1112
0
                    if (ossl_unlikely(r->d != NULL)) {
1113
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1114
0
                                       "param %s is repeated", s);
1115
0
                        return 0;
1116
0
                    }
1117
0
                    r->d = (OSSL_PARAM *)p;
1118
0
                }
1119
0
                break;
1120
0
            case 'e':
1121
0
                switch(s[1]) {
1122
0
                default:
1123
0
                    break;
1124
0
                case '\0':
1125
0
                    if (ossl_unlikely(r->e != NULL)) {
1126
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1127
0
                                       "param %s is repeated", s);
1128
0
                        return 0;
1129
0
                    }
1130
0
                    r->e = (OSSL_PARAM *)p;
1131
0
                }
1132
0
                break;
1133
0
            case 'n':
1134
0
                switch(s[1]) {
1135
0
                default:
1136
0
                    break;
1137
0
                case '\0':
1138
0
                    if (ossl_unlikely(r->n != NULL)) {
1139
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1140
0
                                       "param %s is repeated", s);
1141
0
                        return 0;
1142
0
                    }
1143
0
                    r->n = (OSSL_PARAM *)p;
1144
0
                }
1145
0
                break;
1146
0
            case 'p':
1147
0
                switch(s[1]) {
1148
0
                default:
1149
0
                    break;
1150
0
                case '1':
1151
0
                    switch(s[2]) {
1152
0
                    default:
1153
0
                        break;
1154
0
                    case '\0':
1155
# if defined(FIPS_MODULE)
1156
                        if (ossl_unlikely(r->fips.p1 != NULL)) {
1157
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1158
                                           "param %s is repeated", s);
1159
                            return 0;
1160
                        }
1161
                        r->fips.p1 = (OSSL_PARAM *)p;
1162
# endif
1163
0
                        break;
1164
0
                    }
1165
0
                    break;
1166
0
                case '2':
1167
0
                    switch(s[2]) {
1168
0
                    default:
1169
0
                        break;
1170
0
                    case '\0':
1171
# if defined(FIPS_MODULE)
1172
                        if (ossl_unlikely(r->fips.p2 != NULL)) {
1173
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1174
                                           "param %s is repeated", s);
1175
                            return 0;
1176
                        }
1177
                        r->fips.p2 = (OSSL_PARAM *)p;
1178
# endif
1179
0
                        break;
1180
0
                    }
1181
0
                    break;
1182
0
                }
1183
0
                break;
1184
0
            case 'q':
1185
0
                switch(s[1]) {
1186
0
                default:
1187
0
                    break;
1188
0
                case '1':
1189
0
                    switch(s[2]) {
1190
0
                    default:
1191
0
                        break;
1192
0
                    case '\0':
1193
# if defined(FIPS_MODULE)
1194
                        if (ossl_unlikely(r->fips.q1 != NULL)) {
1195
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1196
                                           "param %s is repeated", s);
1197
                            return 0;
1198
                        }
1199
                        r->fips.q1 = (OSSL_PARAM *)p;
1200
# endif
1201
0
                        break;
1202
0
                    }
1203
0
                    break;
1204
0
                case '2':
1205
0
                    switch(s[2]) {
1206
0
                    default:
1207
0
                        break;
1208
0
                    case '\0':
1209
# if defined(FIPS_MODULE)
1210
                        if (ossl_unlikely(r->fips.q2 != NULL)) {
1211
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1212
                                           "param %s is repeated", s);
1213
                            return 0;
1214
                        }
1215
                        r->fips.q2 = (OSSL_PARAM *)p;
1216
# endif
1217
0
                        break;
1218
0
                    }
1219
0
                    break;
1220
0
                }
1221
0
                break;
1222
0
            case 'r':
1223
0
                switch(s[1]) {
1224
0
                default:
1225
0
                    break;
1226
0
                case 's':
1227
0
                    switch(s[2]) {
1228
0
                    default:
1229
0
                        break;
1230
0
                    case 'a':
1231
0
                        switch(s[3]) {
1232
0
                        default:
1233
0
                            break;
1234
0
                        case '-':
1235
0
                            switch(s[4]) {
1236
0
                            default:
1237
0
                                break;
1238
0
                            case 'c':
1239
0
                                switch(s[5]) {
1240
0
                                default:
1241
0
                                    break;
1242
0
                                case 'o':
1243
0
                                    switch(s[6]) {
1244
0
                                    default:
1245
0
                                        break;
1246
0
                                    case 'e':
1247
0
                                        switch(s[7]) {
1248
0
                                        default:
1249
0
                                            break;
1250
0
                                        case 'f':
1251
0
                                            switch(s[8]) {
1252
0
                                            default:
1253
0
                                                break;
1254
0
                                            case 'f':
1255
0
                                                switch(s[9]) {
1256
0
                                                default:
1257
0
                                                    break;
1258
0
                                                case 'i':
1259
0
                                                    switch(s[10]) {
1260
0
                                                    default:
1261
0
                                                        break;
1262
0
                                                    case 'c':
1263
0
                                                        switch(s[11]) {
1264
0
                                                        default:
1265
0
                                                            break;
1266
0
                                                        case 'i':
1267
0
                                                            switch(s[12]) {
1268
0
                                                            default:
1269
0
                                                                break;
1270
0
                                                            case 'e':
1271
0
                                                                switch(s[13]) {
1272
0
                                                                default:
1273
0
                                                                    break;
1274
0
                                                                case 'n':
1275
0
                                                                    switch(s[14]) {
1276
0
                                                                    default:
1277
0
                                                                        break;
1278
0
                                                                    case 't':
1279
0
                                                                        switch(s[15]) {
1280
0
                                                                        default:
1281
0
                                                                            break;
1282
0
                                                                        case '1':
1283
0
                                                                            switch(s[16]) {
1284
0
                                                                            default:
1285
0
                                                                                break;
1286
0
                                                                            case '\0':
1287
0
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
1288
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1289
0
                                                                                                   "param %s is repeated", s);
1290
0
                                                                                    return 0;
1291
0
                                                                                }
1292
0
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
1293
0
                                                                            }
1294
0
                                                                            break;
1295
0
                                                                        case '2':
1296
0
                                                                            switch(s[16]) {
1297
0
                                                                            default:
1298
0
                                                                                break;
1299
0
                                                                            case '\0':
1300
0
# if !defined(FIPS_MODULE)
1301
0
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
1302
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1303
0
                                                                                                   "param %s is repeated", s);
1304
0
                                                                                    return 0;
1305
0
                                                                                }
1306
0
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
1307
0
# endif
1308
0
                                                                                break;
1309
0
                                                                            }
1310
0
                                                                            break;
1311
0
                                                                        case '3':
1312
0
                                                                            switch(s[16]) {
1313
0
                                                                            default:
1314
0
                                                                                break;
1315
0
                                                                            case '\0':
1316
0
# if !defined(FIPS_MODULE)
1317
0
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
1318
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1319
0
                                                                                                   "param %s is repeated", s);
1320
0
                                                                                    return 0;
1321
0
                                                                                }
1322
0
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
1323
0
# endif
1324
0
                                                                                break;
1325
0
                                                                            }
1326
0
                                                                            break;
1327
0
                                                                        case '4':
1328
0
                                                                            switch(s[16]) {
1329
0
                                                                            default:
1330
0
                                                                                break;
1331
0
                                                                            case '\0':
1332
0
# if !defined(FIPS_MODULE)
1333
0
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
1334
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1335
0
                                                                                                   "param %s is repeated", s);
1336
0
                                                                                    return 0;
1337
0
                                                                                }
1338
0
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
1339
0
# endif
1340
0
                                                                                break;
1341
0
                                                                            }
1342
0
                                                                            break;
1343
0
                                                                        case '5':
1344
0
                                                                            switch(s[16]) {
1345
0
                                                                            default:
1346
0
                                                                                break;
1347
0
                                                                            case '\0':
1348
0
# if !defined(FIPS_MODULE)
1349
0
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
1350
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1351
0
                                                                                                   "param %s is repeated", s);
1352
0
                                                                                    return 0;
1353
0
                                                                                }
1354
0
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
1355
0
# endif
1356
0
                                                                                break;
1357
0
                                                                            }
1358
0
                                                                            break;
1359
0
                                                                        case '6':
1360
0
                                                                            switch(s[16]) {
1361
0
                                                                            default:
1362
0
                                                                                break;
1363
0
                                                                            case '\0':
1364
0
# if !defined(FIPS_MODULE)
1365
0
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
1366
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1367
0
                                                                                                   "param %s is repeated", s);
1368
0
                                                                                    return 0;
1369
0
                                                                                }
1370
0
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
1371
0
# endif
1372
0
                                                                                break;
1373
0
                                                                            }
1374
0
                                                                            break;
1375
0
                                                                        case '7':
1376
0
                                                                            switch(s[16]) {
1377
0
                                                                            default:
1378
0
                                                                                break;
1379
0
                                                                            case '\0':
1380
0
# if !defined(FIPS_MODULE)
1381
0
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
1382
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1383
0
                                                                                                   "param %s is repeated", s);
1384
0
                                                                                    return 0;
1385
0
                                                                                }
1386
0
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
1387
0
# endif
1388
0
                                                                                break;
1389
0
                                                                            }
1390
0
                                                                            break;
1391
0
                                                                        case '8':
1392
0
                                                                            switch(s[16]) {
1393
0
                                                                            default:
1394
0
                                                                                break;
1395
0
                                                                            case '\0':
1396
0
# if !defined(FIPS_MODULE)
1397
0
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
1398
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1399
0
                                                                                                   "param %s is repeated", s);
1400
0
                                                                                    return 0;
1401
0
                                                                                }
1402
0
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
1403
0
# endif
1404
0
                                                                                break;
1405
0
                                                                            }
1406
0
                                                                            break;
1407
0
                                                                        case '9':
1408
0
                                                                            switch(s[16]) {
1409
0
                                                                            default:
1410
0
                                                                                break;
1411
0
                                                                            case '\0':
1412
0
# if !defined(FIPS_MODULE)
1413
0
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
1414
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1415
0
                                                                                                   "param %s is repeated", s);
1416
0
                                                                                    return 0;
1417
0
                                                                                }
1418
0
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
1419
0
# endif
1420
0
                                                                                break;
1421
0
                                                                            }
1422
0
                                                                            break;
1423
0
                                                                        }
1424
0
                                                                        break;
1425
0
                                                                    }
1426
0
                                                                    break;
1427
0
                                                                }
1428
0
                                                                break;
1429
0
                                                            }
1430
0
                                                            break;
1431
0
                                                        }
1432
0
                                                        break;
1433
0
                                                    }
1434
0
                                                    break;
1435
0
                                                }
1436
0
                                                break;
1437
0
                                            }
1438
0
                                            break;
1439
0
                                        }
1440
0
                                        break;
1441
0
                                    }
1442
0
                                    break;
1443
0
                                }
1444
0
                                break;
1445
0
                            case 'e':
1446
0
                                switch(s[5]) {
1447
0
                                default:
1448
0
                                    break;
1449
0
                                case 'x':
1450
0
                                    switch(s[6]) {
1451
0
                                    default:
1452
0
                                        break;
1453
0
                                    case 'p':
1454
0
                                        switch(s[7]) {
1455
0
                                        default:
1456
0
                                            break;
1457
0
                                        case 'o':
1458
0
                                            switch(s[8]) {
1459
0
                                            default:
1460
0
                                                break;
1461
0
                                            case 'n':
1462
0
                                                switch(s[9]) {
1463
0
                                                default:
1464
0
                                                    break;
1465
0
                                                case 'e':
1466
0
                                                    switch(s[10]) {
1467
0
                                                    default:
1468
0
                                                        break;
1469
0
                                                    case 'n':
1470
0
                                                        switch(s[11]) {
1471
0
                                                        default:
1472
0
                                                            break;
1473
0
                                                        case 't':
1474
0
                                                            switch(s[12]) {
1475
0
                                                            default:
1476
0
                                                                break;
1477
0
                                                            case '1':
1478
0
                                                                switch(s[13]) {
1479
0
                                                                default:
1480
0
                                                                    break;
1481
0
                                                                case '0':
1482
0
                                                                    switch(s[14]) {
1483
0
                                                                    default:
1484
0
                                                                        break;
1485
0
                                                                    case '\0':
1486
0
# if !defined(FIPS_MODULE)
1487
0
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
1488
0
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1489
0
                                                                                           "param %s is repeated", s);
1490
0
                                                                            return 0;
1491
0
                                                                        }
1492
0
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
1493
0
# endif
1494
0
                                                                        break;
1495
0
                                                                    }
1496
0
                                                                    break;
1497
0
                                                                case '\0':
1498
0
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
1499
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1500
0
                                                                                       "param %s is repeated", s);
1501
0
                                                                        return 0;
1502
0
                                                                    }
1503
0
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
1504
0
                                                                }
1505
0
                                                                break;
1506
0
                                                            case '2':
1507
0
                                                                switch(s[13]) {
1508
0
                                                                default:
1509
0
                                                                    break;
1510
0
                                                                case '\0':
1511
0
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
1512
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1513
0
                                                                                       "param %s is repeated", s);
1514
0
                                                                        return 0;
1515
0
                                                                    }
1516
0
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
1517
0
                                                                }
1518
0
                                                                break;
1519
0
                                                            case '3':
1520
0
                                                                switch(s[13]) {
1521
0
                                                                default:
1522
0
                                                                    break;
1523
0
                                                                case '\0':
1524
0
# if !defined(FIPS_MODULE)
1525
0
                                                                    if (ossl_unlikely(r->mp.exps[2] != 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->mp.exps[2] = (OSSL_PARAM *)p;
1531
0
# endif
1532
0
                                                                    break;
1533
0
                                                                }
1534
0
                                                                break;
1535
0
                                                            case '4':
1536
0
                                                                switch(s[13]) {
1537
0
                                                                default:
1538
0
                                                                    break;
1539
0
                                                                case '\0':
1540
0
# if !defined(FIPS_MODULE)
1541
0
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
1542
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1543
0
                                                                                       "param %s is repeated", s);
1544
0
                                                                        return 0;
1545
0
                                                                    }
1546
0
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
1547
0
# endif
1548
0
                                                                    break;
1549
0
                                                                }
1550
0
                                                                break;
1551
0
                                                            case '5':
1552
0
                                                                switch(s[13]) {
1553
0
                                                                default:
1554
0
                                                                    break;
1555
0
                                                                case '\0':
1556
0
# if !defined(FIPS_MODULE)
1557
0
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
1558
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1559
0
                                                                                       "param %s is repeated", s);
1560
0
                                                                        return 0;
1561
0
                                                                    }
1562
0
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
1563
0
# endif
1564
0
                                                                    break;
1565
0
                                                                }
1566
0
                                                                break;
1567
0
                                                            case '6':
1568
0
                                                                switch(s[13]) {
1569
0
                                                                default:
1570
0
                                                                    break;
1571
0
                                                                case '\0':
1572
0
# if !defined(FIPS_MODULE)
1573
0
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
1574
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1575
0
                                                                                       "param %s is repeated", s);
1576
0
                                                                        return 0;
1577
0
                                                                    }
1578
0
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
1579
0
# endif
1580
0
                                                                    break;
1581
0
                                                                }
1582
0
                                                                break;
1583
0
                                                            case '7':
1584
0
                                                                switch(s[13]) {
1585
0
                                                                default:
1586
0
                                                                    break;
1587
0
                                                                case '\0':
1588
0
# if !defined(FIPS_MODULE)
1589
0
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
1590
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1591
0
                                                                                       "param %s is repeated", s);
1592
0
                                                                        return 0;
1593
0
                                                                    }
1594
0
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
1595
0
# endif
1596
0
                                                                    break;
1597
0
                                                                }
1598
0
                                                                break;
1599
0
                                                            case '8':
1600
0
                                                                switch(s[13]) {
1601
0
                                                                default:
1602
0
                                                                    break;
1603
0
                                                                case '\0':
1604
0
# if !defined(FIPS_MODULE)
1605
0
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
1606
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1607
0
                                                                                       "param %s is repeated", s);
1608
0
                                                                        return 0;
1609
0
                                                                    }
1610
0
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
1611
0
# endif
1612
0
                                                                    break;
1613
0
                                                                }
1614
0
                                                                break;
1615
0
                                                            case '9':
1616
0
                                                                switch(s[13]) {
1617
0
                                                                default:
1618
0
                                                                    break;
1619
0
                                                                case '\0':
1620
0
# if !defined(FIPS_MODULE)
1621
0
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
1622
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1623
0
                                                                                       "param %s is repeated", s);
1624
0
                                                                        return 0;
1625
0
                                                                    }
1626
0
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
1627
0
# endif
1628
0
                                                                    break;
1629
0
                                                                }
1630
0
                                                                break;
1631
0
                                                            }
1632
0
                                                            break;
1633
0
                                                        }
1634
0
                                                        break;
1635
0
                                                    }
1636
0
                                                    break;
1637
0
                                                }
1638
0
                                                break;
1639
0
                                            }
1640
0
                                            break;
1641
0
                                        }
1642
0
                                        break;
1643
0
                                    }
1644
0
                                    break;
1645
0
                                }
1646
0
                                break;
1647
0
                            case 'f':
1648
0
                                switch(s[5]) {
1649
0
                                default:
1650
0
                                    break;
1651
0
                                case 'a':
1652
0
                                    switch(s[6]) {
1653
0
                                    default:
1654
0
                                        break;
1655
0
                                    case 'c':
1656
0
                                        switch(s[7]) {
1657
0
                                        default:
1658
0
                                            break;
1659
0
                                        case 't':
1660
0
                                            switch(s[8]) {
1661
0
                                            default:
1662
0
                                                break;
1663
0
                                            case 'o':
1664
0
                                                switch(s[9]) {
1665
0
                                                default:
1666
0
                                                    break;
1667
0
                                                case 'r':
1668
0
                                                    switch(s[10]) {
1669
0
                                                    default:
1670
0
                                                        break;
1671
0
                                                    case '1':
1672
0
                                                        switch(s[11]) {
1673
0
                                                        default:
1674
0
                                                            break;
1675
0
                                                        case '0':
1676
0
                                                            switch(s[12]) {
1677
0
                                                            default:
1678
0
                                                                break;
1679
0
                                                            case '\0':
1680
0
# if !defined(FIPS_MODULE)
1681
0
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
1682
0
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1683
0
                                                                                   "param %s is repeated", s);
1684
0
                                                                    return 0;
1685
0
                                                                }
1686
0
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
1687
0
# endif
1688
0
                                                                break;
1689
0
                                                            }
1690
0
                                                            break;
1691
0
                                                        case '\0':
1692
0
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
1693
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1694
0
                                                                               "param %s is repeated", s);
1695
0
                                                                return 0;
1696
0
                                                            }
1697
0
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
1698
0
                                                        }
1699
0
                                                        break;
1700
0
                                                    case '2':
1701
0
                                                        switch(s[11]) {
1702
0
                                                        default:
1703
0
                                                            break;
1704
0
                                                        case '\0':
1705
0
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
1706
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1707
0
                                                                               "param %s is repeated", s);
1708
0
                                                                return 0;
1709
0
                                                            }
1710
0
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
1711
0
                                                        }
1712
0
                                                        break;
1713
0
                                                    case '3':
1714
0
                                                        switch(s[11]) {
1715
0
                                                        default:
1716
0
                                                            break;
1717
0
                                                        case '\0':
1718
0
# if !defined(FIPS_MODULE)
1719
0
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
1720
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1721
0
                                                                               "param %s is repeated", s);
1722
0
                                                                return 0;
1723
0
                                                            }
1724
0
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
1725
0
# endif
1726
0
                                                            break;
1727
0
                                                        }
1728
0
                                                        break;
1729
0
                                                    case '4':
1730
0
                                                        switch(s[11]) {
1731
0
                                                        default:
1732
0
                                                            break;
1733
0
                                                        case '\0':
1734
0
# if !defined(FIPS_MODULE)
1735
0
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
1736
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1737
0
                                                                               "param %s is repeated", s);
1738
0
                                                                return 0;
1739
0
                                                            }
1740
0
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
1741
0
# endif
1742
0
                                                            break;
1743
0
                                                        }
1744
0
                                                        break;
1745
0
                                                    case '5':
1746
0
                                                        switch(s[11]) {
1747
0
                                                        default:
1748
0
                                                            break;
1749
0
                                                        case '\0':
1750
0
# if !defined(FIPS_MODULE)
1751
0
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
1752
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1753
0
                                                                               "param %s is repeated", s);
1754
0
                                                                return 0;
1755
0
                                                            }
1756
0
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
1757
0
# endif
1758
0
                                                            break;
1759
0
                                                        }
1760
0
                                                        break;
1761
0
                                                    case '6':
1762
0
                                                        switch(s[11]) {
1763
0
                                                        default:
1764
0
                                                            break;
1765
0
                                                        case '\0':
1766
0
# if !defined(FIPS_MODULE)
1767
0
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
1768
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1769
0
                                                                               "param %s is repeated", s);
1770
0
                                                                return 0;
1771
0
                                                            }
1772
0
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
1773
0
# endif
1774
0
                                                            break;
1775
0
                                                        }
1776
0
                                                        break;
1777
0
                                                    case '7':
1778
0
                                                        switch(s[11]) {
1779
0
                                                        default:
1780
0
                                                            break;
1781
0
                                                        case '\0':
1782
0
# if !defined(FIPS_MODULE)
1783
0
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
1784
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1785
0
                                                                               "param %s is repeated", s);
1786
0
                                                                return 0;
1787
0
                                                            }
1788
0
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
1789
0
# endif
1790
0
                                                            break;
1791
0
                                                        }
1792
0
                                                        break;
1793
0
                                                    case '8':
1794
0
                                                        switch(s[11]) {
1795
0
                                                        default:
1796
0
                                                            break;
1797
0
                                                        case '\0':
1798
0
# if !defined(FIPS_MODULE)
1799
0
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
1800
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1801
0
                                                                               "param %s is repeated", s);
1802
0
                                                                return 0;
1803
0
                                                            }
1804
0
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
1805
0
# endif
1806
0
                                                            break;
1807
0
                                                        }
1808
0
                                                        break;
1809
0
                                                    case '9':
1810
0
                                                        switch(s[11]) {
1811
0
                                                        default:
1812
0
                                                            break;
1813
0
                                                        case '\0':
1814
0
# if !defined(FIPS_MODULE)
1815
0
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
1816
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1817
0
                                                                               "param %s is repeated", s);
1818
0
                                                                return 0;
1819
0
                                                            }
1820
0
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
1821
0
# endif
1822
0
                                                            break;
1823
0
                                                        }
1824
0
                                                        break;
1825
0
                                                    }
1826
0
                                                    break;
1827
0
                                                }
1828
0
                                                break;
1829
0
                                            }
1830
0
                                            break;
1831
0
                                        }
1832
0
                                        break;
1833
0
                                    }
1834
0
                                    break;
1835
0
                                }
1836
0
                                break;
1837
0
                            }
1838
0
                            break;
1839
0
                        }
1840
0
                        break;
1841
0
                    }
1842
0
                    break;
1843
0
                }
1844
0
                break;
1845
0
            }
1846
0
    return 1;
1847
0
}
Unexecuted instantiation: rsa_backend.c:rsa_key_todata_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsa_key_todata_decoder
Unexecuted instantiation: rsa_ameth.c:rsa_key_todata_decoder
1848
#endif
1849
/* End of machine generated */
1850
1851
#define rsa_pss_fromdata_st rsa_params_st
1852
/* Machine generated */
1853
#ifndef rsa_pss_fromdata_list
1854
static ossl_unused const OSSL_PARAM rsa_pss_fromdata_list[] = {
1855
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST, NULL, 0),
1856
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST_PROPS, NULL, 0),
1857
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MASKGENFUNC, NULL, 0),
1858
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MGF1_DIGEST, NULL, 0),
1859
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_PSS_SALTLEN, NULL),
1860
    OSSL_PARAM_END
1861
};
1862
#endif
1863
1864
#ifndef rsa_pss_fromdata_st
1865
struct rsa_pss_fromdata_st {
1866
    OSSL_PARAM *digest;
1867
    OSSL_PARAM *digest_props;
1868
    OSSL_PARAM *maskgenfunc;
1869
    OSSL_PARAM *mgf1_digest;
1870
    OSSL_PARAM *pss_saltlen;
1871
};
1872
#endif
1873
1874
#ifndef rsa_pss_fromdata_decoder
1875
static ossl_unused int rsa_pss_fromdata_decoder
1876
    (const OSSL_PARAM *p, struct rsa_pss_fromdata_st *r)
1877
0
{
1878
0
    const char *s;
1879
1880
0
    memset(r, 0, sizeof(*r));
1881
0
    if (p != NULL)
1882
0
        for (; (s = p->key) != NULL; p++)
1883
0
            switch(s[0]) {
1884
0
            default:
1885
0
                break;
1886
0
            case 'd':
1887
0
                if (ossl_likely(strcmp("igest", s + 1) == 0)) {
1888
                    /* OSSL_PKEY_PARAM_RSA_DIGEST */
1889
0
                    if (ossl_unlikely(r->digest != NULL)) {
1890
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1891
0
                                       "param %s is repeated", s);
1892
0
                        return 0;
1893
0
                    }
1894
0
                    r->digest = (OSSL_PARAM *)p;
1895
0
                }
1896
0
                break;
1897
0
            case 'm':
1898
0
                switch(s[1]) {
1899
0
                default:
1900
0
                    break;
1901
0
                case 'g':
1902
0
                    switch(s[2]) {
1903
0
                    default:
1904
0
                        break;
1905
0
                    case 'f':
1906
0
                        switch(s[3]) {
1907
0
                        default:
1908
0
                            break;
1909
0
                        case '1':
1910
0
                            if (ossl_likely(strcmp("-digest", s + 4) == 0)) {
1911
                                /* OSSL_PKEY_PARAM_RSA_MGF1_DIGEST */
1912
0
                                if (ossl_unlikely(r->mgf1_digest != NULL)) {
1913
0
                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1914
0
                                                   "param %s is repeated", s);
1915
0
                                    return 0;
1916
0
                                }
1917
0
                                r->mgf1_digest = (OSSL_PARAM *)p;
1918
0
                            }
1919
0
                            break;
1920
0
                        case '\0':
1921
0
                            if (ossl_unlikely(r->maskgenfunc != NULL)) {
1922
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1923
0
                                               "param %s is repeated", s);
1924
0
                                return 0;
1925
0
                            }
1926
0
                            r->maskgenfunc = (OSSL_PARAM *)p;
1927
0
                        }
1928
0
                    }
1929
0
                }
1930
0
                break;
1931
0
            case 'p':
1932
0
                if (ossl_likely(strcmp("roperties", s + 1) == 0)) {
1933
                    /* OSSL_PKEY_PARAM_RSA_DIGEST_PROPS */
1934
0
                    if (ossl_unlikely(r->digest_props != 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->digest_props = (OSSL_PARAM *)p;
1940
0
                }
1941
0
                break;
1942
0
            case 's':
1943
0
                if (ossl_likely(strcmp("altlen", s + 1) == 0)) {
1944
                    /* OSSL_PKEY_PARAM_RSA_PSS_SALTLEN */
1945
0
                    if (ossl_unlikely(r->pss_saltlen != 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->pss_saltlen = (OSSL_PARAM *)p;
1951
0
                }
1952
0
            }
1953
0
    return 1;
1954
0
}
Unexecuted instantiation: rsa_backend.c:rsa_pss_fromdata_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsa_pss_fromdata_decoder
Unexecuted instantiation: rsa_ameth.c:rsa_pss_fromdata_decoder
1955
#endif
1956
/* End of machine generated */
1957
1958
#define rsa_pss_todata_st rsa_params_st
1959
/* Machine generated */
1960
#ifndef rsa_pss_todata_list
1961
static ossl_unused const OSSL_PARAM rsa_pss_todata_list[] = {
1962
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST, NULL, 0),
1963
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MASKGENFUNC, NULL, 0),
1964
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MGF1_DIGEST, NULL, 0),
1965
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_PSS_SALTLEN, NULL),
1966
    OSSL_PARAM_END
1967
};
1968
#endif
1969
1970
#ifndef rsa_pss_todata_st
1971
struct rsa_pss_todata_st {
1972
    OSSL_PARAM *digest;
1973
    OSSL_PARAM *maskgenfunc;
1974
    OSSL_PARAM *mgf1_digest;
1975
    OSSL_PARAM *pss_saltlen;
1976
};
1977
#endif
1978
1979
#ifndef rsa_pss_todata_decoder
1980
static ossl_unused int rsa_pss_todata_decoder
1981
    (const OSSL_PARAM *p, struct rsa_pss_todata_st *r)
1982
0
{
1983
0
    const char *s;
1984
1985
0
    memset(r, 0, sizeof(*r));
1986
0
    if (p != NULL)
1987
0
        for (; (s = p->key) != NULL; p++)
1988
0
            switch(s[0]) {
1989
0
            default:
1990
0
                break;
1991
0
            case 'd':
1992
0
                if (ossl_likely(strcmp("igest", s + 1) == 0)) {
1993
                    /* OSSL_PKEY_PARAM_RSA_DIGEST */
1994
0
                    if (ossl_unlikely(r->digest != NULL)) {
1995
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
1996
0
                                       "param %s is repeated", s);
1997
0
                        return 0;
1998
0
                    }
1999
0
                    r->digest = (OSSL_PARAM *)p;
2000
0
                }
2001
0
                break;
2002
0
            case 'm':
2003
0
                switch(s[1]) {
2004
0
                default:
2005
0
                    break;
2006
0
                case 'g':
2007
0
                    switch(s[2]) {
2008
0
                    default:
2009
0
                        break;
2010
0
                    case 'f':
2011
0
                        switch(s[3]) {
2012
0
                        default:
2013
0
                            break;
2014
0
                        case '1':
2015
0
                            if (ossl_likely(strcmp("-digest", s + 4) == 0)) {
2016
                                /* OSSL_PKEY_PARAM_RSA_MGF1_DIGEST */
2017
0
                                if (ossl_unlikely(r->mgf1_digest != NULL)) {
2018
0
                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2019
0
                                                   "param %s is repeated", s);
2020
0
                                    return 0;
2021
0
                                }
2022
0
                                r->mgf1_digest = (OSSL_PARAM *)p;
2023
0
                            }
2024
0
                            break;
2025
0
                        case '\0':
2026
0
                            if (ossl_unlikely(r->maskgenfunc != NULL)) {
2027
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2028
0
                                               "param %s is repeated", s);
2029
0
                                return 0;
2030
0
                            }
2031
0
                            r->maskgenfunc = (OSSL_PARAM *)p;
2032
0
                        }
2033
0
                    }
2034
0
                }
2035
0
                break;
2036
0
            case 's':
2037
0
                if (ossl_likely(strcmp("altlen", s + 1) == 0)) {
2038
                    /* OSSL_PKEY_PARAM_RSA_PSS_SALTLEN */
2039
0
                    if (ossl_unlikely(r->pss_saltlen != NULL)) {
2040
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2041
0
                                       "param %s is repeated", s);
2042
0
                        return 0;
2043
0
                    }
2044
0
                    r->pss_saltlen = (OSSL_PARAM *)p;
2045
0
                }
2046
0
            }
2047
0
    return 1;
2048
0
}
Unexecuted instantiation: rsa_backend.c:rsa_pss_todata_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsa_pss_todata_decoder
Unexecuted instantiation: rsa_ameth.c:rsa_pss_todata_decoder
2049
#endif
2050
/* End of machine generated */
2051
2052
/*
2053
 * Parameters processed by plain RSA get_params(), including conditional ACVP
2054
 * data.
2055
 */
2056
#define rsa_get_params_st rsa_params_st
2057
/* Machine generated */
2058
#ifndef rsa_get_params_list
2059
static ossl_unused const OSSL_PARAM rsa_get_params_list[] = {
2060
    OSSL_PARAM_int(OSSL_PKEY_PARAM_BITS, NULL),
2061
    OSSL_PARAM_int(OSSL_PKEY_PARAM_SECURITY_BITS, NULL),
2062
    OSSL_PARAM_int(OSSL_PKEY_PARAM_MAX_SIZE, NULL),
2063
    OSSL_PARAM_int(OSSL_PKEY_PARAM_SECURITY_CATEGORY, NULL),
2064
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_DEFAULT_DIGEST, NULL, 0),
2065
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
2066
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
2067
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
2068
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
2069
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
2070
# if !defined(FIPS_MODULE)
2071
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
2072
# endif
2073
# if !defined(FIPS_MODULE)
2074
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
2075
# endif
2076
# if !defined(FIPS_MODULE)
2077
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
2078
# endif
2079
# if !defined(FIPS_MODULE)
2080
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
2081
# endif
2082
# if !defined(FIPS_MODULE)
2083
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
2084
# endif
2085
# if !defined(FIPS_MODULE)
2086
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
2087
# endif
2088
# if !defined(FIPS_MODULE)
2089
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
2090
# endif
2091
# if !defined(FIPS_MODULE)
2092
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
2093
# endif
2094
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
2095
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
2096
# if !defined(FIPS_MODULE)
2097
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
2098
# endif
2099
# if !defined(FIPS_MODULE)
2100
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
2101
# endif
2102
# if !defined(FIPS_MODULE)
2103
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
2104
# endif
2105
# if !defined(FIPS_MODULE)
2106
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
2107
# endif
2108
# if !defined(FIPS_MODULE)
2109
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
2110
# endif
2111
# if !defined(FIPS_MODULE)
2112
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
2113
# endif
2114
# if !defined(FIPS_MODULE)
2115
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
2116
# endif
2117
# if !defined(FIPS_MODULE)
2118
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
2119
# endif
2120
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
2121
# if !defined(FIPS_MODULE)
2122
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
2123
# endif
2124
# if !defined(FIPS_MODULE)
2125
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
2126
# endif
2127
# if !defined(FIPS_MODULE)
2128
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
2129
# endif
2130
# if !defined(FIPS_MODULE)
2131
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
2132
# endif
2133
# if !defined(FIPS_MODULE)
2134
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
2135
# endif
2136
# if !defined(FIPS_MODULE)
2137
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
2138
# endif
2139
# if !defined(FIPS_MODULE)
2140
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
2141
# endif
2142
# if !defined(FIPS_MODULE)
2143
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
2144
# endif
2145
# if defined(FIPS_MODULE)
2146
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_P1, NULL, 0),
2147
# endif
2148
# if defined(FIPS_MODULE)
2149
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_P2, NULL, 0),
2150
# endif
2151
# if defined(FIPS_MODULE)
2152
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_Q1, NULL, 0),
2153
# endif
2154
# if defined(FIPS_MODULE)
2155
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_Q2, NULL, 0),
2156
# endif
2157
    OSSL_PARAM_END
2158
};
2159
#endif
2160
2161
#ifndef rsa_get_params_st
2162
struct rsa_get_params_st {
2163
    OSSL_PARAM *bits;
2164
    OSSL_PARAM *d;
2165
    OSSL_PARAM *default_digest;
2166
    OSSL_PARAM *e;
2167
# if defined(FIPS_MODULE)
2168
    OSSL_PARAM *fips.p1;
2169
# endif
2170
# if defined(FIPS_MODULE)
2171
    OSSL_PARAM *fips.p2;
2172
# endif
2173
# if defined(FIPS_MODULE)
2174
    OSSL_PARAM *fips.q1;
2175
# endif
2176
# if defined(FIPS_MODULE)
2177
    OSSL_PARAM *fips.q2;
2178
# endif
2179
    OSSL_PARAM *maxsize;
2180
    OSSL_PARAM *mp.coeffs[0];
2181
# if !defined(FIPS_MODULE)
2182
    OSSL_PARAM *mp.coeffs[1];
2183
# endif
2184
# if !defined(FIPS_MODULE)
2185
    OSSL_PARAM *mp.coeffs[2];
2186
# endif
2187
# if !defined(FIPS_MODULE)
2188
    OSSL_PARAM *mp.coeffs[3];
2189
# endif
2190
# if !defined(FIPS_MODULE)
2191
    OSSL_PARAM *mp.coeffs[4];
2192
# endif
2193
# if !defined(FIPS_MODULE)
2194
    OSSL_PARAM *mp.coeffs[5];
2195
# endif
2196
# if !defined(FIPS_MODULE)
2197
    OSSL_PARAM *mp.coeffs[6];
2198
# endif
2199
# if !defined(FIPS_MODULE)
2200
    OSSL_PARAM *mp.coeffs[7];
2201
# endif
2202
# if !defined(FIPS_MODULE)
2203
    OSSL_PARAM *mp.coeffs[8];
2204
# endif
2205
    OSSL_PARAM *mp.exps[0];
2206
    OSSL_PARAM *mp.exps[1];
2207
# if !defined(FIPS_MODULE)
2208
    OSSL_PARAM *mp.exps[2];
2209
# endif
2210
# if !defined(FIPS_MODULE)
2211
    OSSL_PARAM *mp.exps[3];
2212
# endif
2213
# if !defined(FIPS_MODULE)
2214
    OSSL_PARAM *mp.exps[4];
2215
# endif
2216
# if !defined(FIPS_MODULE)
2217
    OSSL_PARAM *mp.exps[5];
2218
# endif
2219
# if !defined(FIPS_MODULE)
2220
    OSSL_PARAM *mp.exps[6];
2221
# endif
2222
# if !defined(FIPS_MODULE)
2223
    OSSL_PARAM *mp.exps[7];
2224
# endif
2225
# if !defined(FIPS_MODULE)
2226
    OSSL_PARAM *mp.exps[8];
2227
# endif
2228
# if !defined(FIPS_MODULE)
2229
    OSSL_PARAM *mp.exps[9];
2230
# endif
2231
    OSSL_PARAM *mp.factors[0];
2232
    OSSL_PARAM *mp.factors[1];
2233
# if !defined(FIPS_MODULE)
2234
    OSSL_PARAM *mp.factors[2];
2235
# endif
2236
# if !defined(FIPS_MODULE)
2237
    OSSL_PARAM *mp.factors[3];
2238
# endif
2239
# if !defined(FIPS_MODULE)
2240
    OSSL_PARAM *mp.factors[4];
2241
# endif
2242
# if !defined(FIPS_MODULE)
2243
    OSSL_PARAM *mp.factors[5];
2244
# endif
2245
# if !defined(FIPS_MODULE)
2246
    OSSL_PARAM *mp.factors[6];
2247
# endif
2248
# if !defined(FIPS_MODULE)
2249
    OSSL_PARAM *mp.factors[7];
2250
# endif
2251
# if !defined(FIPS_MODULE)
2252
    OSSL_PARAM *mp.factors[8];
2253
# endif
2254
# if !defined(FIPS_MODULE)
2255
    OSSL_PARAM *mp.factors[9];
2256
# endif
2257
    OSSL_PARAM *n;
2258
    OSSL_PARAM *secbits;
2259
    OSSL_PARAM *seccat;
2260
};
2261
#endif
2262
2263
#ifndef rsa_get_params_decoder
2264
static ossl_unused int rsa_get_params_decoder
2265
    (const OSSL_PARAM *p, struct rsa_get_params_st *r)
2266
28.6k
{
2267
28.6k
    const char *s;
2268
2269
28.6k
    memset(r, 0, sizeof(*r));
2270
28.6k
    if (p != NULL)
2271
143k
        for (; (s = p->key) != NULL; p++)
2272
114k
            switch(s[0]) {
2273
0
            default:
2274
0
                break;
2275
28.6k
            case 'b':
2276
28.6k
                if (ossl_likely(strcmp("its", s + 1) == 0)) {
2277
                    /* OSSL_PKEY_PARAM_BITS */
2278
28.6k
                    if (ossl_unlikely(r->bits != NULL)) {
2279
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2280
0
                                       "param %s is repeated", s);
2281
0
                        return 0;
2282
0
                    }
2283
28.6k
                    r->bits = (OSSL_PARAM *)p;
2284
28.6k
                }
2285
28.6k
                break;
2286
28.6k
            case 'd':
2287
0
                switch(s[1]) {
2288
0
                default:
2289
0
                    break;
2290
0
                case 'e':
2291
0
                    if (ossl_likely(strcmp("fault-digest", s + 2) == 0)) {
2292
                        /* OSSL_PKEY_PARAM_DEFAULT_DIGEST */
2293
0
                        if (ossl_unlikely(r->default_digest != NULL)) {
2294
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2295
0
                                           "param %s is repeated", s);
2296
0
                            return 0;
2297
0
                        }
2298
0
                        r->default_digest = (OSSL_PARAM *)p;
2299
0
                    }
2300
0
                    break;
2301
0
                case '\0':
2302
0
                    if (ossl_unlikely(r->d != NULL)) {
2303
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2304
0
                                       "param %s is repeated", s);
2305
0
                        return 0;
2306
0
                    }
2307
0
                    r->d = (OSSL_PARAM *)p;
2308
0
                }
2309
0
                break;
2310
0
            case 'e':
2311
0
                switch(s[1]) {
2312
0
                default:
2313
0
                    break;
2314
0
                case '\0':
2315
0
                    if (ossl_unlikely(r->e != NULL)) {
2316
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2317
0
                                       "param %s is repeated", s);
2318
0
                        return 0;
2319
0
                    }
2320
0
                    r->e = (OSSL_PARAM *)p;
2321
0
                }
2322
0
                break;
2323
28.6k
            case 'm':
2324
28.6k
                if (ossl_likely(strcmp("ax-size", s + 1) == 0)) {
2325
                    /* OSSL_PKEY_PARAM_MAX_SIZE */
2326
28.6k
                    if (ossl_unlikely(r->maxsize != 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
28.6k
                    r->maxsize = (OSSL_PARAM *)p;
2332
28.6k
                }
2333
28.6k
                break;
2334
28.6k
            case 'n':
2335
0
                switch(s[1]) {
2336
0
                default:
2337
0
                    break;
2338
0
                case '\0':
2339
0
                    if (ossl_unlikely(r->n != NULL)) {
2340
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2341
0
                                       "param %s is repeated", s);
2342
0
                        return 0;
2343
0
                    }
2344
0
                    r->n = (OSSL_PARAM *)p;
2345
0
                }
2346
0
                break;
2347
0
            case 'p':
2348
0
                switch(s[1]) {
2349
0
                default:
2350
0
                    break;
2351
0
                case '1':
2352
0
                    switch(s[2]) {
2353
0
                    default:
2354
0
                        break;
2355
0
                    case '\0':
2356
# if defined(FIPS_MODULE)
2357
                        if (ossl_unlikely(r->fips.p1 != NULL)) {
2358
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2359
                                           "param %s is repeated", s);
2360
                            return 0;
2361
                        }
2362
                        r->fips.p1 = (OSSL_PARAM *)p;
2363
# endif
2364
0
                        break;
2365
0
                    }
2366
0
                    break;
2367
0
                case '2':
2368
0
                    switch(s[2]) {
2369
0
                    default:
2370
0
                        break;
2371
0
                    case '\0':
2372
# if defined(FIPS_MODULE)
2373
                        if (ossl_unlikely(r->fips.p2 != NULL)) {
2374
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2375
                                           "param %s is repeated", s);
2376
                            return 0;
2377
                        }
2378
                        r->fips.p2 = (OSSL_PARAM *)p;
2379
# endif
2380
0
                        break;
2381
0
                    }
2382
0
                    break;
2383
0
                }
2384
0
                break;
2385
0
            case 'q':
2386
0
                switch(s[1]) {
2387
0
                default:
2388
0
                    break;
2389
0
                case '1':
2390
0
                    switch(s[2]) {
2391
0
                    default:
2392
0
                        break;
2393
0
                    case '\0':
2394
# if defined(FIPS_MODULE)
2395
                        if (ossl_unlikely(r->fips.q1 != NULL)) {
2396
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2397
                                           "param %s is repeated", s);
2398
                            return 0;
2399
                        }
2400
                        r->fips.q1 = (OSSL_PARAM *)p;
2401
# endif
2402
0
                        break;
2403
0
                    }
2404
0
                    break;
2405
0
                case '2':
2406
0
                    switch(s[2]) {
2407
0
                    default:
2408
0
                        break;
2409
0
                    case '\0':
2410
# if defined(FIPS_MODULE)
2411
                        if (ossl_unlikely(r->fips.q2 != NULL)) {
2412
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2413
                                           "param %s is repeated", s);
2414
                            return 0;
2415
                        }
2416
                        r->fips.q2 = (OSSL_PARAM *)p;
2417
# endif
2418
0
                        break;
2419
0
                    }
2420
0
                    break;
2421
0
                }
2422
0
                break;
2423
0
            case 'r':
2424
0
                switch(s[1]) {
2425
0
                default:
2426
0
                    break;
2427
0
                case 's':
2428
0
                    switch(s[2]) {
2429
0
                    default:
2430
0
                        break;
2431
0
                    case 'a':
2432
0
                        switch(s[3]) {
2433
0
                        default:
2434
0
                            break;
2435
0
                        case '-':
2436
0
                            switch(s[4]) {
2437
0
                            default:
2438
0
                                break;
2439
0
                            case 'c':
2440
0
                                switch(s[5]) {
2441
0
                                default:
2442
0
                                    break;
2443
0
                                case 'o':
2444
0
                                    switch(s[6]) {
2445
0
                                    default:
2446
0
                                        break;
2447
0
                                    case 'e':
2448
0
                                        switch(s[7]) {
2449
0
                                        default:
2450
0
                                            break;
2451
0
                                        case 'f':
2452
0
                                            switch(s[8]) {
2453
0
                                            default:
2454
0
                                                break;
2455
0
                                            case 'f':
2456
0
                                                switch(s[9]) {
2457
0
                                                default:
2458
0
                                                    break;
2459
0
                                                case 'i':
2460
0
                                                    switch(s[10]) {
2461
0
                                                    default:
2462
0
                                                        break;
2463
0
                                                    case 'c':
2464
0
                                                        switch(s[11]) {
2465
0
                                                        default:
2466
0
                                                            break;
2467
0
                                                        case 'i':
2468
0
                                                            switch(s[12]) {
2469
0
                                                            default:
2470
0
                                                                break;
2471
0
                                                            case 'e':
2472
0
                                                                switch(s[13]) {
2473
0
                                                                default:
2474
0
                                                                    break;
2475
0
                                                                case 'n':
2476
0
                                                                    switch(s[14]) {
2477
0
                                                                    default:
2478
0
                                                                        break;
2479
0
                                                                    case 't':
2480
0
                                                                        switch(s[15]) {
2481
0
                                                                        default:
2482
0
                                                                            break;
2483
0
                                                                        case '1':
2484
0
                                                                            switch(s[16]) {
2485
0
                                                                            default:
2486
0
                                                                                break;
2487
0
                                                                            case '\0':
2488
0
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
2489
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2490
0
                                                                                                   "param %s is repeated", s);
2491
0
                                                                                    return 0;
2492
0
                                                                                }
2493
0
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
2494
0
                                                                            }
2495
0
                                                                            break;
2496
0
                                                                        case '2':
2497
0
                                                                            switch(s[16]) {
2498
0
                                                                            default:
2499
0
                                                                                break;
2500
0
                                                                            case '\0':
2501
0
# if !defined(FIPS_MODULE)
2502
0
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
2503
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2504
0
                                                                                                   "param %s is repeated", s);
2505
0
                                                                                    return 0;
2506
0
                                                                                }
2507
0
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
2508
0
# endif
2509
0
                                                                                break;
2510
0
                                                                            }
2511
0
                                                                            break;
2512
0
                                                                        case '3':
2513
0
                                                                            switch(s[16]) {
2514
0
                                                                            default:
2515
0
                                                                                break;
2516
0
                                                                            case '\0':
2517
0
# if !defined(FIPS_MODULE)
2518
0
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
2519
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2520
0
                                                                                                   "param %s is repeated", s);
2521
0
                                                                                    return 0;
2522
0
                                                                                }
2523
0
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
2524
0
# endif
2525
0
                                                                                break;
2526
0
                                                                            }
2527
0
                                                                            break;
2528
0
                                                                        case '4':
2529
0
                                                                            switch(s[16]) {
2530
0
                                                                            default:
2531
0
                                                                                break;
2532
0
                                                                            case '\0':
2533
0
# if !defined(FIPS_MODULE)
2534
0
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
2535
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2536
0
                                                                                                   "param %s is repeated", s);
2537
0
                                                                                    return 0;
2538
0
                                                                                }
2539
0
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
2540
0
# endif
2541
0
                                                                                break;
2542
0
                                                                            }
2543
0
                                                                            break;
2544
0
                                                                        case '5':
2545
0
                                                                            switch(s[16]) {
2546
0
                                                                            default:
2547
0
                                                                                break;
2548
0
                                                                            case '\0':
2549
0
# if !defined(FIPS_MODULE)
2550
0
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
2551
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2552
0
                                                                                                   "param %s is repeated", s);
2553
0
                                                                                    return 0;
2554
0
                                                                                }
2555
0
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
2556
0
# endif
2557
0
                                                                                break;
2558
0
                                                                            }
2559
0
                                                                            break;
2560
0
                                                                        case '6':
2561
0
                                                                            switch(s[16]) {
2562
0
                                                                            default:
2563
0
                                                                                break;
2564
0
                                                                            case '\0':
2565
0
# if !defined(FIPS_MODULE)
2566
0
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
2567
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2568
0
                                                                                                   "param %s is repeated", s);
2569
0
                                                                                    return 0;
2570
0
                                                                                }
2571
0
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
2572
0
# endif
2573
0
                                                                                break;
2574
0
                                                                            }
2575
0
                                                                            break;
2576
0
                                                                        case '7':
2577
0
                                                                            switch(s[16]) {
2578
0
                                                                            default:
2579
0
                                                                                break;
2580
0
                                                                            case '\0':
2581
0
# if !defined(FIPS_MODULE)
2582
0
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
2583
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2584
0
                                                                                                   "param %s is repeated", s);
2585
0
                                                                                    return 0;
2586
0
                                                                                }
2587
0
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
2588
0
# endif
2589
0
                                                                                break;
2590
0
                                                                            }
2591
0
                                                                            break;
2592
0
                                                                        case '8':
2593
0
                                                                            switch(s[16]) {
2594
0
                                                                            default:
2595
0
                                                                                break;
2596
0
                                                                            case '\0':
2597
0
# if !defined(FIPS_MODULE)
2598
0
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
2599
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2600
0
                                                                                                   "param %s is repeated", s);
2601
0
                                                                                    return 0;
2602
0
                                                                                }
2603
0
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
2604
0
# endif
2605
0
                                                                                break;
2606
0
                                                                            }
2607
0
                                                                            break;
2608
0
                                                                        case '9':
2609
0
                                                                            switch(s[16]) {
2610
0
                                                                            default:
2611
0
                                                                                break;
2612
0
                                                                            case '\0':
2613
0
# if !defined(FIPS_MODULE)
2614
0
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
2615
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2616
0
                                                                                                   "param %s is repeated", s);
2617
0
                                                                                    return 0;
2618
0
                                                                                }
2619
0
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
2620
0
# endif
2621
0
                                                                                break;
2622
0
                                                                            }
2623
0
                                                                            break;
2624
0
                                                                        }
2625
0
                                                                        break;
2626
0
                                                                    }
2627
0
                                                                    break;
2628
0
                                                                }
2629
0
                                                                break;
2630
0
                                                            }
2631
0
                                                            break;
2632
0
                                                        }
2633
0
                                                        break;
2634
0
                                                    }
2635
0
                                                    break;
2636
0
                                                }
2637
0
                                                break;
2638
0
                                            }
2639
0
                                            break;
2640
0
                                        }
2641
0
                                        break;
2642
0
                                    }
2643
0
                                    break;
2644
0
                                }
2645
0
                                break;
2646
0
                            case 'e':
2647
0
                                switch(s[5]) {
2648
0
                                default:
2649
0
                                    break;
2650
0
                                case 'x':
2651
0
                                    switch(s[6]) {
2652
0
                                    default:
2653
0
                                        break;
2654
0
                                    case 'p':
2655
0
                                        switch(s[7]) {
2656
0
                                        default:
2657
0
                                            break;
2658
0
                                        case 'o':
2659
0
                                            switch(s[8]) {
2660
0
                                            default:
2661
0
                                                break;
2662
0
                                            case 'n':
2663
0
                                                switch(s[9]) {
2664
0
                                                default:
2665
0
                                                    break;
2666
0
                                                case 'e':
2667
0
                                                    switch(s[10]) {
2668
0
                                                    default:
2669
0
                                                        break;
2670
0
                                                    case 'n':
2671
0
                                                        switch(s[11]) {
2672
0
                                                        default:
2673
0
                                                            break;
2674
0
                                                        case 't':
2675
0
                                                            switch(s[12]) {
2676
0
                                                            default:
2677
0
                                                                break;
2678
0
                                                            case '1':
2679
0
                                                                switch(s[13]) {
2680
0
                                                                default:
2681
0
                                                                    break;
2682
0
                                                                case '0':
2683
0
                                                                    switch(s[14]) {
2684
0
                                                                    default:
2685
0
                                                                        break;
2686
0
                                                                    case '\0':
2687
0
# if !defined(FIPS_MODULE)
2688
0
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
2689
0
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2690
0
                                                                                           "param %s is repeated", s);
2691
0
                                                                            return 0;
2692
0
                                                                        }
2693
0
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
2694
0
# endif
2695
0
                                                                        break;
2696
0
                                                                    }
2697
0
                                                                    break;
2698
0
                                                                case '\0':
2699
0
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
2700
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2701
0
                                                                                       "param %s is repeated", s);
2702
0
                                                                        return 0;
2703
0
                                                                    }
2704
0
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
2705
0
                                                                }
2706
0
                                                                break;
2707
0
                                                            case '2':
2708
0
                                                                switch(s[13]) {
2709
0
                                                                default:
2710
0
                                                                    break;
2711
0
                                                                case '\0':
2712
0
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
2713
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2714
0
                                                                                       "param %s is repeated", s);
2715
0
                                                                        return 0;
2716
0
                                                                    }
2717
0
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
2718
0
                                                                }
2719
0
                                                                break;
2720
0
                                                            case '3':
2721
0
                                                                switch(s[13]) {
2722
0
                                                                default:
2723
0
                                                                    break;
2724
0
                                                                case '\0':
2725
0
# if !defined(FIPS_MODULE)
2726
0
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
2727
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2728
0
                                                                                       "param %s is repeated", s);
2729
0
                                                                        return 0;
2730
0
                                                                    }
2731
0
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
2732
0
# endif
2733
0
                                                                    break;
2734
0
                                                                }
2735
0
                                                                break;
2736
0
                                                            case '4':
2737
0
                                                                switch(s[13]) {
2738
0
                                                                default:
2739
0
                                                                    break;
2740
0
                                                                case '\0':
2741
0
# if !defined(FIPS_MODULE)
2742
0
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
2743
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2744
0
                                                                                       "param %s is repeated", s);
2745
0
                                                                        return 0;
2746
0
                                                                    }
2747
0
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
2748
0
# endif
2749
0
                                                                    break;
2750
0
                                                                }
2751
0
                                                                break;
2752
0
                                                            case '5':
2753
0
                                                                switch(s[13]) {
2754
0
                                                                default:
2755
0
                                                                    break;
2756
0
                                                                case '\0':
2757
0
# if !defined(FIPS_MODULE)
2758
0
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
2759
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2760
0
                                                                                       "param %s is repeated", s);
2761
0
                                                                        return 0;
2762
0
                                                                    }
2763
0
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
2764
0
# endif
2765
0
                                                                    break;
2766
0
                                                                }
2767
0
                                                                break;
2768
0
                                                            case '6':
2769
0
                                                                switch(s[13]) {
2770
0
                                                                default:
2771
0
                                                                    break;
2772
0
                                                                case '\0':
2773
0
# if !defined(FIPS_MODULE)
2774
0
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
2775
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2776
0
                                                                                       "param %s is repeated", s);
2777
0
                                                                        return 0;
2778
0
                                                                    }
2779
0
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
2780
0
# endif
2781
0
                                                                    break;
2782
0
                                                                }
2783
0
                                                                break;
2784
0
                                                            case '7':
2785
0
                                                                switch(s[13]) {
2786
0
                                                                default:
2787
0
                                                                    break;
2788
0
                                                                case '\0':
2789
0
# if !defined(FIPS_MODULE)
2790
0
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
2791
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2792
0
                                                                                       "param %s is repeated", s);
2793
0
                                                                        return 0;
2794
0
                                                                    }
2795
0
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
2796
0
# endif
2797
0
                                                                    break;
2798
0
                                                                }
2799
0
                                                                break;
2800
0
                                                            case '8':
2801
0
                                                                switch(s[13]) {
2802
0
                                                                default:
2803
0
                                                                    break;
2804
0
                                                                case '\0':
2805
0
# if !defined(FIPS_MODULE)
2806
0
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
2807
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2808
0
                                                                                       "param %s is repeated", s);
2809
0
                                                                        return 0;
2810
0
                                                                    }
2811
0
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
2812
0
# endif
2813
0
                                                                    break;
2814
0
                                                                }
2815
0
                                                                break;
2816
0
                                                            case '9':
2817
0
                                                                switch(s[13]) {
2818
0
                                                                default:
2819
0
                                                                    break;
2820
0
                                                                case '\0':
2821
0
# if !defined(FIPS_MODULE)
2822
0
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
2823
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2824
0
                                                                                       "param %s is repeated", s);
2825
0
                                                                        return 0;
2826
0
                                                                    }
2827
0
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
2828
0
# endif
2829
0
                                                                    break;
2830
0
                                                                }
2831
0
                                                                break;
2832
0
                                                            }
2833
0
                                                            break;
2834
0
                                                        }
2835
0
                                                        break;
2836
0
                                                    }
2837
0
                                                    break;
2838
0
                                                }
2839
0
                                                break;
2840
0
                                            }
2841
0
                                            break;
2842
0
                                        }
2843
0
                                        break;
2844
0
                                    }
2845
0
                                    break;
2846
0
                                }
2847
0
                                break;
2848
0
                            case 'f':
2849
0
                                switch(s[5]) {
2850
0
                                default:
2851
0
                                    break;
2852
0
                                case 'a':
2853
0
                                    switch(s[6]) {
2854
0
                                    default:
2855
0
                                        break;
2856
0
                                    case 'c':
2857
0
                                        switch(s[7]) {
2858
0
                                        default:
2859
0
                                            break;
2860
0
                                        case 't':
2861
0
                                            switch(s[8]) {
2862
0
                                            default:
2863
0
                                                break;
2864
0
                                            case 'o':
2865
0
                                                switch(s[9]) {
2866
0
                                                default:
2867
0
                                                    break;
2868
0
                                                case 'r':
2869
0
                                                    switch(s[10]) {
2870
0
                                                    default:
2871
0
                                                        break;
2872
0
                                                    case '1':
2873
0
                                                        switch(s[11]) {
2874
0
                                                        default:
2875
0
                                                            break;
2876
0
                                                        case '0':
2877
0
                                                            switch(s[12]) {
2878
0
                                                            default:
2879
0
                                                                break;
2880
0
                                                            case '\0':
2881
0
# if !defined(FIPS_MODULE)
2882
0
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
2883
0
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2884
0
                                                                                   "param %s is repeated", s);
2885
0
                                                                    return 0;
2886
0
                                                                }
2887
0
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
2888
0
# endif
2889
0
                                                                break;
2890
0
                                                            }
2891
0
                                                            break;
2892
0
                                                        case '\0':
2893
0
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
2894
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2895
0
                                                                               "param %s is repeated", s);
2896
0
                                                                return 0;
2897
0
                                                            }
2898
0
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
2899
0
                                                        }
2900
0
                                                        break;
2901
0
                                                    case '2':
2902
0
                                                        switch(s[11]) {
2903
0
                                                        default:
2904
0
                                                            break;
2905
0
                                                        case '\0':
2906
0
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
2907
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2908
0
                                                                               "param %s is repeated", s);
2909
0
                                                                return 0;
2910
0
                                                            }
2911
0
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
2912
0
                                                        }
2913
0
                                                        break;
2914
0
                                                    case '3':
2915
0
                                                        switch(s[11]) {
2916
0
                                                        default:
2917
0
                                                            break;
2918
0
                                                        case '\0':
2919
0
# if !defined(FIPS_MODULE)
2920
0
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
2921
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2922
0
                                                                               "param %s is repeated", s);
2923
0
                                                                return 0;
2924
0
                                                            }
2925
0
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
2926
0
# endif
2927
0
                                                            break;
2928
0
                                                        }
2929
0
                                                        break;
2930
0
                                                    case '4':
2931
0
                                                        switch(s[11]) {
2932
0
                                                        default:
2933
0
                                                            break;
2934
0
                                                        case '\0':
2935
0
# if !defined(FIPS_MODULE)
2936
0
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
2937
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2938
0
                                                                               "param %s is repeated", s);
2939
0
                                                                return 0;
2940
0
                                                            }
2941
0
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
2942
0
# endif
2943
0
                                                            break;
2944
0
                                                        }
2945
0
                                                        break;
2946
0
                                                    case '5':
2947
0
                                                        switch(s[11]) {
2948
0
                                                        default:
2949
0
                                                            break;
2950
0
                                                        case '\0':
2951
0
# if !defined(FIPS_MODULE)
2952
0
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
2953
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2954
0
                                                                               "param %s is repeated", s);
2955
0
                                                                return 0;
2956
0
                                                            }
2957
0
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
2958
0
# endif
2959
0
                                                            break;
2960
0
                                                        }
2961
0
                                                        break;
2962
0
                                                    case '6':
2963
0
                                                        switch(s[11]) {
2964
0
                                                        default:
2965
0
                                                            break;
2966
0
                                                        case '\0':
2967
0
# if !defined(FIPS_MODULE)
2968
0
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
2969
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2970
0
                                                                               "param %s is repeated", s);
2971
0
                                                                return 0;
2972
0
                                                            }
2973
0
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
2974
0
# endif
2975
0
                                                            break;
2976
0
                                                        }
2977
0
                                                        break;
2978
0
                                                    case '7':
2979
0
                                                        switch(s[11]) {
2980
0
                                                        default:
2981
0
                                                            break;
2982
0
                                                        case '\0':
2983
0
# if !defined(FIPS_MODULE)
2984
0
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
2985
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2986
0
                                                                               "param %s is repeated", s);
2987
0
                                                                return 0;
2988
0
                                                            }
2989
0
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
2990
0
# endif
2991
0
                                                            break;
2992
0
                                                        }
2993
0
                                                        break;
2994
0
                                                    case '8':
2995
0
                                                        switch(s[11]) {
2996
0
                                                        default:
2997
0
                                                            break;
2998
0
                                                        case '\0':
2999
0
# if !defined(FIPS_MODULE)
3000
0
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
3001
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3002
0
                                                                               "param %s is repeated", s);
3003
0
                                                                return 0;
3004
0
                                                            }
3005
0
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
3006
0
# endif
3007
0
                                                            break;
3008
0
                                                        }
3009
0
                                                        break;
3010
0
                                                    case '9':
3011
0
                                                        switch(s[11]) {
3012
0
                                                        default:
3013
0
                                                            break;
3014
0
                                                        case '\0':
3015
0
# if !defined(FIPS_MODULE)
3016
0
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
3017
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3018
0
                                                                               "param %s is repeated", s);
3019
0
                                                                return 0;
3020
0
                                                            }
3021
0
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
3022
0
# endif
3023
0
                                                            break;
3024
0
                                                        }
3025
0
                                                        break;
3026
0
                                                    }
3027
0
                                                    break;
3028
0
                                                }
3029
0
                                                break;
3030
0
                                            }
3031
0
                                            break;
3032
0
                                        }
3033
0
                                        break;
3034
0
                                    }
3035
0
                                    break;
3036
0
                                }
3037
0
                                break;
3038
0
                            }
3039
0
                            break;
3040
0
                        }
3041
0
                        break;
3042
0
                    }
3043
0
                    break;
3044
0
                }
3045
0
                break;
3046
57.2k
            case 's':
3047
57.2k
                switch(s[1]) {
3048
0
                default:
3049
0
                    break;
3050
57.2k
                case 'e':
3051
57.2k
                    switch(s[2]) {
3052
0
                    default:
3053
0
                        break;
3054
57.2k
                    case 'c':
3055
57.2k
                        switch(s[3]) {
3056
0
                        default:
3057
0
                            break;
3058
57.2k
                        case 'u':
3059
57.2k
                            switch(s[4]) {
3060
0
                            default:
3061
0
                                break;
3062
57.2k
                            case 'r':
3063
57.2k
                                switch(s[5]) {
3064
0
                                default:
3065
0
                                    break;
3066
57.2k
                                case 'i':
3067
57.2k
                                    switch(s[6]) {
3068
0
                                    default:
3069
0
                                        break;
3070
57.2k
                                    case 't':
3071
57.2k
                                        switch(s[7]) {
3072
0
                                        default:
3073
0
                                            break;
3074
57.2k
                                        case 'y':
3075
57.2k
                                            switch(s[8]) {
3076
0
                                            default:
3077
0
                                                break;
3078
57.2k
                                            case '-':
3079
57.2k
                                                switch(s[9]) {
3080
0
                                                default:
3081
0
                                                    break;
3082
28.6k
                                                case 'b':
3083
28.6k
                                                    if (ossl_likely(strcmp("its", s + 10) == 0)) {
3084
                                                        /* OSSL_PKEY_PARAM_SECURITY_BITS */
3085
28.6k
                                                        if (ossl_unlikely(r->secbits != NULL)) {
3086
0
                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3087
0
                                                                           "param %s is repeated", s);
3088
0
                                                            return 0;
3089
0
                                                        }
3090
28.6k
                                                        r->secbits = (OSSL_PARAM *)p;
3091
28.6k
                                                    }
3092
28.6k
                                                    break;
3093
28.6k
                                                case 'c':
3094
28.6k
                                                    if (ossl_likely(strcmp("ategory", s + 10) == 0)) {
3095
                                                        /* OSSL_PKEY_PARAM_SECURITY_CATEGORY */
3096
28.6k
                                                        if (ossl_unlikely(r->seccat != NULL)) {
3097
0
                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3098
0
                                                                           "param %s is repeated", s);
3099
0
                                                            return 0;
3100
0
                                                        }
3101
28.6k
                                                        r->seccat = (OSSL_PARAM *)p;
3102
28.6k
                                                    }
3103
57.2k
                                                }
3104
57.2k
                                            }
3105
57.2k
                                        }
3106
57.2k
                                    }
3107
57.2k
                                }
3108
57.2k
                            }
3109
57.2k
                        }
3110
57.2k
                    }
3111
57.2k
                }
3112
114k
            }
3113
28.6k
    return 1;
3114
28.6k
}
Unexecuted instantiation: rsa_backend.c:rsa_get_params_decoder
rsa_kmgmt.c:rsa_get_params_decoder
Line
Count
Source
2266
28.6k
{
2267
28.6k
    const char *s;
2268
2269
28.6k
    memset(r, 0, sizeof(*r));
2270
28.6k
    if (p != NULL)
2271
143k
        for (; (s = p->key) != NULL; p++)
2272
114k
            switch(s[0]) {
2273
0
            default:
2274
0
                break;
2275
28.6k
            case 'b':
2276
28.6k
                if (ossl_likely(strcmp("its", s + 1) == 0)) {
2277
                    /* OSSL_PKEY_PARAM_BITS */
2278
28.6k
                    if (ossl_unlikely(r->bits != NULL)) {
2279
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2280
0
                                       "param %s is repeated", s);
2281
0
                        return 0;
2282
0
                    }
2283
28.6k
                    r->bits = (OSSL_PARAM *)p;
2284
28.6k
                }
2285
28.6k
                break;
2286
28.6k
            case 'd':
2287
0
                switch(s[1]) {
2288
0
                default:
2289
0
                    break;
2290
0
                case 'e':
2291
0
                    if (ossl_likely(strcmp("fault-digest", s + 2) == 0)) {
2292
                        /* OSSL_PKEY_PARAM_DEFAULT_DIGEST */
2293
0
                        if (ossl_unlikely(r->default_digest != NULL)) {
2294
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2295
0
                                           "param %s is repeated", s);
2296
0
                            return 0;
2297
0
                        }
2298
0
                        r->default_digest = (OSSL_PARAM *)p;
2299
0
                    }
2300
0
                    break;
2301
0
                case '\0':
2302
0
                    if (ossl_unlikely(r->d != NULL)) {
2303
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2304
0
                                       "param %s is repeated", s);
2305
0
                        return 0;
2306
0
                    }
2307
0
                    r->d = (OSSL_PARAM *)p;
2308
0
                }
2309
0
                break;
2310
0
            case 'e':
2311
0
                switch(s[1]) {
2312
0
                default:
2313
0
                    break;
2314
0
                case '\0':
2315
0
                    if (ossl_unlikely(r->e != NULL)) {
2316
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2317
0
                                       "param %s is repeated", s);
2318
0
                        return 0;
2319
0
                    }
2320
0
                    r->e = (OSSL_PARAM *)p;
2321
0
                }
2322
0
                break;
2323
28.6k
            case 'm':
2324
28.6k
                if (ossl_likely(strcmp("ax-size", s + 1) == 0)) {
2325
                    /* OSSL_PKEY_PARAM_MAX_SIZE */
2326
28.6k
                    if (ossl_unlikely(r->maxsize != 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
28.6k
                    r->maxsize = (OSSL_PARAM *)p;
2332
28.6k
                }
2333
28.6k
                break;
2334
28.6k
            case 'n':
2335
0
                switch(s[1]) {
2336
0
                default:
2337
0
                    break;
2338
0
                case '\0':
2339
0
                    if (ossl_unlikely(r->n != NULL)) {
2340
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2341
0
                                       "param %s is repeated", s);
2342
0
                        return 0;
2343
0
                    }
2344
0
                    r->n = (OSSL_PARAM *)p;
2345
0
                }
2346
0
                break;
2347
0
            case 'p':
2348
0
                switch(s[1]) {
2349
0
                default:
2350
0
                    break;
2351
0
                case '1':
2352
0
                    switch(s[2]) {
2353
0
                    default:
2354
0
                        break;
2355
0
                    case '\0':
2356
# if defined(FIPS_MODULE)
2357
                        if (ossl_unlikely(r->fips.p1 != NULL)) {
2358
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2359
                                           "param %s is repeated", s);
2360
                            return 0;
2361
                        }
2362
                        r->fips.p1 = (OSSL_PARAM *)p;
2363
# endif
2364
0
                        break;
2365
0
                    }
2366
0
                    break;
2367
0
                case '2':
2368
0
                    switch(s[2]) {
2369
0
                    default:
2370
0
                        break;
2371
0
                    case '\0':
2372
# if defined(FIPS_MODULE)
2373
                        if (ossl_unlikely(r->fips.p2 != NULL)) {
2374
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2375
                                           "param %s is repeated", s);
2376
                            return 0;
2377
                        }
2378
                        r->fips.p2 = (OSSL_PARAM *)p;
2379
# endif
2380
0
                        break;
2381
0
                    }
2382
0
                    break;
2383
0
                }
2384
0
                break;
2385
0
            case 'q':
2386
0
                switch(s[1]) {
2387
0
                default:
2388
0
                    break;
2389
0
                case '1':
2390
0
                    switch(s[2]) {
2391
0
                    default:
2392
0
                        break;
2393
0
                    case '\0':
2394
# if defined(FIPS_MODULE)
2395
                        if (ossl_unlikely(r->fips.q1 != NULL)) {
2396
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2397
                                           "param %s is repeated", s);
2398
                            return 0;
2399
                        }
2400
                        r->fips.q1 = (OSSL_PARAM *)p;
2401
# endif
2402
0
                        break;
2403
0
                    }
2404
0
                    break;
2405
0
                case '2':
2406
0
                    switch(s[2]) {
2407
0
                    default:
2408
0
                        break;
2409
0
                    case '\0':
2410
# if defined(FIPS_MODULE)
2411
                        if (ossl_unlikely(r->fips.q2 != NULL)) {
2412
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2413
                                           "param %s is repeated", s);
2414
                            return 0;
2415
                        }
2416
                        r->fips.q2 = (OSSL_PARAM *)p;
2417
# endif
2418
0
                        break;
2419
0
                    }
2420
0
                    break;
2421
0
                }
2422
0
                break;
2423
0
            case 'r':
2424
0
                switch(s[1]) {
2425
0
                default:
2426
0
                    break;
2427
0
                case 's':
2428
0
                    switch(s[2]) {
2429
0
                    default:
2430
0
                        break;
2431
0
                    case 'a':
2432
0
                        switch(s[3]) {
2433
0
                        default:
2434
0
                            break;
2435
0
                        case '-':
2436
0
                            switch(s[4]) {
2437
0
                            default:
2438
0
                                break;
2439
0
                            case 'c':
2440
0
                                switch(s[5]) {
2441
0
                                default:
2442
0
                                    break;
2443
0
                                case 'o':
2444
0
                                    switch(s[6]) {
2445
0
                                    default:
2446
0
                                        break;
2447
0
                                    case 'e':
2448
0
                                        switch(s[7]) {
2449
0
                                        default:
2450
0
                                            break;
2451
0
                                        case 'f':
2452
0
                                            switch(s[8]) {
2453
0
                                            default:
2454
0
                                                break;
2455
0
                                            case 'f':
2456
0
                                                switch(s[9]) {
2457
0
                                                default:
2458
0
                                                    break;
2459
0
                                                case 'i':
2460
0
                                                    switch(s[10]) {
2461
0
                                                    default:
2462
0
                                                        break;
2463
0
                                                    case 'c':
2464
0
                                                        switch(s[11]) {
2465
0
                                                        default:
2466
0
                                                            break;
2467
0
                                                        case 'i':
2468
0
                                                            switch(s[12]) {
2469
0
                                                            default:
2470
0
                                                                break;
2471
0
                                                            case 'e':
2472
0
                                                                switch(s[13]) {
2473
0
                                                                default:
2474
0
                                                                    break;
2475
0
                                                                case 'n':
2476
0
                                                                    switch(s[14]) {
2477
0
                                                                    default:
2478
0
                                                                        break;
2479
0
                                                                    case 't':
2480
0
                                                                        switch(s[15]) {
2481
0
                                                                        default:
2482
0
                                                                            break;
2483
0
                                                                        case '1':
2484
0
                                                                            switch(s[16]) {
2485
0
                                                                            default:
2486
0
                                                                                break;
2487
0
                                                                            case '\0':
2488
0
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
2489
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2490
0
                                                                                                   "param %s is repeated", s);
2491
0
                                                                                    return 0;
2492
0
                                                                                }
2493
0
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
2494
0
                                                                            }
2495
0
                                                                            break;
2496
0
                                                                        case '2':
2497
0
                                                                            switch(s[16]) {
2498
0
                                                                            default:
2499
0
                                                                                break;
2500
0
                                                                            case '\0':
2501
0
# if !defined(FIPS_MODULE)
2502
0
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
2503
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2504
0
                                                                                                   "param %s is repeated", s);
2505
0
                                                                                    return 0;
2506
0
                                                                                }
2507
0
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
2508
0
# endif
2509
0
                                                                                break;
2510
0
                                                                            }
2511
0
                                                                            break;
2512
0
                                                                        case '3':
2513
0
                                                                            switch(s[16]) {
2514
0
                                                                            default:
2515
0
                                                                                break;
2516
0
                                                                            case '\0':
2517
0
# if !defined(FIPS_MODULE)
2518
0
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
2519
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2520
0
                                                                                                   "param %s is repeated", s);
2521
0
                                                                                    return 0;
2522
0
                                                                                }
2523
0
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
2524
0
# endif
2525
0
                                                                                break;
2526
0
                                                                            }
2527
0
                                                                            break;
2528
0
                                                                        case '4':
2529
0
                                                                            switch(s[16]) {
2530
0
                                                                            default:
2531
0
                                                                                break;
2532
0
                                                                            case '\0':
2533
0
# if !defined(FIPS_MODULE)
2534
0
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
2535
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2536
0
                                                                                                   "param %s is repeated", s);
2537
0
                                                                                    return 0;
2538
0
                                                                                }
2539
0
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
2540
0
# endif
2541
0
                                                                                break;
2542
0
                                                                            }
2543
0
                                                                            break;
2544
0
                                                                        case '5':
2545
0
                                                                            switch(s[16]) {
2546
0
                                                                            default:
2547
0
                                                                                break;
2548
0
                                                                            case '\0':
2549
0
# if !defined(FIPS_MODULE)
2550
0
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
2551
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2552
0
                                                                                                   "param %s is repeated", s);
2553
0
                                                                                    return 0;
2554
0
                                                                                }
2555
0
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
2556
0
# endif
2557
0
                                                                                break;
2558
0
                                                                            }
2559
0
                                                                            break;
2560
0
                                                                        case '6':
2561
0
                                                                            switch(s[16]) {
2562
0
                                                                            default:
2563
0
                                                                                break;
2564
0
                                                                            case '\0':
2565
0
# if !defined(FIPS_MODULE)
2566
0
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
2567
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2568
0
                                                                                                   "param %s is repeated", s);
2569
0
                                                                                    return 0;
2570
0
                                                                                }
2571
0
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
2572
0
# endif
2573
0
                                                                                break;
2574
0
                                                                            }
2575
0
                                                                            break;
2576
0
                                                                        case '7':
2577
0
                                                                            switch(s[16]) {
2578
0
                                                                            default:
2579
0
                                                                                break;
2580
0
                                                                            case '\0':
2581
0
# if !defined(FIPS_MODULE)
2582
0
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
2583
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2584
0
                                                                                                   "param %s is repeated", s);
2585
0
                                                                                    return 0;
2586
0
                                                                                }
2587
0
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
2588
0
# endif
2589
0
                                                                                break;
2590
0
                                                                            }
2591
0
                                                                            break;
2592
0
                                                                        case '8':
2593
0
                                                                            switch(s[16]) {
2594
0
                                                                            default:
2595
0
                                                                                break;
2596
0
                                                                            case '\0':
2597
0
# if !defined(FIPS_MODULE)
2598
0
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
2599
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2600
0
                                                                                                   "param %s is repeated", s);
2601
0
                                                                                    return 0;
2602
0
                                                                                }
2603
0
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
2604
0
# endif
2605
0
                                                                                break;
2606
0
                                                                            }
2607
0
                                                                            break;
2608
0
                                                                        case '9':
2609
0
                                                                            switch(s[16]) {
2610
0
                                                                            default:
2611
0
                                                                                break;
2612
0
                                                                            case '\0':
2613
0
# if !defined(FIPS_MODULE)
2614
0
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
2615
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2616
0
                                                                                                   "param %s is repeated", s);
2617
0
                                                                                    return 0;
2618
0
                                                                                }
2619
0
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
2620
0
# endif
2621
0
                                                                                break;
2622
0
                                                                            }
2623
0
                                                                            break;
2624
0
                                                                        }
2625
0
                                                                        break;
2626
0
                                                                    }
2627
0
                                                                    break;
2628
0
                                                                }
2629
0
                                                                break;
2630
0
                                                            }
2631
0
                                                            break;
2632
0
                                                        }
2633
0
                                                        break;
2634
0
                                                    }
2635
0
                                                    break;
2636
0
                                                }
2637
0
                                                break;
2638
0
                                            }
2639
0
                                            break;
2640
0
                                        }
2641
0
                                        break;
2642
0
                                    }
2643
0
                                    break;
2644
0
                                }
2645
0
                                break;
2646
0
                            case 'e':
2647
0
                                switch(s[5]) {
2648
0
                                default:
2649
0
                                    break;
2650
0
                                case 'x':
2651
0
                                    switch(s[6]) {
2652
0
                                    default:
2653
0
                                        break;
2654
0
                                    case 'p':
2655
0
                                        switch(s[7]) {
2656
0
                                        default:
2657
0
                                            break;
2658
0
                                        case 'o':
2659
0
                                            switch(s[8]) {
2660
0
                                            default:
2661
0
                                                break;
2662
0
                                            case 'n':
2663
0
                                                switch(s[9]) {
2664
0
                                                default:
2665
0
                                                    break;
2666
0
                                                case 'e':
2667
0
                                                    switch(s[10]) {
2668
0
                                                    default:
2669
0
                                                        break;
2670
0
                                                    case 'n':
2671
0
                                                        switch(s[11]) {
2672
0
                                                        default:
2673
0
                                                            break;
2674
0
                                                        case 't':
2675
0
                                                            switch(s[12]) {
2676
0
                                                            default:
2677
0
                                                                break;
2678
0
                                                            case '1':
2679
0
                                                                switch(s[13]) {
2680
0
                                                                default:
2681
0
                                                                    break;
2682
0
                                                                case '0':
2683
0
                                                                    switch(s[14]) {
2684
0
                                                                    default:
2685
0
                                                                        break;
2686
0
                                                                    case '\0':
2687
0
# if !defined(FIPS_MODULE)
2688
0
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
2689
0
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2690
0
                                                                                           "param %s is repeated", s);
2691
0
                                                                            return 0;
2692
0
                                                                        }
2693
0
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
2694
0
# endif
2695
0
                                                                        break;
2696
0
                                                                    }
2697
0
                                                                    break;
2698
0
                                                                case '\0':
2699
0
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
2700
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2701
0
                                                                                       "param %s is repeated", s);
2702
0
                                                                        return 0;
2703
0
                                                                    }
2704
0
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
2705
0
                                                                }
2706
0
                                                                break;
2707
0
                                                            case '2':
2708
0
                                                                switch(s[13]) {
2709
0
                                                                default:
2710
0
                                                                    break;
2711
0
                                                                case '\0':
2712
0
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
2713
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2714
0
                                                                                       "param %s is repeated", s);
2715
0
                                                                        return 0;
2716
0
                                                                    }
2717
0
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
2718
0
                                                                }
2719
0
                                                                break;
2720
0
                                                            case '3':
2721
0
                                                                switch(s[13]) {
2722
0
                                                                default:
2723
0
                                                                    break;
2724
0
                                                                case '\0':
2725
0
# if !defined(FIPS_MODULE)
2726
0
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
2727
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2728
0
                                                                                       "param %s is repeated", s);
2729
0
                                                                        return 0;
2730
0
                                                                    }
2731
0
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
2732
0
# endif
2733
0
                                                                    break;
2734
0
                                                                }
2735
0
                                                                break;
2736
0
                                                            case '4':
2737
0
                                                                switch(s[13]) {
2738
0
                                                                default:
2739
0
                                                                    break;
2740
0
                                                                case '\0':
2741
0
# if !defined(FIPS_MODULE)
2742
0
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
2743
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2744
0
                                                                                       "param %s is repeated", s);
2745
0
                                                                        return 0;
2746
0
                                                                    }
2747
0
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
2748
0
# endif
2749
0
                                                                    break;
2750
0
                                                                }
2751
0
                                                                break;
2752
0
                                                            case '5':
2753
0
                                                                switch(s[13]) {
2754
0
                                                                default:
2755
0
                                                                    break;
2756
0
                                                                case '\0':
2757
0
# if !defined(FIPS_MODULE)
2758
0
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
2759
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2760
0
                                                                                       "param %s is repeated", s);
2761
0
                                                                        return 0;
2762
0
                                                                    }
2763
0
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
2764
0
# endif
2765
0
                                                                    break;
2766
0
                                                                }
2767
0
                                                                break;
2768
0
                                                            case '6':
2769
0
                                                                switch(s[13]) {
2770
0
                                                                default:
2771
0
                                                                    break;
2772
0
                                                                case '\0':
2773
0
# if !defined(FIPS_MODULE)
2774
0
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
2775
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2776
0
                                                                                       "param %s is repeated", s);
2777
0
                                                                        return 0;
2778
0
                                                                    }
2779
0
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
2780
0
# endif
2781
0
                                                                    break;
2782
0
                                                                }
2783
0
                                                                break;
2784
0
                                                            case '7':
2785
0
                                                                switch(s[13]) {
2786
0
                                                                default:
2787
0
                                                                    break;
2788
0
                                                                case '\0':
2789
0
# if !defined(FIPS_MODULE)
2790
0
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
2791
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2792
0
                                                                                       "param %s is repeated", s);
2793
0
                                                                        return 0;
2794
0
                                                                    }
2795
0
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
2796
0
# endif
2797
0
                                                                    break;
2798
0
                                                                }
2799
0
                                                                break;
2800
0
                                                            case '8':
2801
0
                                                                switch(s[13]) {
2802
0
                                                                default:
2803
0
                                                                    break;
2804
0
                                                                case '\0':
2805
0
# if !defined(FIPS_MODULE)
2806
0
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
2807
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2808
0
                                                                                       "param %s is repeated", s);
2809
0
                                                                        return 0;
2810
0
                                                                    }
2811
0
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
2812
0
# endif
2813
0
                                                                    break;
2814
0
                                                                }
2815
0
                                                                break;
2816
0
                                                            case '9':
2817
0
                                                                switch(s[13]) {
2818
0
                                                                default:
2819
0
                                                                    break;
2820
0
                                                                case '\0':
2821
0
# if !defined(FIPS_MODULE)
2822
0
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
2823
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2824
0
                                                                                       "param %s is repeated", s);
2825
0
                                                                        return 0;
2826
0
                                                                    }
2827
0
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
2828
0
# endif
2829
0
                                                                    break;
2830
0
                                                                }
2831
0
                                                                break;
2832
0
                                                            }
2833
0
                                                            break;
2834
0
                                                        }
2835
0
                                                        break;
2836
0
                                                    }
2837
0
                                                    break;
2838
0
                                                }
2839
0
                                                break;
2840
0
                                            }
2841
0
                                            break;
2842
0
                                        }
2843
0
                                        break;
2844
0
                                    }
2845
0
                                    break;
2846
0
                                }
2847
0
                                break;
2848
0
                            case 'f':
2849
0
                                switch(s[5]) {
2850
0
                                default:
2851
0
                                    break;
2852
0
                                case 'a':
2853
0
                                    switch(s[6]) {
2854
0
                                    default:
2855
0
                                        break;
2856
0
                                    case 'c':
2857
0
                                        switch(s[7]) {
2858
0
                                        default:
2859
0
                                            break;
2860
0
                                        case 't':
2861
0
                                            switch(s[8]) {
2862
0
                                            default:
2863
0
                                                break;
2864
0
                                            case 'o':
2865
0
                                                switch(s[9]) {
2866
0
                                                default:
2867
0
                                                    break;
2868
0
                                                case 'r':
2869
0
                                                    switch(s[10]) {
2870
0
                                                    default:
2871
0
                                                        break;
2872
0
                                                    case '1':
2873
0
                                                        switch(s[11]) {
2874
0
                                                        default:
2875
0
                                                            break;
2876
0
                                                        case '0':
2877
0
                                                            switch(s[12]) {
2878
0
                                                            default:
2879
0
                                                                break;
2880
0
                                                            case '\0':
2881
0
# if !defined(FIPS_MODULE)
2882
0
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
2883
0
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2884
0
                                                                                   "param %s is repeated", s);
2885
0
                                                                    return 0;
2886
0
                                                                }
2887
0
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
2888
0
# endif
2889
0
                                                                break;
2890
0
                                                            }
2891
0
                                                            break;
2892
0
                                                        case '\0':
2893
0
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
2894
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2895
0
                                                                               "param %s is repeated", s);
2896
0
                                                                return 0;
2897
0
                                                            }
2898
0
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
2899
0
                                                        }
2900
0
                                                        break;
2901
0
                                                    case '2':
2902
0
                                                        switch(s[11]) {
2903
0
                                                        default:
2904
0
                                                            break;
2905
0
                                                        case '\0':
2906
0
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
2907
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2908
0
                                                                               "param %s is repeated", s);
2909
0
                                                                return 0;
2910
0
                                                            }
2911
0
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
2912
0
                                                        }
2913
0
                                                        break;
2914
0
                                                    case '3':
2915
0
                                                        switch(s[11]) {
2916
0
                                                        default:
2917
0
                                                            break;
2918
0
                                                        case '\0':
2919
0
# if !defined(FIPS_MODULE)
2920
0
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
2921
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2922
0
                                                                               "param %s is repeated", s);
2923
0
                                                                return 0;
2924
0
                                                            }
2925
0
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
2926
0
# endif
2927
0
                                                            break;
2928
0
                                                        }
2929
0
                                                        break;
2930
0
                                                    case '4':
2931
0
                                                        switch(s[11]) {
2932
0
                                                        default:
2933
0
                                                            break;
2934
0
                                                        case '\0':
2935
0
# if !defined(FIPS_MODULE)
2936
0
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
2937
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2938
0
                                                                               "param %s is repeated", s);
2939
0
                                                                return 0;
2940
0
                                                            }
2941
0
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
2942
0
# endif
2943
0
                                                            break;
2944
0
                                                        }
2945
0
                                                        break;
2946
0
                                                    case '5':
2947
0
                                                        switch(s[11]) {
2948
0
                                                        default:
2949
0
                                                            break;
2950
0
                                                        case '\0':
2951
0
# if !defined(FIPS_MODULE)
2952
0
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
2953
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2954
0
                                                                               "param %s is repeated", s);
2955
0
                                                                return 0;
2956
0
                                                            }
2957
0
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
2958
0
# endif
2959
0
                                                            break;
2960
0
                                                        }
2961
0
                                                        break;
2962
0
                                                    case '6':
2963
0
                                                        switch(s[11]) {
2964
0
                                                        default:
2965
0
                                                            break;
2966
0
                                                        case '\0':
2967
0
# if !defined(FIPS_MODULE)
2968
0
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
2969
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2970
0
                                                                               "param %s is repeated", s);
2971
0
                                                                return 0;
2972
0
                                                            }
2973
0
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
2974
0
# endif
2975
0
                                                            break;
2976
0
                                                        }
2977
0
                                                        break;
2978
0
                                                    case '7':
2979
0
                                                        switch(s[11]) {
2980
0
                                                        default:
2981
0
                                                            break;
2982
0
                                                        case '\0':
2983
0
# if !defined(FIPS_MODULE)
2984
0
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
2985
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
2986
0
                                                                               "param %s is repeated", s);
2987
0
                                                                return 0;
2988
0
                                                            }
2989
0
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
2990
0
# endif
2991
0
                                                            break;
2992
0
                                                        }
2993
0
                                                        break;
2994
0
                                                    case '8':
2995
0
                                                        switch(s[11]) {
2996
0
                                                        default:
2997
0
                                                            break;
2998
0
                                                        case '\0':
2999
0
# if !defined(FIPS_MODULE)
3000
0
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
3001
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3002
0
                                                                               "param %s is repeated", s);
3003
0
                                                                return 0;
3004
0
                                                            }
3005
0
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
3006
0
# endif
3007
0
                                                            break;
3008
0
                                                        }
3009
0
                                                        break;
3010
0
                                                    case '9':
3011
0
                                                        switch(s[11]) {
3012
0
                                                        default:
3013
0
                                                            break;
3014
0
                                                        case '\0':
3015
0
# if !defined(FIPS_MODULE)
3016
0
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
3017
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3018
0
                                                                               "param %s is repeated", s);
3019
0
                                                                return 0;
3020
0
                                                            }
3021
0
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
3022
0
# endif
3023
0
                                                            break;
3024
0
                                                        }
3025
0
                                                        break;
3026
0
                                                    }
3027
0
                                                    break;
3028
0
                                                }
3029
0
                                                break;
3030
0
                                            }
3031
0
                                            break;
3032
0
                                        }
3033
0
                                        break;
3034
0
                                    }
3035
0
                                    break;
3036
0
                                }
3037
0
                                break;
3038
0
                            }
3039
0
                            break;
3040
0
                        }
3041
0
                        break;
3042
0
                    }
3043
0
                    break;
3044
0
                }
3045
0
                break;
3046
57.2k
            case 's':
3047
57.2k
                switch(s[1]) {
3048
0
                default:
3049
0
                    break;
3050
57.2k
                case 'e':
3051
57.2k
                    switch(s[2]) {
3052
0
                    default:
3053
0
                        break;
3054
57.2k
                    case 'c':
3055
57.2k
                        switch(s[3]) {
3056
0
                        default:
3057
0
                            break;
3058
57.2k
                        case 'u':
3059
57.2k
                            switch(s[4]) {
3060
0
                            default:
3061
0
                                break;
3062
57.2k
                            case 'r':
3063
57.2k
                                switch(s[5]) {
3064
0
                                default:
3065
0
                                    break;
3066
57.2k
                                case 'i':
3067
57.2k
                                    switch(s[6]) {
3068
0
                                    default:
3069
0
                                        break;
3070
57.2k
                                    case 't':
3071
57.2k
                                        switch(s[7]) {
3072
0
                                        default:
3073
0
                                            break;
3074
57.2k
                                        case 'y':
3075
57.2k
                                            switch(s[8]) {
3076
0
                                            default:
3077
0
                                                break;
3078
57.2k
                                            case '-':
3079
57.2k
                                                switch(s[9]) {
3080
0
                                                default:
3081
0
                                                    break;
3082
28.6k
                                                case 'b':
3083
28.6k
                                                    if (ossl_likely(strcmp("its", s + 10) == 0)) {
3084
                                                        /* OSSL_PKEY_PARAM_SECURITY_BITS */
3085
28.6k
                                                        if (ossl_unlikely(r->secbits != NULL)) {
3086
0
                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3087
0
                                                                           "param %s is repeated", s);
3088
0
                                                            return 0;
3089
0
                                                        }
3090
28.6k
                                                        r->secbits = (OSSL_PARAM *)p;
3091
28.6k
                                                    }
3092
28.6k
                                                    break;
3093
28.6k
                                                case 'c':
3094
28.6k
                                                    if (ossl_likely(strcmp("ategory", s + 10) == 0)) {
3095
                                                        /* OSSL_PKEY_PARAM_SECURITY_CATEGORY */
3096
28.6k
                                                        if (ossl_unlikely(r->seccat != NULL)) {
3097
0
                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3098
0
                                                                           "param %s is repeated", s);
3099
0
                                                            return 0;
3100
0
                                                        }
3101
28.6k
                                                        r->seccat = (OSSL_PARAM *)p;
3102
28.6k
                                                    }
3103
57.2k
                                                }
3104
57.2k
                                            }
3105
57.2k
                                        }
3106
57.2k
                                    }
3107
57.2k
                                }
3108
57.2k
                            }
3109
57.2k
                        }
3110
57.2k
                    }
3111
57.2k
                }
3112
114k
            }
3113
28.6k
    return 1;
3114
28.6k
}
Unexecuted instantiation: rsa_ameth.c:rsa_get_params_decoder
3115
#endif
3116
/* End of machine generated */
3117
3118
/* Parameters processed by RSA-PSS get_params(). */
3119
#define rsapss_get_params_st rsa_params_st
3120
/* Machine generated */
3121
#ifndef rsapss_get_params_list
3122
static ossl_unused const OSSL_PARAM rsapss_get_params_list[] = {
3123
    OSSL_PARAM_int(OSSL_PKEY_PARAM_BITS, NULL),
3124
    OSSL_PARAM_int(OSSL_PKEY_PARAM_SECURITY_BITS, NULL),
3125
    OSSL_PARAM_int(OSSL_PKEY_PARAM_MAX_SIZE, NULL),
3126
    OSSL_PARAM_int(OSSL_PKEY_PARAM_SECURITY_CATEGORY, NULL),
3127
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_DEFAULT_DIGEST, NULL, 0),
3128
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_MANDATORY_DIGEST, NULL, 0),
3129
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
3130
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
3131
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
3132
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
3133
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
3134
# if !defined(FIPS_MODULE)
3135
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
3136
# endif
3137
# if !defined(FIPS_MODULE)
3138
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
3139
# endif
3140
# if !defined(FIPS_MODULE)
3141
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
3142
# endif
3143
# if !defined(FIPS_MODULE)
3144
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
3145
# endif
3146
# if !defined(FIPS_MODULE)
3147
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
3148
# endif
3149
# if !defined(FIPS_MODULE)
3150
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
3151
# endif
3152
# if !defined(FIPS_MODULE)
3153
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
3154
# endif
3155
# if !defined(FIPS_MODULE)
3156
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
3157
# endif
3158
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
3159
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
3160
# if !defined(FIPS_MODULE)
3161
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
3162
# endif
3163
# if !defined(FIPS_MODULE)
3164
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
3165
# endif
3166
# if !defined(FIPS_MODULE)
3167
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
3168
# endif
3169
# if !defined(FIPS_MODULE)
3170
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
3171
# endif
3172
# if !defined(FIPS_MODULE)
3173
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
3174
# endif
3175
# if !defined(FIPS_MODULE)
3176
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
3177
# endif
3178
# if !defined(FIPS_MODULE)
3179
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
3180
# endif
3181
# if !defined(FIPS_MODULE)
3182
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
3183
# endif
3184
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
3185
# if !defined(FIPS_MODULE)
3186
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
3187
# endif
3188
# if !defined(FIPS_MODULE)
3189
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
3190
# endif
3191
# if !defined(FIPS_MODULE)
3192
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
3193
# endif
3194
# if !defined(FIPS_MODULE)
3195
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
3196
# endif
3197
# if !defined(FIPS_MODULE)
3198
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
3199
# endif
3200
# if !defined(FIPS_MODULE)
3201
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
3202
# endif
3203
# if !defined(FIPS_MODULE)
3204
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
3205
# endif
3206
# if !defined(FIPS_MODULE)
3207
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
3208
# endif
3209
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST, NULL, 0),
3210
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MASKGENFUNC, NULL, 0),
3211
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MGF1_DIGEST, NULL, 0),
3212
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_PSS_SALTLEN, NULL),
3213
# if defined(FIPS_MODULE)
3214
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_P1, NULL, 0),
3215
# endif
3216
# if defined(FIPS_MODULE)
3217
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_P2, NULL, 0),
3218
# endif
3219
# if defined(FIPS_MODULE)
3220
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_Q1, NULL, 0),
3221
# endif
3222
# if defined(FIPS_MODULE)
3223
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_Q2, NULL, 0),
3224
# endif
3225
    OSSL_PARAM_END
3226
};
3227
#endif
3228
3229
#ifndef rsapss_get_params_st
3230
struct rsapss_get_params_st {
3231
    OSSL_PARAM *bits;
3232
    OSSL_PARAM *d;
3233
    OSSL_PARAM *default_digest;
3234
    OSSL_PARAM *digest;
3235
    OSSL_PARAM *e;
3236
# if defined(FIPS_MODULE)
3237
    OSSL_PARAM *fips.p1;
3238
# endif
3239
# if defined(FIPS_MODULE)
3240
    OSSL_PARAM *fips.p2;
3241
# endif
3242
# if defined(FIPS_MODULE)
3243
    OSSL_PARAM *fips.q1;
3244
# endif
3245
# if defined(FIPS_MODULE)
3246
    OSSL_PARAM *fips.q2;
3247
# endif
3248
    OSSL_PARAM *mandatory_digest;
3249
    OSSL_PARAM *maskgenfunc;
3250
    OSSL_PARAM *maxsize;
3251
    OSSL_PARAM *mgf1_digest;
3252
    OSSL_PARAM *mp.coeffs[0];
3253
# if !defined(FIPS_MODULE)
3254
    OSSL_PARAM *mp.coeffs[1];
3255
# endif
3256
# if !defined(FIPS_MODULE)
3257
    OSSL_PARAM *mp.coeffs[2];
3258
# endif
3259
# if !defined(FIPS_MODULE)
3260
    OSSL_PARAM *mp.coeffs[3];
3261
# endif
3262
# if !defined(FIPS_MODULE)
3263
    OSSL_PARAM *mp.coeffs[4];
3264
# endif
3265
# if !defined(FIPS_MODULE)
3266
    OSSL_PARAM *mp.coeffs[5];
3267
# endif
3268
# if !defined(FIPS_MODULE)
3269
    OSSL_PARAM *mp.coeffs[6];
3270
# endif
3271
# if !defined(FIPS_MODULE)
3272
    OSSL_PARAM *mp.coeffs[7];
3273
# endif
3274
# if !defined(FIPS_MODULE)
3275
    OSSL_PARAM *mp.coeffs[8];
3276
# endif
3277
    OSSL_PARAM *mp.exps[0];
3278
    OSSL_PARAM *mp.exps[1];
3279
# if !defined(FIPS_MODULE)
3280
    OSSL_PARAM *mp.exps[2];
3281
# endif
3282
# if !defined(FIPS_MODULE)
3283
    OSSL_PARAM *mp.exps[3];
3284
# endif
3285
# if !defined(FIPS_MODULE)
3286
    OSSL_PARAM *mp.exps[4];
3287
# endif
3288
# if !defined(FIPS_MODULE)
3289
    OSSL_PARAM *mp.exps[5];
3290
# endif
3291
# if !defined(FIPS_MODULE)
3292
    OSSL_PARAM *mp.exps[6];
3293
# endif
3294
# if !defined(FIPS_MODULE)
3295
    OSSL_PARAM *mp.exps[7];
3296
# endif
3297
# if !defined(FIPS_MODULE)
3298
    OSSL_PARAM *mp.exps[8];
3299
# endif
3300
# if !defined(FIPS_MODULE)
3301
    OSSL_PARAM *mp.exps[9];
3302
# endif
3303
    OSSL_PARAM *mp.factors[0];
3304
    OSSL_PARAM *mp.factors[1];
3305
# if !defined(FIPS_MODULE)
3306
    OSSL_PARAM *mp.factors[2];
3307
# endif
3308
# if !defined(FIPS_MODULE)
3309
    OSSL_PARAM *mp.factors[3];
3310
# endif
3311
# if !defined(FIPS_MODULE)
3312
    OSSL_PARAM *mp.factors[4];
3313
# endif
3314
# if !defined(FIPS_MODULE)
3315
    OSSL_PARAM *mp.factors[5];
3316
# endif
3317
# if !defined(FIPS_MODULE)
3318
    OSSL_PARAM *mp.factors[6];
3319
# endif
3320
# if !defined(FIPS_MODULE)
3321
    OSSL_PARAM *mp.factors[7];
3322
# endif
3323
# if !defined(FIPS_MODULE)
3324
    OSSL_PARAM *mp.factors[8];
3325
# endif
3326
# if !defined(FIPS_MODULE)
3327
    OSSL_PARAM *mp.factors[9];
3328
# endif
3329
    OSSL_PARAM *n;
3330
    OSSL_PARAM *pss_saltlen;
3331
    OSSL_PARAM *secbits;
3332
    OSSL_PARAM *seccat;
3333
};
3334
#endif
3335
3336
#ifndef rsapss_get_params_decoder
3337
static ossl_unused int rsapss_get_params_decoder
3338
    (const OSSL_PARAM *p, struct rsapss_get_params_st *r)
3339
5.97k
{
3340
5.97k
    const char *s;
3341
3342
5.97k
    memset(r, 0, sizeof(*r));
3343
5.97k
    if (p != NULL)
3344
29.8k
        for (; (s = p->key) != NULL; p++)
3345
23.9k
            switch(s[0]) {
3346
0
            default:
3347
0
                break;
3348
5.97k
            case 'b':
3349
5.97k
                if (ossl_likely(strcmp("its", s + 1) == 0)) {
3350
                    /* OSSL_PKEY_PARAM_BITS */
3351
5.97k
                    if (ossl_unlikely(r->bits != NULL)) {
3352
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3353
0
                                       "param %s is repeated", s);
3354
0
                        return 0;
3355
0
                    }
3356
5.97k
                    r->bits = (OSSL_PARAM *)p;
3357
5.97k
                }
3358
5.97k
                break;
3359
5.97k
            case 'd':
3360
0
                switch(s[1]) {
3361
0
                default:
3362
0
                    break;
3363
0
                case 'e':
3364
0
                    if (ossl_likely(strcmp("fault-digest", s + 2) == 0)) {
3365
                        /* OSSL_PKEY_PARAM_DEFAULT_DIGEST */
3366
0
                        if (ossl_unlikely(r->default_digest != 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->default_digest = (OSSL_PARAM *)p;
3372
0
                    }
3373
0
                    break;
3374
0
                case 'i':
3375
0
                    if (ossl_likely(strcmp("gest", s + 2) == 0)) {
3376
                        /* OSSL_PKEY_PARAM_RSA_DIGEST */
3377
0
                        if (ossl_unlikely(r->digest != 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->digest = (OSSL_PARAM *)p;
3383
0
                    }
3384
0
                    break;
3385
0
                case '\0':
3386
0
                    if (ossl_unlikely(r->d != NULL)) {
3387
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3388
0
                                       "param %s is repeated", s);
3389
0
                        return 0;
3390
0
                    }
3391
0
                    r->d = (OSSL_PARAM *)p;
3392
0
                }
3393
0
                break;
3394
0
            case 'e':
3395
0
                switch(s[1]) {
3396
0
                default:
3397
0
                    break;
3398
0
                case '\0':
3399
0
                    if (ossl_unlikely(r->e != NULL)) {
3400
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3401
0
                                       "param %s is repeated", s);
3402
0
                        return 0;
3403
0
                    }
3404
0
                    r->e = (OSSL_PARAM *)p;
3405
0
                }
3406
0
                break;
3407
5.97k
            case 'm':
3408
5.97k
                switch(s[1]) {
3409
0
                default:
3410
0
                    break;
3411
5.97k
                case 'a':
3412
5.97k
                    switch(s[2]) {
3413
0
                    default:
3414
0
                        break;
3415
0
                    case 'n':
3416
0
                        if (ossl_likely(strcmp("datory-digest", s + 3) == 0)) {
3417
                            /* OSSL_PKEY_PARAM_MANDATORY_DIGEST */
3418
0
                            if (ossl_unlikely(r->mandatory_digest != NULL)) {
3419
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3420
0
                                               "param %s is repeated", s);
3421
0
                                return 0;
3422
0
                            }
3423
0
                            r->mandatory_digest = (OSSL_PARAM *)p;
3424
0
                        }
3425
0
                        break;
3426
5.97k
                    case 'x':
3427
5.97k
                        if (ossl_likely(strcmp("-size", s + 3) == 0)) {
3428
                            /* OSSL_PKEY_PARAM_MAX_SIZE */
3429
5.97k
                            if (ossl_unlikely(r->maxsize != NULL)) {
3430
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3431
0
                                               "param %s is repeated", s);
3432
0
                                return 0;
3433
0
                            }
3434
5.97k
                            r->maxsize = (OSSL_PARAM *)p;
3435
5.97k
                        }
3436
5.97k
                    }
3437
5.97k
                    break;
3438
5.97k
                case 'g':
3439
0
                    switch(s[2]) {
3440
0
                    default:
3441
0
                        break;
3442
0
                    case 'f':
3443
0
                        switch(s[3]) {
3444
0
                        default:
3445
0
                            break;
3446
0
                        case '1':
3447
0
                            if (ossl_likely(strcmp("-digest", s + 4) == 0)) {
3448
                                /* OSSL_PKEY_PARAM_RSA_MGF1_DIGEST */
3449
0
                                if (ossl_unlikely(r->mgf1_digest != NULL)) {
3450
0
                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3451
0
                                                   "param %s is repeated", s);
3452
0
                                    return 0;
3453
0
                                }
3454
0
                                r->mgf1_digest = (OSSL_PARAM *)p;
3455
0
                            }
3456
0
                            break;
3457
0
                        case '\0':
3458
0
                            if (ossl_unlikely(r->maskgenfunc != NULL)) {
3459
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3460
0
                                               "param %s is repeated", s);
3461
0
                                return 0;
3462
0
                            }
3463
0
                            r->maskgenfunc = (OSSL_PARAM *)p;
3464
0
                        }
3465
0
                    }
3466
5.97k
                }
3467
5.97k
                break;
3468
5.97k
            case 'n':
3469
0
                switch(s[1]) {
3470
0
                default:
3471
0
                    break;
3472
0
                case '\0':
3473
0
                    if (ossl_unlikely(r->n != NULL)) {
3474
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3475
0
                                       "param %s is repeated", s);
3476
0
                        return 0;
3477
0
                    }
3478
0
                    r->n = (OSSL_PARAM *)p;
3479
0
                }
3480
0
                break;
3481
0
            case 'p':
3482
0
                switch(s[1]) {
3483
0
                default:
3484
0
                    break;
3485
0
                case '1':
3486
0
                    switch(s[2]) {
3487
0
                    default:
3488
0
                        break;
3489
0
                    case '\0':
3490
# if defined(FIPS_MODULE)
3491
                        if (ossl_unlikely(r->fips.p1 != NULL)) {
3492
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3493
                                           "param %s is repeated", s);
3494
                            return 0;
3495
                        }
3496
                        r->fips.p1 = (OSSL_PARAM *)p;
3497
# endif
3498
0
                        break;
3499
0
                    }
3500
0
                    break;
3501
0
                case '2':
3502
0
                    switch(s[2]) {
3503
0
                    default:
3504
0
                        break;
3505
0
                    case '\0':
3506
# if defined(FIPS_MODULE)
3507
                        if (ossl_unlikely(r->fips.p2 != NULL)) {
3508
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3509
                                           "param %s is repeated", s);
3510
                            return 0;
3511
                        }
3512
                        r->fips.p2 = (OSSL_PARAM *)p;
3513
# endif
3514
0
                        break;
3515
0
                    }
3516
0
                    break;
3517
0
                }
3518
0
                break;
3519
0
            case 'q':
3520
0
                switch(s[1]) {
3521
0
                default:
3522
0
                    break;
3523
0
                case '1':
3524
0
                    switch(s[2]) {
3525
0
                    default:
3526
0
                        break;
3527
0
                    case '\0':
3528
# if defined(FIPS_MODULE)
3529
                        if (ossl_unlikely(r->fips.q1 != NULL)) {
3530
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3531
                                           "param %s is repeated", s);
3532
                            return 0;
3533
                        }
3534
                        r->fips.q1 = (OSSL_PARAM *)p;
3535
# endif
3536
0
                        break;
3537
0
                    }
3538
0
                    break;
3539
0
                case '2':
3540
0
                    switch(s[2]) {
3541
0
                    default:
3542
0
                        break;
3543
0
                    case '\0':
3544
# if defined(FIPS_MODULE)
3545
                        if (ossl_unlikely(r->fips.q2 != NULL)) {
3546
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3547
                                           "param %s is repeated", s);
3548
                            return 0;
3549
                        }
3550
                        r->fips.q2 = (OSSL_PARAM *)p;
3551
# endif
3552
0
                        break;
3553
0
                    }
3554
0
                    break;
3555
0
                }
3556
0
                break;
3557
0
            case 'r':
3558
0
                switch(s[1]) {
3559
0
                default:
3560
0
                    break;
3561
0
                case 's':
3562
0
                    switch(s[2]) {
3563
0
                    default:
3564
0
                        break;
3565
0
                    case 'a':
3566
0
                        switch(s[3]) {
3567
0
                        default:
3568
0
                            break;
3569
0
                        case '-':
3570
0
                            switch(s[4]) {
3571
0
                            default:
3572
0
                                break;
3573
0
                            case 'c':
3574
0
                                switch(s[5]) {
3575
0
                                default:
3576
0
                                    break;
3577
0
                                case 'o':
3578
0
                                    switch(s[6]) {
3579
0
                                    default:
3580
0
                                        break;
3581
0
                                    case 'e':
3582
0
                                        switch(s[7]) {
3583
0
                                        default:
3584
0
                                            break;
3585
0
                                        case 'f':
3586
0
                                            switch(s[8]) {
3587
0
                                            default:
3588
0
                                                break;
3589
0
                                            case 'f':
3590
0
                                                switch(s[9]) {
3591
0
                                                default:
3592
0
                                                    break;
3593
0
                                                case 'i':
3594
0
                                                    switch(s[10]) {
3595
0
                                                    default:
3596
0
                                                        break;
3597
0
                                                    case 'c':
3598
0
                                                        switch(s[11]) {
3599
0
                                                        default:
3600
0
                                                            break;
3601
0
                                                        case 'i':
3602
0
                                                            switch(s[12]) {
3603
0
                                                            default:
3604
0
                                                                break;
3605
0
                                                            case 'e':
3606
0
                                                                switch(s[13]) {
3607
0
                                                                default:
3608
0
                                                                    break;
3609
0
                                                                case 'n':
3610
0
                                                                    switch(s[14]) {
3611
0
                                                                    default:
3612
0
                                                                        break;
3613
0
                                                                    case 't':
3614
0
                                                                        switch(s[15]) {
3615
0
                                                                        default:
3616
0
                                                                            break;
3617
0
                                                                        case '1':
3618
0
                                                                            switch(s[16]) {
3619
0
                                                                            default:
3620
0
                                                                                break;
3621
0
                                                                            case '\0':
3622
0
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
3623
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3624
0
                                                                                                   "param %s is repeated", s);
3625
0
                                                                                    return 0;
3626
0
                                                                                }
3627
0
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
3628
0
                                                                            }
3629
0
                                                                            break;
3630
0
                                                                        case '2':
3631
0
                                                                            switch(s[16]) {
3632
0
                                                                            default:
3633
0
                                                                                break;
3634
0
                                                                            case '\0':
3635
0
# if !defined(FIPS_MODULE)
3636
0
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
3637
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3638
0
                                                                                                   "param %s is repeated", s);
3639
0
                                                                                    return 0;
3640
0
                                                                                }
3641
0
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
3642
0
# endif
3643
0
                                                                                break;
3644
0
                                                                            }
3645
0
                                                                            break;
3646
0
                                                                        case '3':
3647
0
                                                                            switch(s[16]) {
3648
0
                                                                            default:
3649
0
                                                                                break;
3650
0
                                                                            case '\0':
3651
0
# if !defined(FIPS_MODULE)
3652
0
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
3653
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3654
0
                                                                                                   "param %s is repeated", s);
3655
0
                                                                                    return 0;
3656
0
                                                                                }
3657
0
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
3658
0
# endif
3659
0
                                                                                break;
3660
0
                                                                            }
3661
0
                                                                            break;
3662
0
                                                                        case '4':
3663
0
                                                                            switch(s[16]) {
3664
0
                                                                            default:
3665
0
                                                                                break;
3666
0
                                                                            case '\0':
3667
0
# if !defined(FIPS_MODULE)
3668
0
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
3669
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3670
0
                                                                                                   "param %s is repeated", s);
3671
0
                                                                                    return 0;
3672
0
                                                                                }
3673
0
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
3674
0
# endif
3675
0
                                                                                break;
3676
0
                                                                            }
3677
0
                                                                            break;
3678
0
                                                                        case '5':
3679
0
                                                                            switch(s[16]) {
3680
0
                                                                            default:
3681
0
                                                                                break;
3682
0
                                                                            case '\0':
3683
0
# if !defined(FIPS_MODULE)
3684
0
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
3685
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3686
0
                                                                                                   "param %s is repeated", s);
3687
0
                                                                                    return 0;
3688
0
                                                                                }
3689
0
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
3690
0
# endif
3691
0
                                                                                break;
3692
0
                                                                            }
3693
0
                                                                            break;
3694
0
                                                                        case '6':
3695
0
                                                                            switch(s[16]) {
3696
0
                                                                            default:
3697
0
                                                                                break;
3698
0
                                                                            case '\0':
3699
0
# if !defined(FIPS_MODULE)
3700
0
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
3701
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3702
0
                                                                                                   "param %s is repeated", s);
3703
0
                                                                                    return 0;
3704
0
                                                                                }
3705
0
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
3706
0
# endif
3707
0
                                                                                break;
3708
0
                                                                            }
3709
0
                                                                            break;
3710
0
                                                                        case '7':
3711
0
                                                                            switch(s[16]) {
3712
0
                                                                            default:
3713
0
                                                                                break;
3714
0
                                                                            case '\0':
3715
0
# if !defined(FIPS_MODULE)
3716
0
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
3717
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3718
0
                                                                                                   "param %s is repeated", s);
3719
0
                                                                                    return 0;
3720
0
                                                                                }
3721
0
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
3722
0
# endif
3723
0
                                                                                break;
3724
0
                                                                            }
3725
0
                                                                            break;
3726
0
                                                                        case '8':
3727
0
                                                                            switch(s[16]) {
3728
0
                                                                            default:
3729
0
                                                                                break;
3730
0
                                                                            case '\0':
3731
0
# if !defined(FIPS_MODULE)
3732
0
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
3733
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3734
0
                                                                                                   "param %s is repeated", s);
3735
0
                                                                                    return 0;
3736
0
                                                                                }
3737
0
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
3738
0
# endif
3739
0
                                                                                break;
3740
0
                                                                            }
3741
0
                                                                            break;
3742
0
                                                                        case '9':
3743
0
                                                                            switch(s[16]) {
3744
0
                                                                            default:
3745
0
                                                                                break;
3746
0
                                                                            case '\0':
3747
0
# if !defined(FIPS_MODULE)
3748
0
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
3749
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3750
0
                                                                                                   "param %s is repeated", s);
3751
0
                                                                                    return 0;
3752
0
                                                                                }
3753
0
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
3754
0
# endif
3755
0
                                                                                break;
3756
0
                                                                            }
3757
0
                                                                            break;
3758
0
                                                                        }
3759
0
                                                                        break;
3760
0
                                                                    }
3761
0
                                                                    break;
3762
0
                                                                }
3763
0
                                                                break;
3764
0
                                                            }
3765
0
                                                            break;
3766
0
                                                        }
3767
0
                                                        break;
3768
0
                                                    }
3769
0
                                                    break;
3770
0
                                                }
3771
0
                                                break;
3772
0
                                            }
3773
0
                                            break;
3774
0
                                        }
3775
0
                                        break;
3776
0
                                    }
3777
0
                                    break;
3778
0
                                }
3779
0
                                break;
3780
0
                            case 'e':
3781
0
                                switch(s[5]) {
3782
0
                                default:
3783
0
                                    break;
3784
0
                                case 'x':
3785
0
                                    switch(s[6]) {
3786
0
                                    default:
3787
0
                                        break;
3788
0
                                    case 'p':
3789
0
                                        switch(s[7]) {
3790
0
                                        default:
3791
0
                                            break;
3792
0
                                        case 'o':
3793
0
                                            switch(s[8]) {
3794
0
                                            default:
3795
0
                                                break;
3796
0
                                            case 'n':
3797
0
                                                switch(s[9]) {
3798
0
                                                default:
3799
0
                                                    break;
3800
0
                                                case 'e':
3801
0
                                                    switch(s[10]) {
3802
0
                                                    default:
3803
0
                                                        break;
3804
0
                                                    case 'n':
3805
0
                                                        switch(s[11]) {
3806
0
                                                        default:
3807
0
                                                            break;
3808
0
                                                        case 't':
3809
0
                                                            switch(s[12]) {
3810
0
                                                            default:
3811
0
                                                                break;
3812
0
                                                            case '1':
3813
0
                                                                switch(s[13]) {
3814
0
                                                                default:
3815
0
                                                                    break;
3816
0
                                                                case '0':
3817
0
                                                                    switch(s[14]) {
3818
0
                                                                    default:
3819
0
                                                                        break;
3820
0
                                                                    case '\0':
3821
0
# if !defined(FIPS_MODULE)
3822
0
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
3823
0
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3824
0
                                                                                           "param %s is repeated", s);
3825
0
                                                                            return 0;
3826
0
                                                                        }
3827
0
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
3828
0
# endif
3829
0
                                                                        break;
3830
0
                                                                    }
3831
0
                                                                    break;
3832
0
                                                                case '\0':
3833
0
                                                                    if (ossl_unlikely(r->mp.exps[0] != 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->mp.exps[0] = (OSSL_PARAM *)p;
3839
0
                                                                }
3840
0
                                                                break;
3841
0
                                                            case '2':
3842
0
                                                                switch(s[13]) {
3843
0
                                                                default:
3844
0
                                                                    break;
3845
0
                                                                case '\0':
3846
0
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
3847
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3848
0
                                                                                       "param %s is repeated", s);
3849
0
                                                                        return 0;
3850
0
                                                                    }
3851
0
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
3852
0
                                                                }
3853
0
                                                                break;
3854
0
                                                            case '3':
3855
0
                                                                switch(s[13]) {
3856
0
                                                                default:
3857
0
                                                                    break;
3858
0
                                                                case '\0':
3859
0
# if !defined(FIPS_MODULE)
3860
0
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
3861
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3862
0
                                                                                       "param %s is repeated", s);
3863
0
                                                                        return 0;
3864
0
                                                                    }
3865
0
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
3866
0
# endif
3867
0
                                                                    break;
3868
0
                                                                }
3869
0
                                                                break;
3870
0
                                                            case '4':
3871
0
                                                                switch(s[13]) {
3872
0
                                                                default:
3873
0
                                                                    break;
3874
0
                                                                case '\0':
3875
0
# if !defined(FIPS_MODULE)
3876
0
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
3877
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3878
0
                                                                                       "param %s is repeated", s);
3879
0
                                                                        return 0;
3880
0
                                                                    }
3881
0
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
3882
0
# endif
3883
0
                                                                    break;
3884
0
                                                                }
3885
0
                                                                break;
3886
0
                                                            case '5':
3887
0
                                                                switch(s[13]) {
3888
0
                                                                default:
3889
0
                                                                    break;
3890
0
                                                                case '\0':
3891
0
# if !defined(FIPS_MODULE)
3892
0
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
3893
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3894
0
                                                                                       "param %s is repeated", s);
3895
0
                                                                        return 0;
3896
0
                                                                    }
3897
0
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
3898
0
# endif
3899
0
                                                                    break;
3900
0
                                                                }
3901
0
                                                                break;
3902
0
                                                            case '6':
3903
0
                                                                switch(s[13]) {
3904
0
                                                                default:
3905
0
                                                                    break;
3906
0
                                                                case '\0':
3907
0
# if !defined(FIPS_MODULE)
3908
0
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
3909
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3910
0
                                                                                       "param %s is repeated", s);
3911
0
                                                                        return 0;
3912
0
                                                                    }
3913
0
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
3914
0
# endif
3915
0
                                                                    break;
3916
0
                                                                }
3917
0
                                                                break;
3918
0
                                                            case '7':
3919
0
                                                                switch(s[13]) {
3920
0
                                                                default:
3921
0
                                                                    break;
3922
0
                                                                case '\0':
3923
0
# if !defined(FIPS_MODULE)
3924
0
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
3925
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3926
0
                                                                                       "param %s is repeated", s);
3927
0
                                                                        return 0;
3928
0
                                                                    }
3929
0
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
3930
0
# endif
3931
0
                                                                    break;
3932
0
                                                                }
3933
0
                                                                break;
3934
0
                                                            case '8':
3935
0
                                                                switch(s[13]) {
3936
0
                                                                default:
3937
0
                                                                    break;
3938
0
                                                                case '\0':
3939
0
# if !defined(FIPS_MODULE)
3940
0
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
3941
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3942
0
                                                                                       "param %s is repeated", s);
3943
0
                                                                        return 0;
3944
0
                                                                    }
3945
0
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
3946
0
# endif
3947
0
                                                                    break;
3948
0
                                                                }
3949
0
                                                                break;
3950
0
                                                            case '9':
3951
0
                                                                switch(s[13]) {
3952
0
                                                                default:
3953
0
                                                                    break;
3954
0
                                                                case '\0':
3955
0
# if !defined(FIPS_MODULE)
3956
0
                                                                    if (ossl_unlikely(r->mp.exps[8] != 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->mp.exps[8] = (OSSL_PARAM *)p;
3962
0
# endif
3963
0
                                                                    break;
3964
0
                                                                }
3965
0
                                                                break;
3966
0
                                                            }
3967
0
                                                            break;
3968
0
                                                        }
3969
0
                                                        break;
3970
0
                                                    }
3971
0
                                                    break;
3972
0
                                                }
3973
0
                                                break;
3974
0
                                            }
3975
0
                                            break;
3976
0
                                        }
3977
0
                                        break;
3978
0
                                    }
3979
0
                                    break;
3980
0
                                }
3981
0
                                break;
3982
0
                            case 'f':
3983
0
                                switch(s[5]) {
3984
0
                                default:
3985
0
                                    break;
3986
0
                                case 'a':
3987
0
                                    switch(s[6]) {
3988
0
                                    default:
3989
0
                                        break;
3990
0
                                    case 'c':
3991
0
                                        switch(s[7]) {
3992
0
                                        default:
3993
0
                                            break;
3994
0
                                        case 't':
3995
0
                                            switch(s[8]) {
3996
0
                                            default:
3997
0
                                                break;
3998
0
                                            case 'o':
3999
0
                                                switch(s[9]) {
4000
0
                                                default:
4001
0
                                                    break;
4002
0
                                                case 'r':
4003
0
                                                    switch(s[10]) {
4004
0
                                                    default:
4005
0
                                                        break;
4006
0
                                                    case '1':
4007
0
                                                        switch(s[11]) {
4008
0
                                                        default:
4009
0
                                                            break;
4010
0
                                                        case '0':
4011
0
                                                            switch(s[12]) {
4012
0
                                                            default:
4013
0
                                                                break;
4014
0
                                                            case '\0':
4015
0
# if !defined(FIPS_MODULE)
4016
0
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
4017
0
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4018
0
                                                                                   "param %s is repeated", s);
4019
0
                                                                    return 0;
4020
0
                                                                }
4021
0
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
4022
0
# endif
4023
0
                                                                break;
4024
0
                                                            }
4025
0
                                                            break;
4026
0
                                                        case '\0':
4027
0
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
4028
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4029
0
                                                                               "param %s is repeated", s);
4030
0
                                                                return 0;
4031
0
                                                            }
4032
0
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
4033
0
                                                        }
4034
0
                                                        break;
4035
0
                                                    case '2':
4036
0
                                                        switch(s[11]) {
4037
0
                                                        default:
4038
0
                                                            break;
4039
0
                                                        case '\0':
4040
0
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
4041
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4042
0
                                                                               "param %s is repeated", s);
4043
0
                                                                return 0;
4044
0
                                                            }
4045
0
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
4046
0
                                                        }
4047
0
                                                        break;
4048
0
                                                    case '3':
4049
0
                                                        switch(s[11]) {
4050
0
                                                        default:
4051
0
                                                            break;
4052
0
                                                        case '\0':
4053
0
# if !defined(FIPS_MODULE)
4054
0
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
4055
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4056
0
                                                                               "param %s is repeated", s);
4057
0
                                                                return 0;
4058
0
                                                            }
4059
0
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
4060
0
# endif
4061
0
                                                            break;
4062
0
                                                        }
4063
0
                                                        break;
4064
0
                                                    case '4':
4065
0
                                                        switch(s[11]) {
4066
0
                                                        default:
4067
0
                                                            break;
4068
0
                                                        case '\0':
4069
0
# if !defined(FIPS_MODULE)
4070
0
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
4071
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4072
0
                                                                               "param %s is repeated", s);
4073
0
                                                                return 0;
4074
0
                                                            }
4075
0
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
4076
0
# endif
4077
0
                                                            break;
4078
0
                                                        }
4079
0
                                                        break;
4080
0
                                                    case '5':
4081
0
                                                        switch(s[11]) {
4082
0
                                                        default:
4083
0
                                                            break;
4084
0
                                                        case '\0':
4085
0
# if !defined(FIPS_MODULE)
4086
0
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
4087
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4088
0
                                                                               "param %s is repeated", s);
4089
0
                                                                return 0;
4090
0
                                                            }
4091
0
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
4092
0
# endif
4093
0
                                                            break;
4094
0
                                                        }
4095
0
                                                        break;
4096
0
                                                    case '6':
4097
0
                                                        switch(s[11]) {
4098
0
                                                        default:
4099
0
                                                            break;
4100
0
                                                        case '\0':
4101
0
# if !defined(FIPS_MODULE)
4102
0
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
4103
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4104
0
                                                                               "param %s is repeated", s);
4105
0
                                                                return 0;
4106
0
                                                            }
4107
0
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
4108
0
# endif
4109
0
                                                            break;
4110
0
                                                        }
4111
0
                                                        break;
4112
0
                                                    case '7':
4113
0
                                                        switch(s[11]) {
4114
0
                                                        default:
4115
0
                                                            break;
4116
0
                                                        case '\0':
4117
0
# if !defined(FIPS_MODULE)
4118
0
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
4119
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4120
0
                                                                               "param %s is repeated", s);
4121
0
                                                                return 0;
4122
0
                                                            }
4123
0
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
4124
0
# endif
4125
0
                                                            break;
4126
0
                                                        }
4127
0
                                                        break;
4128
0
                                                    case '8':
4129
0
                                                        switch(s[11]) {
4130
0
                                                        default:
4131
0
                                                            break;
4132
0
                                                        case '\0':
4133
0
# if !defined(FIPS_MODULE)
4134
0
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
4135
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4136
0
                                                                               "param %s is repeated", s);
4137
0
                                                                return 0;
4138
0
                                                            }
4139
0
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
4140
0
# endif
4141
0
                                                            break;
4142
0
                                                        }
4143
0
                                                        break;
4144
0
                                                    case '9':
4145
0
                                                        switch(s[11]) {
4146
0
                                                        default:
4147
0
                                                            break;
4148
0
                                                        case '\0':
4149
0
# if !defined(FIPS_MODULE)
4150
0
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
4151
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4152
0
                                                                               "param %s is repeated", s);
4153
0
                                                                return 0;
4154
0
                                                            }
4155
0
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
4156
0
# endif
4157
0
                                                            break;
4158
0
                                                        }
4159
0
                                                        break;
4160
0
                                                    }
4161
0
                                                    break;
4162
0
                                                }
4163
0
                                                break;
4164
0
                                            }
4165
0
                                            break;
4166
0
                                        }
4167
0
                                        break;
4168
0
                                    }
4169
0
                                    break;
4170
0
                                }
4171
0
                                break;
4172
0
                            }
4173
0
                            break;
4174
0
                        }
4175
0
                        break;
4176
0
                    }
4177
0
                    break;
4178
0
                }
4179
0
                break;
4180
11.9k
            case 's':
4181
11.9k
                switch(s[1]) {
4182
0
                default:
4183
0
                    break;
4184
0
                case 'a':
4185
0
                    if (ossl_likely(strcmp("ltlen", s + 2) == 0)) {
4186
                        /* OSSL_PKEY_PARAM_RSA_PSS_SALTLEN */
4187
0
                        if (ossl_unlikely(r->pss_saltlen != NULL)) {
4188
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4189
0
                                           "param %s is repeated", s);
4190
0
                            return 0;
4191
0
                        }
4192
0
                        r->pss_saltlen = (OSSL_PARAM *)p;
4193
0
                    }
4194
0
                    break;
4195
11.9k
                case 'e':
4196
11.9k
                    switch(s[2]) {
4197
0
                    default:
4198
0
                        break;
4199
11.9k
                    case 'c':
4200
11.9k
                        switch(s[3]) {
4201
0
                        default:
4202
0
                            break;
4203
11.9k
                        case 'u':
4204
11.9k
                            switch(s[4]) {
4205
0
                            default:
4206
0
                                break;
4207
11.9k
                            case 'r':
4208
11.9k
                                switch(s[5]) {
4209
0
                                default:
4210
0
                                    break;
4211
11.9k
                                case 'i':
4212
11.9k
                                    switch(s[6]) {
4213
0
                                    default:
4214
0
                                        break;
4215
11.9k
                                    case 't':
4216
11.9k
                                        switch(s[7]) {
4217
0
                                        default:
4218
0
                                            break;
4219
11.9k
                                        case 'y':
4220
11.9k
                                            switch(s[8]) {
4221
0
                                            default:
4222
0
                                                break;
4223
11.9k
                                            case '-':
4224
11.9k
                                                switch(s[9]) {
4225
0
                                                default:
4226
0
                                                    break;
4227
5.97k
                                                case 'b':
4228
5.97k
                                                    if (ossl_likely(strcmp("its", s + 10) == 0)) {
4229
                                                        /* OSSL_PKEY_PARAM_SECURITY_BITS */
4230
5.97k
                                                        if (ossl_unlikely(r->secbits != NULL)) {
4231
0
                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4232
0
                                                                           "param %s is repeated", s);
4233
0
                                                            return 0;
4234
0
                                                        }
4235
5.97k
                                                        r->secbits = (OSSL_PARAM *)p;
4236
5.97k
                                                    }
4237
5.97k
                                                    break;
4238
5.97k
                                                case 'c':
4239
5.97k
                                                    if (ossl_likely(strcmp("ategory", s + 10) == 0)) {
4240
                                                        /* OSSL_PKEY_PARAM_SECURITY_CATEGORY */
4241
5.97k
                                                        if (ossl_unlikely(r->seccat != NULL)) {
4242
0
                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4243
0
                                                                           "param %s is repeated", s);
4244
0
                                                            return 0;
4245
0
                                                        }
4246
5.97k
                                                        r->seccat = (OSSL_PARAM *)p;
4247
5.97k
                                                    }
4248
11.9k
                                                }
4249
11.9k
                                            }
4250
11.9k
                                        }
4251
11.9k
                                    }
4252
11.9k
                                }
4253
11.9k
                            }
4254
11.9k
                        }
4255
11.9k
                    }
4256
11.9k
                }
4257
23.9k
            }
4258
5.97k
    return 1;
4259
5.97k
}
Unexecuted instantiation: rsa_backend.c:rsapss_get_params_decoder
rsa_kmgmt.c:rsapss_get_params_decoder
Line
Count
Source
3339
5.97k
{
3340
5.97k
    const char *s;
3341
3342
5.97k
    memset(r, 0, sizeof(*r));
3343
5.97k
    if (p != NULL)
3344
29.8k
        for (; (s = p->key) != NULL; p++)
3345
23.9k
            switch(s[0]) {
3346
0
            default:
3347
0
                break;
3348
5.97k
            case 'b':
3349
5.97k
                if (ossl_likely(strcmp("its", s + 1) == 0)) {
3350
                    /* OSSL_PKEY_PARAM_BITS */
3351
5.97k
                    if (ossl_unlikely(r->bits != NULL)) {
3352
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3353
0
                                       "param %s is repeated", s);
3354
0
                        return 0;
3355
0
                    }
3356
5.97k
                    r->bits = (OSSL_PARAM *)p;
3357
5.97k
                }
3358
5.97k
                break;
3359
5.97k
            case 'd':
3360
0
                switch(s[1]) {
3361
0
                default:
3362
0
                    break;
3363
0
                case 'e':
3364
0
                    if (ossl_likely(strcmp("fault-digest", s + 2) == 0)) {
3365
                        /* OSSL_PKEY_PARAM_DEFAULT_DIGEST */
3366
0
                        if (ossl_unlikely(r->default_digest != 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->default_digest = (OSSL_PARAM *)p;
3372
0
                    }
3373
0
                    break;
3374
0
                case 'i':
3375
0
                    if (ossl_likely(strcmp("gest", s + 2) == 0)) {
3376
                        /* OSSL_PKEY_PARAM_RSA_DIGEST */
3377
0
                        if (ossl_unlikely(r->digest != 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->digest = (OSSL_PARAM *)p;
3383
0
                    }
3384
0
                    break;
3385
0
                case '\0':
3386
0
                    if (ossl_unlikely(r->d != NULL)) {
3387
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3388
0
                                       "param %s is repeated", s);
3389
0
                        return 0;
3390
0
                    }
3391
0
                    r->d = (OSSL_PARAM *)p;
3392
0
                }
3393
0
                break;
3394
0
            case 'e':
3395
0
                switch(s[1]) {
3396
0
                default:
3397
0
                    break;
3398
0
                case '\0':
3399
0
                    if (ossl_unlikely(r->e != NULL)) {
3400
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3401
0
                                       "param %s is repeated", s);
3402
0
                        return 0;
3403
0
                    }
3404
0
                    r->e = (OSSL_PARAM *)p;
3405
0
                }
3406
0
                break;
3407
5.97k
            case 'm':
3408
5.97k
                switch(s[1]) {
3409
0
                default:
3410
0
                    break;
3411
5.97k
                case 'a':
3412
5.97k
                    switch(s[2]) {
3413
0
                    default:
3414
0
                        break;
3415
0
                    case 'n':
3416
0
                        if (ossl_likely(strcmp("datory-digest", s + 3) == 0)) {
3417
                            /* OSSL_PKEY_PARAM_MANDATORY_DIGEST */
3418
0
                            if (ossl_unlikely(r->mandatory_digest != NULL)) {
3419
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3420
0
                                               "param %s is repeated", s);
3421
0
                                return 0;
3422
0
                            }
3423
0
                            r->mandatory_digest = (OSSL_PARAM *)p;
3424
0
                        }
3425
0
                        break;
3426
5.97k
                    case 'x':
3427
5.97k
                        if (ossl_likely(strcmp("-size", s + 3) == 0)) {
3428
                            /* OSSL_PKEY_PARAM_MAX_SIZE */
3429
5.97k
                            if (ossl_unlikely(r->maxsize != NULL)) {
3430
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3431
0
                                               "param %s is repeated", s);
3432
0
                                return 0;
3433
0
                            }
3434
5.97k
                            r->maxsize = (OSSL_PARAM *)p;
3435
5.97k
                        }
3436
5.97k
                    }
3437
5.97k
                    break;
3438
5.97k
                case 'g':
3439
0
                    switch(s[2]) {
3440
0
                    default:
3441
0
                        break;
3442
0
                    case 'f':
3443
0
                        switch(s[3]) {
3444
0
                        default:
3445
0
                            break;
3446
0
                        case '1':
3447
0
                            if (ossl_likely(strcmp("-digest", s + 4) == 0)) {
3448
                                /* OSSL_PKEY_PARAM_RSA_MGF1_DIGEST */
3449
0
                                if (ossl_unlikely(r->mgf1_digest != NULL)) {
3450
0
                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3451
0
                                                   "param %s is repeated", s);
3452
0
                                    return 0;
3453
0
                                }
3454
0
                                r->mgf1_digest = (OSSL_PARAM *)p;
3455
0
                            }
3456
0
                            break;
3457
0
                        case '\0':
3458
0
                            if (ossl_unlikely(r->maskgenfunc != NULL)) {
3459
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3460
0
                                               "param %s is repeated", s);
3461
0
                                return 0;
3462
0
                            }
3463
0
                            r->maskgenfunc = (OSSL_PARAM *)p;
3464
0
                        }
3465
0
                    }
3466
5.97k
                }
3467
5.97k
                break;
3468
5.97k
            case 'n':
3469
0
                switch(s[1]) {
3470
0
                default:
3471
0
                    break;
3472
0
                case '\0':
3473
0
                    if (ossl_unlikely(r->n != NULL)) {
3474
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3475
0
                                       "param %s is repeated", s);
3476
0
                        return 0;
3477
0
                    }
3478
0
                    r->n = (OSSL_PARAM *)p;
3479
0
                }
3480
0
                break;
3481
0
            case 'p':
3482
0
                switch(s[1]) {
3483
0
                default:
3484
0
                    break;
3485
0
                case '1':
3486
0
                    switch(s[2]) {
3487
0
                    default:
3488
0
                        break;
3489
0
                    case '\0':
3490
# if defined(FIPS_MODULE)
3491
                        if (ossl_unlikely(r->fips.p1 != NULL)) {
3492
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3493
                                           "param %s is repeated", s);
3494
                            return 0;
3495
                        }
3496
                        r->fips.p1 = (OSSL_PARAM *)p;
3497
# endif
3498
0
                        break;
3499
0
                    }
3500
0
                    break;
3501
0
                case '2':
3502
0
                    switch(s[2]) {
3503
0
                    default:
3504
0
                        break;
3505
0
                    case '\0':
3506
# if defined(FIPS_MODULE)
3507
                        if (ossl_unlikely(r->fips.p2 != NULL)) {
3508
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3509
                                           "param %s is repeated", s);
3510
                            return 0;
3511
                        }
3512
                        r->fips.p2 = (OSSL_PARAM *)p;
3513
# endif
3514
0
                        break;
3515
0
                    }
3516
0
                    break;
3517
0
                }
3518
0
                break;
3519
0
            case 'q':
3520
0
                switch(s[1]) {
3521
0
                default:
3522
0
                    break;
3523
0
                case '1':
3524
0
                    switch(s[2]) {
3525
0
                    default:
3526
0
                        break;
3527
0
                    case '\0':
3528
# if defined(FIPS_MODULE)
3529
                        if (ossl_unlikely(r->fips.q1 != NULL)) {
3530
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3531
                                           "param %s is repeated", s);
3532
                            return 0;
3533
                        }
3534
                        r->fips.q1 = (OSSL_PARAM *)p;
3535
# endif
3536
0
                        break;
3537
0
                    }
3538
0
                    break;
3539
0
                case '2':
3540
0
                    switch(s[2]) {
3541
0
                    default:
3542
0
                        break;
3543
0
                    case '\0':
3544
# if defined(FIPS_MODULE)
3545
                        if (ossl_unlikely(r->fips.q2 != NULL)) {
3546
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3547
                                           "param %s is repeated", s);
3548
                            return 0;
3549
                        }
3550
                        r->fips.q2 = (OSSL_PARAM *)p;
3551
# endif
3552
0
                        break;
3553
0
                    }
3554
0
                    break;
3555
0
                }
3556
0
                break;
3557
0
            case 'r':
3558
0
                switch(s[1]) {
3559
0
                default:
3560
0
                    break;
3561
0
                case 's':
3562
0
                    switch(s[2]) {
3563
0
                    default:
3564
0
                        break;
3565
0
                    case 'a':
3566
0
                        switch(s[3]) {
3567
0
                        default:
3568
0
                            break;
3569
0
                        case '-':
3570
0
                            switch(s[4]) {
3571
0
                            default:
3572
0
                                break;
3573
0
                            case 'c':
3574
0
                                switch(s[5]) {
3575
0
                                default:
3576
0
                                    break;
3577
0
                                case 'o':
3578
0
                                    switch(s[6]) {
3579
0
                                    default:
3580
0
                                        break;
3581
0
                                    case 'e':
3582
0
                                        switch(s[7]) {
3583
0
                                        default:
3584
0
                                            break;
3585
0
                                        case 'f':
3586
0
                                            switch(s[8]) {
3587
0
                                            default:
3588
0
                                                break;
3589
0
                                            case 'f':
3590
0
                                                switch(s[9]) {
3591
0
                                                default:
3592
0
                                                    break;
3593
0
                                                case 'i':
3594
0
                                                    switch(s[10]) {
3595
0
                                                    default:
3596
0
                                                        break;
3597
0
                                                    case 'c':
3598
0
                                                        switch(s[11]) {
3599
0
                                                        default:
3600
0
                                                            break;
3601
0
                                                        case 'i':
3602
0
                                                            switch(s[12]) {
3603
0
                                                            default:
3604
0
                                                                break;
3605
0
                                                            case 'e':
3606
0
                                                                switch(s[13]) {
3607
0
                                                                default:
3608
0
                                                                    break;
3609
0
                                                                case 'n':
3610
0
                                                                    switch(s[14]) {
3611
0
                                                                    default:
3612
0
                                                                        break;
3613
0
                                                                    case 't':
3614
0
                                                                        switch(s[15]) {
3615
0
                                                                        default:
3616
0
                                                                            break;
3617
0
                                                                        case '1':
3618
0
                                                                            switch(s[16]) {
3619
0
                                                                            default:
3620
0
                                                                                break;
3621
0
                                                                            case '\0':
3622
0
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
3623
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3624
0
                                                                                                   "param %s is repeated", s);
3625
0
                                                                                    return 0;
3626
0
                                                                                }
3627
0
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
3628
0
                                                                            }
3629
0
                                                                            break;
3630
0
                                                                        case '2':
3631
0
                                                                            switch(s[16]) {
3632
0
                                                                            default:
3633
0
                                                                                break;
3634
0
                                                                            case '\0':
3635
0
# if !defined(FIPS_MODULE)
3636
0
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
3637
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3638
0
                                                                                                   "param %s is repeated", s);
3639
0
                                                                                    return 0;
3640
0
                                                                                }
3641
0
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
3642
0
# endif
3643
0
                                                                                break;
3644
0
                                                                            }
3645
0
                                                                            break;
3646
0
                                                                        case '3':
3647
0
                                                                            switch(s[16]) {
3648
0
                                                                            default:
3649
0
                                                                                break;
3650
0
                                                                            case '\0':
3651
0
# if !defined(FIPS_MODULE)
3652
0
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
3653
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3654
0
                                                                                                   "param %s is repeated", s);
3655
0
                                                                                    return 0;
3656
0
                                                                                }
3657
0
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
3658
0
# endif
3659
0
                                                                                break;
3660
0
                                                                            }
3661
0
                                                                            break;
3662
0
                                                                        case '4':
3663
0
                                                                            switch(s[16]) {
3664
0
                                                                            default:
3665
0
                                                                                break;
3666
0
                                                                            case '\0':
3667
0
# if !defined(FIPS_MODULE)
3668
0
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
3669
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3670
0
                                                                                                   "param %s is repeated", s);
3671
0
                                                                                    return 0;
3672
0
                                                                                }
3673
0
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
3674
0
# endif
3675
0
                                                                                break;
3676
0
                                                                            }
3677
0
                                                                            break;
3678
0
                                                                        case '5':
3679
0
                                                                            switch(s[16]) {
3680
0
                                                                            default:
3681
0
                                                                                break;
3682
0
                                                                            case '\0':
3683
0
# if !defined(FIPS_MODULE)
3684
0
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
3685
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3686
0
                                                                                                   "param %s is repeated", s);
3687
0
                                                                                    return 0;
3688
0
                                                                                }
3689
0
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
3690
0
# endif
3691
0
                                                                                break;
3692
0
                                                                            }
3693
0
                                                                            break;
3694
0
                                                                        case '6':
3695
0
                                                                            switch(s[16]) {
3696
0
                                                                            default:
3697
0
                                                                                break;
3698
0
                                                                            case '\0':
3699
0
# if !defined(FIPS_MODULE)
3700
0
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
3701
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3702
0
                                                                                                   "param %s is repeated", s);
3703
0
                                                                                    return 0;
3704
0
                                                                                }
3705
0
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
3706
0
# endif
3707
0
                                                                                break;
3708
0
                                                                            }
3709
0
                                                                            break;
3710
0
                                                                        case '7':
3711
0
                                                                            switch(s[16]) {
3712
0
                                                                            default:
3713
0
                                                                                break;
3714
0
                                                                            case '\0':
3715
0
# if !defined(FIPS_MODULE)
3716
0
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
3717
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3718
0
                                                                                                   "param %s is repeated", s);
3719
0
                                                                                    return 0;
3720
0
                                                                                }
3721
0
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
3722
0
# endif
3723
0
                                                                                break;
3724
0
                                                                            }
3725
0
                                                                            break;
3726
0
                                                                        case '8':
3727
0
                                                                            switch(s[16]) {
3728
0
                                                                            default:
3729
0
                                                                                break;
3730
0
                                                                            case '\0':
3731
0
# if !defined(FIPS_MODULE)
3732
0
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
3733
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3734
0
                                                                                                   "param %s is repeated", s);
3735
0
                                                                                    return 0;
3736
0
                                                                                }
3737
0
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
3738
0
# endif
3739
0
                                                                                break;
3740
0
                                                                            }
3741
0
                                                                            break;
3742
0
                                                                        case '9':
3743
0
                                                                            switch(s[16]) {
3744
0
                                                                            default:
3745
0
                                                                                break;
3746
0
                                                                            case '\0':
3747
0
# if !defined(FIPS_MODULE)
3748
0
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
3749
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3750
0
                                                                                                   "param %s is repeated", s);
3751
0
                                                                                    return 0;
3752
0
                                                                                }
3753
0
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
3754
0
# endif
3755
0
                                                                                break;
3756
0
                                                                            }
3757
0
                                                                            break;
3758
0
                                                                        }
3759
0
                                                                        break;
3760
0
                                                                    }
3761
0
                                                                    break;
3762
0
                                                                }
3763
0
                                                                break;
3764
0
                                                            }
3765
0
                                                            break;
3766
0
                                                        }
3767
0
                                                        break;
3768
0
                                                    }
3769
0
                                                    break;
3770
0
                                                }
3771
0
                                                break;
3772
0
                                            }
3773
0
                                            break;
3774
0
                                        }
3775
0
                                        break;
3776
0
                                    }
3777
0
                                    break;
3778
0
                                }
3779
0
                                break;
3780
0
                            case 'e':
3781
0
                                switch(s[5]) {
3782
0
                                default:
3783
0
                                    break;
3784
0
                                case 'x':
3785
0
                                    switch(s[6]) {
3786
0
                                    default:
3787
0
                                        break;
3788
0
                                    case 'p':
3789
0
                                        switch(s[7]) {
3790
0
                                        default:
3791
0
                                            break;
3792
0
                                        case 'o':
3793
0
                                            switch(s[8]) {
3794
0
                                            default:
3795
0
                                                break;
3796
0
                                            case 'n':
3797
0
                                                switch(s[9]) {
3798
0
                                                default:
3799
0
                                                    break;
3800
0
                                                case 'e':
3801
0
                                                    switch(s[10]) {
3802
0
                                                    default:
3803
0
                                                        break;
3804
0
                                                    case 'n':
3805
0
                                                        switch(s[11]) {
3806
0
                                                        default:
3807
0
                                                            break;
3808
0
                                                        case 't':
3809
0
                                                            switch(s[12]) {
3810
0
                                                            default:
3811
0
                                                                break;
3812
0
                                                            case '1':
3813
0
                                                                switch(s[13]) {
3814
0
                                                                default:
3815
0
                                                                    break;
3816
0
                                                                case '0':
3817
0
                                                                    switch(s[14]) {
3818
0
                                                                    default:
3819
0
                                                                        break;
3820
0
                                                                    case '\0':
3821
0
# if !defined(FIPS_MODULE)
3822
0
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
3823
0
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3824
0
                                                                                           "param %s is repeated", s);
3825
0
                                                                            return 0;
3826
0
                                                                        }
3827
0
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
3828
0
# endif
3829
0
                                                                        break;
3830
0
                                                                    }
3831
0
                                                                    break;
3832
0
                                                                case '\0':
3833
0
                                                                    if (ossl_unlikely(r->mp.exps[0] != 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->mp.exps[0] = (OSSL_PARAM *)p;
3839
0
                                                                }
3840
0
                                                                break;
3841
0
                                                            case '2':
3842
0
                                                                switch(s[13]) {
3843
0
                                                                default:
3844
0
                                                                    break;
3845
0
                                                                case '\0':
3846
0
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
3847
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3848
0
                                                                                       "param %s is repeated", s);
3849
0
                                                                        return 0;
3850
0
                                                                    }
3851
0
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
3852
0
                                                                }
3853
0
                                                                break;
3854
0
                                                            case '3':
3855
0
                                                                switch(s[13]) {
3856
0
                                                                default:
3857
0
                                                                    break;
3858
0
                                                                case '\0':
3859
0
# if !defined(FIPS_MODULE)
3860
0
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
3861
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3862
0
                                                                                       "param %s is repeated", s);
3863
0
                                                                        return 0;
3864
0
                                                                    }
3865
0
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
3866
0
# endif
3867
0
                                                                    break;
3868
0
                                                                }
3869
0
                                                                break;
3870
0
                                                            case '4':
3871
0
                                                                switch(s[13]) {
3872
0
                                                                default:
3873
0
                                                                    break;
3874
0
                                                                case '\0':
3875
0
# if !defined(FIPS_MODULE)
3876
0
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
3877
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3878
0
                                                                                       "param %s is repeated", s);
3879
0
                                                                        return 0;
3880
0
                                                                    }
3881
0
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
3882
0
# endif
3883
0
                                                                    break;
3884
0
                                                                }
3885
0
                                                                break;
3886
0
                                                            case '5':
3887
0
                                                                switch(s[13]) {
3888
0
                                                                default:
3889
0
                                                                    break;
3890
0
                                                                case '\0':
3891
0
# if !defined(FIPS_MODULE)
3892
0
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
3893
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3894
0
                                                                                       "param %s is repeated", s);
3895
0
                                                                        return 0;
3896
0
                                                                    }
3897
0
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
3898
0
# endif
3899
0
                                                                    break;
3900
0
                                                                }
3901
0
                                                                break;
3902
0
                                                            case '6':
3903
0
                                                                switch(s[13]) {
3904
0
                                                                default:
3905
0
                                                                    break;
3906
0
                                                                case '\0':
3907
0
# if !defined(FIPS_MODULE)
3908
0
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
3909
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3910
0
                                                                                       "param %s is repeated", s);
3911
0
                                                                        return 0;
3912
0
                                                                    }
3913
0
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
3914
0
# endif
3915
0
                                                                    break;
3916
0
                                                                }
3917
0
                                                                break;
3918
0
                                                            case '7':
3919
0
                                                                switch(s[13]) {
3920
0
                                                                default:
3921
0
                                                                    break;
3922
0
                                                                case '\0':
3923
0
# if !defined(FIPS_MODULE)
3924
0
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
3925
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3926
0
                                                                                       "param %s is repeated", s);
3927
0
                                                                        return 0;
3928
0
                                                                    }
3929
0
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
3930
0
# endif
3931
0
                                                                    break;
3932
0
                                                                }
3933
0
                                                                break;
3934
0
                                                            case '8':
3935
0
                                                                switch(s[13]) {
3936
0
                                                                default:
3937
0
                                                                    break;
3938
0
                                                                case '\0':
3939
0
# if !defined(FIPS_MODULE)
3940
0
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
3941
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
3942
0
                                                                                       "param %s is repeated", s);
3943
0
                                                                        return 0;
3944
0
                                                                    }
3945
0
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
3946
0
# endif
3947
0
                                                                    break;
3948
0
                                                                }
3949
0
                                                                break;
3950
0
                                                            case '9':
3951
0
                                                                switch(s[13]) {
3952
0
                                                                default:
3953
0
                                                                    break;
3954
0
                                                                case '\0':
3955
0
# if !defined(FIPS_MODULE)
3956
0
                                                                    if (ossl_unlikely(r->mp.exps[8] != 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->mp.exps[8] = (OSSL_PARAM *)p;
3962
0
# endif
3963
0
                                                                    break;
3964
0
                                                                }
3965
0
                                                                break;
3966
0
                                                            }
3967
0
                                                            break;
3968
0
                                                        }
3969
0
                                                        break;
3970
0
                                                    }
3971
0
                                                    break;
3972
0
                                                }
3973
0
                                                break;
3974
0
                                            }
3975
0
                                            break;
3976
0
                                        }
3977
0
                                        break;
3978
0
                                    }
3979
0
                                    break;
3980
0
                                }
3981
0
                                break;
3982
0
                            case 'f':
3983
0
                                switch(s[5]) {
3984
0
                                default:
3985
0
                                    break;
3986
0
                                case 'a':
3987
0
                                    switch(s[6]) {
3988
0
                                    default:
3989
0
                                        break;
3990
0
                                    case 'c':
3991
0
                                        switch(s[7]) {
3992
0
                                        default:
3993
0
                                            break;
3994
0
                                        case 't':
3995
0
                                            switch(s[8]) {
3996
0
                                            default:
3997
0
                                                break;
3998
0
                                            case 'o':
3999
0
                                                switch(s[9]) {
4000
0
                                                default:
4001
0
                                                    break;
4002
0
                                                case 'r':
4003
0
                                                    switch(s[10]) {
4004
0
                                                    default:
4005
0
                                                        break;
4006
0
                                                    case '1':
4007
0
                                                        switch(s[11]) {
4008
0
                                                        default:
4009
0
                                                            break;
4010
0
                                                        case '0':
4011
0
                                                            switch(s[12]) {
4012
0
                                                            default:
4013
0
                                                                break;
4014
0
                                                            case '\0':
4015
0
# if !defined(FIPS_MODULE)
4016
0
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
4017
0
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4018
0
                                                                                   "param %s is repeated", s);
4019
0
                                                                    return 0;
4020
0
                                                                }
4021
0
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
4022
0
# endif
4023
0
                                                                break;
4024
0
                                                            }
4025
0
                                                            break;
4026
0
                                                        case '\0':
4027
0
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
4028
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4029
0
                                                                               "param %s is repeated", s);
4030
0
                                                                return 0;
4031
0
                                                            }
4032
0
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
4033
0
                                                        }
4034
0
                                                        break;
4035
0
                                                    case '2':
4036
0
                                                        switch(s[11]) {
4037
0
                                                        default:
4038
0
                                                            break;
4039
0
                                                        case '\0':
4040
0
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
4041
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4042
0
                                                                               "param %s is repeated", s);
4043
0
                                                                return 0;
4044
0
                                                            }
4045
0
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
4046
0
                                                        }
4047
0
                                                        break;
4048
0
                                                    case '3':
4049
0
                                                        switch(s[11]) {
4050
0
                                                        default:
4051
0
                                                            break;
4052
0
                                                        case '\0':
4053
0
# if !defined(FIPS_MODULE)
4054
0
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
4055
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4056
0
                                                                               "param %s is repeated", s);
4057
0
                                                                return 0;
4058
0
                                                            }
4059
0
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
4060
0
# endif
4061
0
                                                            break;
4062
0
                                                        }
4063
0
                                                        break;
4064
0
                                                    case '4':
4065
0
                                                        switch(s[11]) {
4066
0
                                                        default:
4067
0
                                                            break;
4068
0
                                                        case '\0':
4069
0
# if !defined(FIPS_MODULE)
4070
0
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
4071
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4072
0
                                                                               "param %s is repeated", s);
4073
0
                                                                return 0;
4074
0
                                                            }
4075
0
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
4076
0
# endif
4077
0
                                                            break;
4078
0
                                                        }
4079
0
                                                        break;
4080
0
                                                    case '5':
4081
0
                                                        switch(s[11]) {
4082
0
                                                        default:
4083
0
                                                            break;
4084
0
                                                        case '\0':
4085
0
# if !defined(FIPS_MODULE)
4086
0
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
4087
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4088
0
                                                                               "param %s is repeated", s);
4089
0
                                                                return 0;
4090
0
                                                            }
4091
0
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
4092
0
# endif
4093
0
                                                            break;
4094
0
                                                        }
4095
0
                                                        break;
4096
0
                                                    case '6':
4097
0
                                                        switch(s[11]) {
4098
0
                                                        default:
4099
0
                                                            break;
4100
0
                                                        case '\0':
4101
0
# if !defined(FIPS_MODULE)
4102
0
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
4103
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4104
0
                                                                               "param %s is repeated", s);
4105
0
                                                                return 0;
4106
0
                                                            }
4107
0
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
4108
0
# endif
4109
0
                                                            break;
4110
0
                                                        }
4111
0
                                                        break;
4112
0
                                                    case '7':
4113
0
                                                        switch(s[11]) {
4114
0
                                                        default:
4115
0
                                                            break;
4116
0
                                                        case '\0':
4117
0
# if !defined(FIPS_MODULE)
4118
0
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
4119
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4120
0
                                                                               "param %s is repeated", s);
4121
0
                                                                return 0;
4122
0
                                                            }
4123
0
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
4124
0
# endif
4125
0
                                                            break;
4126
0
                                                        }
4127
0
                                                        break;
4128
0
                                                    case '8':
4129
0
                                                        switch(s[11]) {
4130
0
                                                        default:
4131
0
                                                            break;
4132
0
                                                        case '\0':
4133
0
# if !defined(FIPS_MODULE)
4134
0
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
4135
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4136
0
                                                                               "param %s is repeated", s);
4137
0
                                                                return 0;
4138
0
                                                            }
4139
0
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
4140
0
# endif
4141
0
                                                            break;
4142
0
                                                        }
4143
0
                                                        break;
4144
0
                                                    case '9':
4145
0
                                                        switch(s[11]) {
4146
0
                                                        default:
4147
0
                                                            break;
4148
0
                                                        case '\0':
4149
0
# if !defined(FIPS_MODULE)
4150
0
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
4151
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4152
0
                                                                               "param %s is repeated", s);
4153
0
                                                                return 0;
4154
0
                                                            }
4155
0
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
4156
0
# endif
4157
0
                                                            break;
4158
0
                                                        }
4159
0
                                                        break;
4160
0
                                                    }
4161
0
                                                    break;
4162
0
                                                }
4163
0
                                                break;
4164
0
                                            }
4165
0
                                            break;
4166
0
                                        }
4167
0
                                        break;
4168
0
                                    }
4169
0
                                    break;
4170
0
                                }
4171
0
                                break;
4172
0
                            }
4173
0
                            break;
4174
0
                        }
4175
0
                        break;
4176
0
                    }
4177
0
                    break;
4178
0
                }
4179
0
                break;
4180
11.9k
            case 's':
4181
11.9k
                switch(s[1]) {
4182
0
                default:
4183
0
                    break;
4184
0
                case 'a':
4185
0
                    if (ossl_likely(strcmp("ltlen", s + 2) == 0)) {
4186
                        /* OSSL_PKEY_PARAM_RSA_PSS_SALTLEN */
4187
0
                        if (ossl_unlikely(r->pss_saltlen != NULL)) {
4188
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4189
0
                                           "param %s is repeated", s);
4190
0
                            return 0;
4191
0
                        }
4192
0
                        r->pss_saltlen = (OSSL_PARAM *)p;
4193
0
                    }
4194
0
                    break;
4195
11.9k
                case 'e':
4196
11.9k
                    switch(s[2]) {
4197
0
                    default:
4198
0
                        break;
4199
11.9k
                    case 'c':
4200
11.9k
                        switch(s[3]) {
4201
0
                        default:
4202
0
                            break;
4203
11.9k
                        case 'u':
4204
11.9k
                            switch(s[4]) {
4205
0
                            default:
4206
0
                                break;
4207
11.9k
                            case 'r':
4208
11.9k
                                switch(s[5]) {
4209
0
                                default:
4210
0
                                    break;
4211
11.9k
                                case 'i':
4212
11.9k
                                    switch(s[6]) {
4213
0
                                    default:
4214
0
                                        break;
4215
11.9k
                                    case 't':
4216
11.9k
                                        switch(s[7]) {
4217
0
                                        default:
4218
0
                                            break;
4219
11.9k
                                        case 'y':
4220
11.9k
                                            switch(s[8]) {
4221
0
                                            default:
4222
0
                                                break;
4223
11.9k
                                            case '-':
4224
11.9k
                                                switch(s[9]) {
4225
0
                                                default:
4226
0
                                                    break;
4227
5.97k
                                                case 'b':
4228
5.97k
                                                    if (ossl_likely(strcmp("its", s + 10) == 0)) {
4229
                                                        /* OSSL_PKEY_PARAM_SECURITY_BITS */
4230
5.97k
                                                        if (ossl_unlikely(r->secbits != NULL)) {
4231
0
                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4232
0
                                                                           "param %s is repeated", s);
4233
0
                                                            return 0;
4234
0
                                                        }
4235
5.97k
                                                        r->secbits = (OSSL_PARAM *)p;
4236
5.97k
                                                    }
4237
5.97k
                                                    break;
4238
5.97k
                                                case 'c':
4239
5.97k
                                                    if (ossl_likely(strcmp("ategory", s + 10) == 0)) {
4240
                                                        /* OSSL_PKEY_PARAM_SECURITY_CATEGORY */
4241
5.97k
                                                        if (ossl_unlikely(r->seccat != NULL)) {
4242
0
                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4243
0
                                                                           "param %s is repeated", s);
4244
0
                                                            return 0;
4245
0
                                                        }
4246
5.97k
                                                        r->seccat = (OSSL_PARAM *)p;
4247
5.97k
                                                    }
4248
11.9k
                                                }
4249
11.9k
                                            }
4250
11.9k
                                        }
4251
11.9k
                                    }
4252
11.9k
                                }
4253
11.9k
                            }
4254
11.9k
                        }
4255
11.9k
                    }
4256
11.9k
                }
4257
23.9k
            }
4258
5.97k
    return 1;
4259
5.97k
}
Unexecuted instantiation: rsa_ameth.c:rsapss_get_params_decoder
4260
#endif
4261
/* End of machine generated */
4262
4263
/* Plain RSA generation parameters. */
4264
#define rsa_gen_set_params_st rsa_params_st
4265
/* Machine generated */
4266
#ifndef rsa_gen_set_params_list
4267
static ossl_unused const OSSL_PARAM rsa_gen_set_params_list[] = {
4268
    OSSL_PARAM_size_t(OSSL_PKEY_PARAM_RSA_BITS, NULL),
4269
    OSSL_PARAM_size_t(OSSL_PKEY_PARAM_RSA_PRIMES, NULL),
4270
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
4271
    OSSL_PARAM_uint32(OSSL_PKEY_PARAM_RSA_A, NULL),
4272
    OSSL_PARAM_uint32(OSSL_PKEY_PARAM_RSA_B, NULL),
4273
# if defined(FIPS_MODULE)
4274
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XP, NULL, 0),
4275
# endif
4276
# if defined(FIPS_MODULE)
4277
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XP1, NULL, 0),
4278
# endif
4279
# if defined(FIPS_MODULE)
4280
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XP2, NULL, 0),
4281
# endif
4282
# if defined(FIPS_MODULE)
4283
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XQ, NULL, 0),
4284
# endif
4285
# if defined(FIPS_MODULE)
4286
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XQ1, NULL, 0),
4287
# endif
4288
# if defined(FIPS_MODULE)
4289
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XQ2, NULL, 0),
4290
# endif
4291
    OSSL_PARAM_END
4292
};
4293
#endif
4294
4295
#ifndef rsa_gen_set_params_st
4296
struct rsa_gen_set_params_st {
4297
    OSSL_PARAM *a;
4298
    OSSL_PARAM *b;
4299
    OSSL_PARAM *bits;
4300
    OSSL_PARAM *e;
4301
# if defined(FIPS_MODULE)
4302
    OSSL_PARAM *fips.xp;
4303
# endif
4304
# if defined(FIPS_MODULE)
4305
    OSSL_PARAM *fips.xp1;
4306
# endif
4307
# if defined(FIPS_MODULE)
4308
    OSSL_PARAM *fips.xp2;
4309
# endif
4310
# if defined(FIPS_MODULE)
4311
    OSSL_PARAM *fips.xq;
4312
# endif
4313
# if defined(FIPS_MODULE)
4314
    OSSL_PARAM *fips.xq1;
4315
# endif
4316
# if defined(FIPS_MODULE)
4317
    OSSL_PARAM *fips.xq2;
4318
# endif
4319
    OSSL_PARAM *primes;
4320
};
4321
#endif
4322
4323
#ifndef rsa_gen_set_params_decoder
4324
static ossl_unused int rsa_gen_set_params_decoder
4325
    (const OSSL_PARAM *p, struct rsa_gen_set_params_st *r)
4326
0
{
4327
0
    const char *s;
4328
4329
0
    memset(r, 0, sizeof(*r));
4330
0
    if (p != NULL)
4331
0
        for (; (s = p->key) != NULL; p++)
4332
0
            switch(s[0]) {
4333
0
            default:
4334
0
                break;
4335
0
            case 'b':
4336
0
                if (ossl_likely(strcmp("its", s + 1) == 0)) {
4337
                    /* OSSL_PKEY_PARAM_RSA_BITS */
4338
0
                    if (ossl_unlikely(r->bits != NULL)) {
4339
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4340
0
                                       "param %s is repeated", s);
4341
0
                        return 0;
4342
0
                    }
4343
0
                    r->bits = (OSSL_PARAM *)p;
4344
0
                }
4345
0
                break;
4346
0
            case 'e':
4347
0
                switch(s[1]) {
4348
0
                default:
4349
0
                    break;
4350
0
                case '\0':
4351
0
                    if (ossl_unlikely(r->e != NULL)) {
4352
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4353
0
                                       "param %s is repeated", s);
4354
0
                        return 0;
4355
0
                    }
4356
0
                    r->e = (OSSL_PARAM *)p;
4357
0
                }
4358
0
                break;
4359
0
            case 'p':
4360
0
                if (ossl_likely(strcmp("rimes", s + 1) == 0)) {
4361
                    /* OSSL_PKEY_PARAM_RSA_PRIMES */
4362
0
                    if (ossl_unlikely(r->primes != NULL)) {
4363
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4364
0
                                       "param %s is repeated", s);
4365
0
                        return 0;
4366
0
                    }
4367
0
                    r->primes = (OSSL_PARAM *)p;
4368
0
                }
4369
0
                break;
4370
0
            case 'r':
4371
0
                switch(s[1]) {
4372
0
                default:
4373
0
                    break;
4374
0
                case 's':
4375
0
                    switch(s[2]) {
4376
0
                    default:
4377
0
                        break;
4378
0
                    case 'a':
4379
0
                        switch(s[3]) {
4380
0
                        default:
4381
0
                            break;
4382
0
                        case '-':
4383
0
                            switch(s[4]) {
4384
0
                            default:
4385
0
                                break;
4386
0
                            case 'a':
4387
0
                                switch(s[5]) {
4388
0
                                default:
4389
0
                                    break;
4390
0
                                case '\0':
4391
0
                                    if (ossl_unlikely(r->a != 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->a = (OSSL_PARAM *)p;
4397
0
                                }
4398
0
                                break;
4399
0
                            case 'b':
4400
0
                                switch(s[5]) {
4401
0
                                default:
4402
0
                                    break;
4403
0
                                case '\0':
4404
0
                                    if (ossl_unlikely(r->b != NULL)) {
4405
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4406
0
                                                       "param %s is repeated", s);
4407
0
                                        return 0;
4408
0
                                    }
4409
0
                                    r->b = (OSSL_PARAM *)p;
4410
0
                                }
4411
0
                            }
4412
0
                        }
4413
0
                    }
4414
0
                }
4415
0
                break;
4416
0
            case 'x':
4417
0
                switch(s[1]) {
4418
0
                default:
4419
0
                    break;
4420
0
                case 'p':
4421
0
                    switch(s[2]) {
4422
0
                    default:
4423
0
                        break;
4424
0
                    case '1':
4425
0
                        switch(s[3]) {
4426
0
                        default:
4427
0
                            break;
4428
0
                        case '\0':
4429
# if defined(FIPS_MODULE)
4430
                            if (ossl_unlikely(r->fips.xp1 != NULL)) {
4431
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4432
                                               "param %s is repeated", s);
4433
                                return 0;
4434
                            }
4435
                            r->fips.xp1 = (OSSL_PARAM *)p;
4436
# endif
4437
0
                            break;
4438
0
                        }
4439
0
                        break;
4440
0
                    case '2':
4441
0
                        switch(s[3]) {
4442
0
                        default:
4443
0
                            break;
4444
0
                        case '\0':
4445
# if defined(FIPS_MODULE)
4446
                            if (ossl_unlikely(r->fips.xp2 != NULL)) {
4447
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4448
                                               "param %s is repeated", s);
4449
                                return 0;
4450
                            }
4451
                            r->fips.xp2 = (OSSL_PARAM *)p;
4452
# endif
4453
0
                            break;
4454
0
                        }
4455
0
                        break;
4456
0
                    case '\0':
4457
# if defined(FIPS_MODULE)
4458
                        if (ossl_unlikely(r->fips.xp != NULL)) {
4459
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4460
                                           "param %s is repeated", s);
4461
                            return 0;
4462
                        }
4463
                        r->fips.xp = (OSSL_PARAM *)p;
4464
# endif
4465
0
                        break;
4466
0
                    }
4467
0
                    break;
4468
0
                case 'q':
4469
0
                    switch(s[2]) {
4470
0
                    default:
4471
0
                        break;
4472
0
                    case '1':
4473
0
                        switch(s[3]) {
4474
0
                        default:
4475
0
                            break;
4476
0
                        case '\0':
4477
# if defined(FIPS_MODULE)
4478
                            if (ossl_unlikely(r->fips.xq1 != NULL)) {
4479
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4480
                                               "param %s is repeated", s);
4481
                                return 0;
4482
                            }
4483
                            r->fips.xq1 = (OSSL_PARAM *)p;
4484
# endif
4485
0
                            break;
4486
0
                        }
4487
0
                        break;
4488
0
                    case '2':
4489
0
                        switch(s[3]) {
4490
0
                        default:
4491
0
                            break;
4492
0
                        case '\0':
4493
# if defined(FIPS_MODULE)
4494
                            if (ossl_unlikely(r->fips.xq2 != NULL)) {
4495
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4496
                                               "param %s is repeated", s);
4497
                                return 0;
4498
                            }
4499
                            r->fips.xq2 = (OSSL_PARAM *)p;
4500
# endif
4501
0
                            break;
4502
0
                        }
4503
0
                        break;
4504
0
                    case '\0':
4505
# if defined(FIPS_MODULE)
4506
                        if (ossl_unlikely(r->fips.xq != NULL)) {
4507
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4508
                                           "param %s is repeated", s);
4509
                            return 0;
4510
                        }
4511
                        r->fips.xq = (OSSL_PARAM *)p;
4512
# endif
4513
0
                        break;
4514
0
                    }
4515
0
                    break;
4516
0
                }
4517
0
                break;
4518
0
            }
4519
0
    return 1;
4520
0
}
Unexecuted instantiation: rsa_backend.c:rsa_gen_set_params_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsa_gen_set_params_decoder
Unexecuted instantiation: rsa_ameth.c:rsa_gen_set_params_decoder
4521
#endif
4522
/* End of machine generated */
4523
4524
#define rsapss_gen_set_params_st rsa_params_st
4525
/* Machine generated */
4526
#ifndef rsapss_gen_set_params_list
4527
static ossl_unused const OSSL_PARAM rsapss_gen_set_params_list[] = {
4528
    OSSL_PARAM_size_t(OSSL_PKEY_PARAM_RSA_BITS, NULL),
4529
    OSSL_PARAM_size_t(OSSL_PKEY_PARAM_RSA_PRIMES, NULL),
4530
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
4531
    OSSL_PARAM_uint32(OSSL_PKEY_PARAM_RSA_A, NULL),
4532
    OSSL_PARAM_uint32(OSSL_PKEY_PARAM_RSA_B, NULL),
4533
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST, NULL, 0),
4534
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST_PROPS, NULL, 0),
4535
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MASKGENFUNC, NULL, 0),
4536
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MGF1_DIGEST, NULL, 0),
4537
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_PSS_SALTLEN, NULL),
4538
# if defined(FIPS_MODULE)
4539
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XP, NULL, 0),
4540
# endif
4541
# if defined(FIPS_MODULE)
4542
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XP1, NULL, 0),
4543
# endif
4544
# if defined(FIPS_MODULE)
4545
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XP2, NULL, 0),
4546
# endif
4547
# if defined(FIPS_MODULE)
4548
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XQ, NULL, 0),
4549
# endif
4550
# if defined(FIPS_MODULE)
4551
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XQ1, NULL, 0),
4552
# endif
4553
# if defined(FIPS_MODULE)
4554
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XQ2, NULL, 0),
4555
# endif
4556
    OSSL_PARAM_END
4557
};
4558
#endif
4559
4560
#ifndef rsapss_gen_set_params_st
4561
struct rsapss_gen_set_params_st {
4562
    OSSL_PARAM *a;
4563
    OSSL_PARAM *b;
4564
    OSSL_PARAM *bits;
4565
    OSSL_PARAM *digest;
4566
    OSSL_PARAM *digest_props;
4567
    OSSL_PARAM *e;
4568
# if defined(FIPS_MODULE)
4569
    OSSL_PARAM *fips.xp;
4570
# endif
4571
# if defined(FIPS_MODULE)
4572
    OSSL_PARAM *fips.xp1;
4573
# endif
4574
# if defined(FIPS_MODULE)
4575
    OSSL_PARAM *fips.xp2;
4576
# endif
4577
# if defined(FIPS_MODULE)
4578
    OSSL_PARAM *fips.xq;
4579
# endif
4580
# if defined(FIPS_MODULE)
4581
    OSSL_PARAM *fips.xq1;
4582
# endif
4583
# if defined(FIPS_MODULE)
4584
    OSSL_PARAM *fips.xq2;
4585
# endif
4586
    OSSL_PARAM *maskgenfunc;
4587
    OSSL_PARAM *mgf1_digest;
4588
    OSSL_PARAM *primes;
4589
    OSSL_PARAM *pss_saltlen;
4590
};
4591
#endif
4592
4593
#ifndef rsapss_gen_set_params_decoder
4594
static ossl_unused int rsapss_gen_set_params_decoder
4595
    (const OSSL_PARAM *p, struct rsapss_gen_set_params_st *r)
4596
0
{
4597
0
    const char *s;
4598
4599
0
    memset(r, 0, sizeof(*r));
4600
0
    if (p != NULL)
4601
0
        for (; (s = p->key) != NULL; p++)
4602
0
            switch(s[0]) {
4603
0
            default:
4604
0
                break;
4605
0
            case 'b':
4606
0
                if (ossl_likely(strcmp("its", s + 1) == 0)) {
4607
                    /* OSSL_PKEY_PARAM_RSA_BITS */
4608
0
                    if (ossl_unlikely(r->bits != NULL)) {
4609
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4610
0
                                       "param %s is repeated", s);
4611
0
                        return 0;
4612
0
                    }
4613
0
                    r->bits = (OSSL_PARAM *)p;
4614
0
                }
4615
0
                break;
4616
0
            case 'd':
4617
0
                if (ossl_likely(strcmp("igest", s + 1) == 0)) {
4618
                    /* OSSL_PKEY_PARAM_RSA_DIGEST */
4619
0
                    if (ossl_unlikely(r->digest != NULL)) {
4620
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4621
0
                                       "param %s is repeated", s);
4622
0
                        return 0;
4623
0
                    }
4624
0
                    r->digest = (OSSL_PARAM *)p;
4625
0
                }
4626
0
                break;
4627
0
            case 'e':
4628
0
                switch(s[1]) {
4629
0
                default:
4630
0
                    break;
4631
0
                case '\0':
4632
0
                    if (ossl_unlikely(r->e != NULL)) {
4633
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4634
0
                                       "param %s is repeated", s);
4635
0
                        return 0;
4636
0
                    }
4637
0
                    r->e = (OSSL_PARAM *)p;
4638
0
                }
4639
0
                break;
4640
0
            case 'm':
4641
0
                switch(s[1]) {
4642
0
                default:
4643
0
                    break;
4644
0
                case 'g':
4645
0
                    switch(s[2]) {
4646
0
                    default:
4647
0
                        break;
4648
0
                    case 'f':
4649
0
                        switch(s[3]) {
4650
0
                        default:
4651
0
                            break;
4652
0
                        case '1':
4653
0
                            if (ossl_likely(strcmp("-digest", s + 4) == 0)) {
4654
                                /* OSSL_PKEY_PARAM_RSA_MGF1_DIGEST */
4655
0
                                if (ossl_unlikely(r->mgf1_digest != NULL)) {
4656
0
                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4657
0
                                                   "param %s is repeated", s);
4658
0
                                    return 0;
4659
0
                                }
4660
0
                                r->mgf1_digest = (OSSL_PARAM *)p;
4661
0
                            }
4662
0
                            break;
4663
0
                        case '\0':
4664
0
                            if (ossl_unlikely(r->maskgenfunc != NULL)) {
4665
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4666
0
                                               "param %s is repeated", s);
4667
0
                                return 0;
4668
0
                            }
4669
0
                            r->maskgenfunc = (OSSL_PARAM *)p;
4670
0
                        }
4671
0
                    }
4672
0
                }
4673
0
                break;
4674
0
            case 'p':
4675
0
                switch(s[1]) {
4676
0
                default:
4677
0
                    break;
4678
0
                case 'r':
4679
0
                    switch(s[2]) {
4680
0
                    default:
4681
0
                        break;
4682
0
                    case 'i':
4683
0
                        if (ossl_likely(strcmp("mes", s + 3) == 0)) {
4684
                            /* OSSL_PKEY_PARAM_RSA_PRIMES */
4685
0
                            if (ossl_unlikely(r->primes != NULL)) {
4686
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4687
0
                                               "param %s is repeated", s);
4688
0
                                return 0;
4689
0
                            }
4690
0
                            r->primes = (OSSL_PARAM *)p;
4691
0
                        }
4692
0
                        break;
4693
0
                    case 'o':
4694
0
                        if (ossl_likely(strcmp("perties", s + 3) == 0)) {
4695
                            /* OSSL_PKEY_PARAM_RSA_DIGEST_PROPS */
4696
0
                            if (ossl_unlikely(r->digest_props != NULL)) {
4697
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4698
0
                                               "param %s is repeated", s);
4699
0
                                return 0;
4700
0
                            }
4701
0
                            r->digest_props = (OSSL_PARAM *)p;
4702
0
                        }
4703
0
                    }
4704
0
                }
4705
0
                break;
4706
0
            case 'r':
4707
0
                switch(s[1]) {
4708
0
                default:
4709
0
                    break;
4710
0
                case 's':
4711
0
                    switch(s[2]) {
4712
0
                    default:
4713
0
                        break;
4714
0
                    case 'a':
4715
0
                        switch(s[3]) {
4716
0
                        default:
4717
0
                            break;
4718
0
                        case '-':
4719
0
                            switch(s[4]) {
4720
0
                            default:
4721
0
                                break;
4722
0
                            case 'a':
4723
0
                                switch(s[5]) {
4724
0
                                default:
4725
0
                                    break;
4726
0
                                case '\0':
4727
0
                                    if (ossl_unlikely(r->a != NULL)) {
4728
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4729
0
                                                       "param %s is repeated", s);
4730
0
                                        return 0;
4731
0
                                    }
4732
0
                                    r->a = (OSSL_PARAM *)p;
4733
0
                                }
4734
0
                                break;
4735
0
                            case 'b':
4736
0
                                switch(s[5]) {
4737
0
                                default:
4738
0
                                    break;
4739
0
                                case '\0':
4740
0
                                    if (ossl_unlikely(r->b != 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->b = (OSSL_PARAM *)p;
4746
0
                                }
4747
0
                            }
4748
0
                        }
4749
0
                    }
4750
0
                }
4751
0
                break;
4752
0
            case 's':
4753
0
                if (ossl_likely(strcmp("altlen", s + 1) == 0)) {
4754
                    /* OSSL_PKEY_PARAM_RSA_PSS_SALTLEN */
4755
0
                    if (ossl_unlikely(r->pss_saltlen != NULL)) {
4756
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4757
0
                                       "param %s is repeated", s);
4758
0
                        return 0;
4759
0
                    }
4760
0
                    r->pss_saltlen = (OSSL_PARAM *)p;
4761
0
                }
4762
0
                break;
4763
0
            case 'x':
4764
0
                switch(s[1]) {
4765
0
                default:
4766
0
                    break;
4767
0
                case 'p':
4768
0
                    switch(s[2]) {
4769
0
                    default:
4770
0
                        break;
4771
0
                    case '1':
4772
0
                        switch(s[3]) {
4773
0
                        default:
4774
0
                            break;
4775
0
                        case '\0':
4776
# if defined(FIPS_MODULE)
4777
                            if (ossl_unlikely(r->fips.xp1 != NULL)) {
4778
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4779
                                               "param %s is repeated", s);
4780
                                return 0;
4781
                            }
4782
                            r->fips.xp1 = (OSSL_PARAM *)p;
4783
# endif
4784
0
                            break;
4785
0
                        }
4786
0
                        break;
4787
0
                    case '2':
4788
0
                        switch(s[3]) {
4789
0
                        default:
4790
0
                            break;
4791
0
                        case '\0':
4792
# if defined(FIPS_MODULE)
4793
                            if (ossl_unlikely(r->fips.xp2 != NULL)) {
4794
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4795
                                               "param %s is repeated", s);
4796
                                return 0;
4797
                            }
4798
                            r->fips.xp2 = (OSSL_PARAM *)p;
4799
# endif
4800
0
                            break;
4801
0
                        }
4802
0
                        break;
4803
0
                    case '\0':
4804
# if defined(FIPS_MODULE)
4805
                        if (ossl_unlikely(r->fips.xp != NULL)) {
4806
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4807
                                           "param %s is repeated", s);
4808
                            return 0;
4809
                        }
4810
                        r->fips.xp = (OSSL_PARAM *)p;
4811
# endif
4812
0
                        break;
4813
0
                    }
4814
0
                    break;
4815
0
                case 'q':
4816
0
                    switch(s[2]) {
4817
0
                    default:
4818
0
                        break;
4819
0
                    case '1':
4820
0
                        switch(s[3]) {
4821
0
                        default:
4822
0
                            break;
4823
0
                        case '\0':
4824
# if defined(FIPS_MODULE)
4825
                            if (ossl_unlikely(r->fips.xq1 != NULL)) {
4826
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4827
                                               "param %s is repeated", s);
4828
                                return 0;
4829
                            }
4830
                            r->fips.xq1 = (OSSL_PARAM *)p;
4831
# endif
4832
0
                            break;
4833
0
                        }
4834
0
                        break;
4835
0
                    case '2':
4836
0
                        switch(s[3]) {
4837
0
                        default:
4838
0
                            break;
4839
0
                        case '\0':
4840
# if defined(FIPS_MODULE)
4841
                            if (ossl_unlikely(r->fips.xq2 != NULL)) {
4842
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4843
                                               "param %s is repeated", s);
4844
                                return 0;
4845
                            }
4846
                            r->fips.xq2 = (OSSL_PARAM *)p;
4847
# endif
4848
0
                            break;
4849
0
                        }
4850
0
                        break;
4851
0
                    case '\0':
4852
# if defined(FIPS_MODULE)
4853
                        if (ossl_unlikely(r->fips.xq != NULL)) {
4854
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
4855
                                           "param %s is repeated", s);
4856
                            return 0;
4857
                        }
4858
                        r->fips.xq = (OSSL_PARAM *)p;
4859
# endif
4860
0
                        break;
4861
0
                    }
4862
0
                    break;
4863
0
                }
4864
0
                break;
4865
0
            }
4866
0
    return 1;
4867
0
}
Unexecuted instantiation: rsa_backend.c:rsapss_gen_set_params_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsapss_gen_set_params_decoder
Unexecuted instantiation: rsa_ameth.c:rsapss_gen_set_params_decoder
4868
#endif
4869
/* End of machine generated */
4870
4871
/* Legacy EVP_PKEY import-from callbacks retain their existing signatures. */
4872
#define rsa_pkey_import_from_st rsa_params_st
4873
/* Machine generated */
4874
#ifndef rsa_pkey_import_from_list
4875
static ossl_unused const OSSL_PARAM rsa_pkey_import_from_list[] = {
4876
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
4877
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
4878
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
4879
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
4880
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
4881
# if !defined(FIPS_MODULE)
4882
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
4883
# endif
4884
# if !defined(FIPS_MODULE)
4885
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
4886
# endif
4887
# if !defined(FIPS_MODULE)
4888
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
4889
# endif
4890
# if !defined(FIPS_MODULE)
4891
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
4892
# endif
4893
# if !defined(FIPS_MODULE)
4894
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
4895
# endif
4896
# if !defined(FIPS_MODULE)
4897
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
4898
# endif
4899
# if !defined(FIPS_MODULE)
4900
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
4901
# endif
4902
# if !defined(FIPS_MODULE)
4903
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
4904
# endif
4905
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
4906
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
4907
# if !defined(FIPS_MODULE)
4908
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
4909
# endif
4910
# if !defined(FIPS_MODULE)
4911
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
4912
# endif
4913
# if !defined(FIPS_MODULE)
4914
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
4915
# endif
4916
# if !defined(FIPS_MODULE)
4917
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
4918
# endif
4919
# if !defined(FIPS_MODULE)
4920
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
4921
# endif
4922
# if !defined(FIPS_MODULE)
4923
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
4924
# endif
4925
# if !defined(FIPS_MODULE)
4926
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
4927
# endif
4928
# if !defined(FIPS_MODULE)
4929
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
4930
# endif
4931
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
4932
# if !defined(FIPS_MODULE)
4933
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
4934
# endif
4935
# if !defined(FIPS_MODULE)
4936
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
4937
# endif
4938
# if !defined(FIPS_MODULE)
4939
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
4940
# endif
4941
# if !defined(FIPS_MODULE)
4942
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
4943
# endif
4944
# if !defined(FIPS_MODULE)
4945
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
4946
# endif
4947
# if !defined(FIPS_MODULE)
4948
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
4949
# endif
4950
# if !defined(FIPS_MODULE)
4951
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
4952
# endif
4953
# if !defined(FIPS_MODULE)
4954
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
4955
# endif
4956
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ, NULL),
4957
    OSSL_PARAM_END
4958
};
4959
#endif
4960
4961
#ifndef rsa_pkey_import_from_st
4962
struct rsa_pkey_import_from_st {
4963
    OSSL_PARAM *d;
4964
    OSSL_PARAM *derive;
4965
    OSSL_PARAM *e;
4966
    OSSL_PARAM *mp.coeffs[0];
4967
# if !defined(FIPS_MODULE)
4968
    OSSL_PARAM *mp.coeffs[1];
4969
# endif
4970
# if !defined(FIPS_MODULE)
4971
    OSSL_PARAM *mp.coeffs[2];
4972
# endif
4973
# if !defined(FIPS_MODULE)
4974
    OSSL_PARAM *mp.coeffs[3];
4975
# endif
4976
# if !defined(FIPS_MODULE)
4977
    OSSL_PARAM *mp.coeffs[4];
4978
# endif
4979
# if !defined(FIPS_MODULE)
4980
    OSSL_PARAM *mp.coeffs[5];
4981
# endif
4982
# if !defined(FIPS_MODULE)
4983
    OSSL_PARAM *mp.coeffs[6];
4984
# endif
4985
# if !defined(FIPS_MODULE)
4986
    OSSL_PARAM *mp.coeffs[7];
4987
# endif
4988
# if !defined(FIPS_MODULE)
4989
    OSSL_PARAM *mp.coeffs[8];
4990
# endif
4991
    OSSL_PARAM *mp.exps[0];
4992
    OSSL_PARAM *mp.exps[1];
4993
# if !defined(FIPS_MODULE)
4994
    OSSL_PARAM *mp.exps[2];
4995
# endif
4996
# if !defined(FIPS_MODULE)
4997
    OSSL_PARAM *mp.exps[3];
4998
# endif
4999
# if !defined(FIPS_MODULE)
5000
    OSSL_PARAM *mp.exps[4];
5001
# endif
5002
# if !defined(FIPS_MODULE)
5003
    OSSL_PARAM *mp.exps[5];
5004
# endif
5005
# if !defined(FIPS_MODULE)
5006
    OSSL_PARAM *mp.exps[6];
5007
# endif
5008
# if !defined(FIPS_MODULE)
5009
    OSSL_PARAM *mp.exps[7];
5010
# endif
5011
# if !defined(FIPS_MODULE)
5012
    OSSL_PARAM *mp.exps[8];
5013
# endif
5014
# if !defined(FIPS_MODULE)
5015
    OSSL_PARAM *mp.exps[9];
5016
# endif
5017
    OSSL_PARAM *mp.factors[0];
5018
    OSSL_PARAM *mp.factors[1];
5019
# if !defined(FIPS_MODULE)
5020
    OSSL_PARAM *mp.factors[2];
5021
# endif
5022
# if !defined(FIPS_MODULE)
5023
    OSSL_PARAM *mp.factors[3];
5024
# endif
5025
# if !defined(FIPS_MODULE)
5026
    OSSL_PARAM *mp.factors[4];
5027
# endif
5028
# if !defined(FIPS_MODULE)
5029
    OSSL_PARAM *mp.factors[5];
5030
# endif
5031
# if !defined(FIPS_MODULE)
5032
    OSSL_PARAM *mp.factors[6];
5033
# endif
5034
# if !defined(FIPS_MODULE)
5035
    OSSL_PARAM *mp.factors[7];
5036
# endif
5037
# if !defined(FIPS_MODULE)
5038
    OSSL_PARAM *mp.factors[8];
5039
# endif
5040
# if !defined(FIPS_MODULE)
5041
    OSSL_PARAM *mp.factors[9];
5042
# endif
5043
    OSSL_PARAM *n;
5044
};
5045
#endif
5046
5047
#ifndef rsa_pkey_import_from_decoder
5048
static ossl_unused int rsa_pkey_import_from_decoder
5049
    (const OSSL_PARAM *p, struct rsa_pkey_import_from_st *r)
5050
0
{
5051
0
    const char *s;
5052
5053
0
    memset(r, 0, sizeof(*r));
5054
0
    if (p != NULL)
5055
0
        for (; (s = p->key) != NULL; p++)
5056
0
            switch(s[0]) {
5057
0
            default:
5058
0
                break;
5059
0
            case 'd':
5060
0
                switch(s[1]) {
5061
0
                default:
5062
0
                    break;
5063
0
                case '\0':
5064
0
                    if (ossl_unlikely(r->d != NULL)) {
5065
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5066
0
                                       "param %s is repeated", s);
5067
0
                        return 0;
5068
0
                    }
5069
0
                    r->d = (OSSL_PARAM *)p;
5070
0
                }
5071
0
                break;
5072
0
            case 'e':
5073
0
                switch(s[1]) {
5074
0
                default:
5075
0
                    break;
5076
0
                case '\0':
5077
0
                    if (ossl_unlikely(r->e != NULL)) {
5078
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5079
0
                                       "param %s is repeated", s);
5080
0
                        return 0;
5081
0
                    }
5082
0
                    r->e = (OSSL_PARAM *)p;
5083
0
                }
5084
0
                break;
5085
0
            case 'n':
5086
0
                switch(s[1]) {
5087
0
                default:
5088
0
                    break;
5089
0
                case '\0':
5090
0
                    if (ossl_unlikely(r->n != NULL)) {
5091
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5092
0
                                       "param %s is repeated", s);
5093
0
                        return 0;
5094
0
                    }
5095
0
                    r->n = (OSSL_PARAM *)p;
5096
0
                }
5097
0
                break;
5098
0
            case 'r':
5099
0
                switch(s[1]) {
5100
0
                default:
5101
0
                    break;
5102
0
                case 's':
5103
0
                    switch(s[2]) {
5104
0
                    default:
5105
0
                        break;
5106
0
                    case 'a':
5107
0
                        switch(s[3]) {
5108
0
                        default:
5109
0
                            break;
5110
0
                        case '-':
5111
0
                            switch(s[4]) {
5112
0
                            default:
5113
0
                                break;
5114
0
                            case 'c':
5115
0
                                switch(s[5]) {
5116
0
                                default:
5117
0
                                    break;
5118
0
                                case 'o':
5119
0
                                    switch(s[6]) {
5120
0
                                    default:
5121
0
                                        break;
5122
0
                                    case 'e':
5123
0
                                        switch(s[7]) {
5124
0
                                        default:
5125
0
                                            break;
5126
0
                                        case 'f':
5127
0
                                            switch(s[8]) {
5128
0
                                            default:
5129
0
                                                break;
5130
0
                                            case 'f':
5131
0
                                                switch(s[9]) {
5132
0
                                                default:
5133
0
                                                    break;
5134
0
                                                case 'i':
5135
0
                                                    switch(s[10]) {
5136
0
                                                    default:
5137
0
                                                        break;
5138
0
                                                    case 'c':
5139
0
                                                        switch(s[11]) {
5140
0
                                                        default:
5141
0
                                                            break;
5142
0
                                                        case 'i':
5143
0
                                                            switch(s[12]) {
5144
0
                                                            default:
5145
0
                                                                break;
5146
0
                                                            case 'e':
5147
0
                                                                switch(s[13]) {
5148
0
                                                                default:
5149
0
                                                                    break;
5150
0
                                                                case 'n':
5151
0
                                                                    switch(s[14]) {
5152
0
                                                                    default:
5153
0
                                                                        break;
5154
0
                                                                    case 't':
5155
0
                                                                        switch(s[15]) {
5156
0
                                                                        default:
5157
0
                                                                            break;
5158
0
                                                                        case '1':
5159
0
                                                                            switch(s[16]) {
5160
0
                                                                            default:
5161
0
                                                                                break;
5162
0
                                                                            case '\0':
5163
0
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
5164
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5165
0
                                                                                                   "param %s is repeated", s);
5166
0
                                                                                    return 0;
5167
0
                                                                                }
5168
0
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
5169
0
                                                                            }
5170
0
                                                                            break;
5171
0
                                                                        case '2':
5172
0
                                                                            switch(s[16]) {
5173
0
                                                                            default:
5174
0
                                                                                break;
5175
0
                                                                            case '\0':
5176
0
# if !defined(FIPS_MODULE)
5177
0
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
5178
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5179
0
                                                                                                   "param %s is repeated", s);
5180
0
                                                                                    return 0;
5181
0
                                                                                }
5182
0
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
5183
0
# endif
5184
0
                                                                                break;
5185
0
                                                                            }
5186
0
                                                                            break;
5187
0
                                                                        case '3':
5188
0
                                                                            switch(s[16]) {
5189
0
                                                                            default:
5190
0
                                                                                break;
5191
0
                                                                            case '\0':
5192
0
# if !defined(FIPS_MODULE)
5193
0
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
5194
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5195
0
                                                                                                   "param %s is repeated", s);
5196
0
                                                                                    return 0;
5197
0
                                                                                }
5198
0
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
5199
0
# endif
5200
0
                                                                                break;
5201
0
                                                                            }
5202
0
                                                                            break;
5203
0
                                                                        case '4':
5204
0
                                                                            switch(s[16]) {
5205
0
                                                                            default:
5206
0
                                                                                break;
5207
0
                                                                            case '\0':
5208
0
# if !defined(FIPS_MODULE)
5209
0
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
5210
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5211
0
                                                                                                   "param %s is repeated", s);
5212
0
                                                                                    return 0;
5213
0
                                                                                }
5214
0
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
5215
0
# endif
5216
0
                                                                                break;
5217
0
                                                                            }
5218
0
                                                                            break;
5219
0
                                                                        case '5':
5220
0
                                                                            switch(s[16]) {
5221
0
                                                                            default:
5222
0
                                                                                break;
5223
0
                                                                            case '\0':
5224
0
# if !defined(FIPS_MODULE)
5225
0
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
5226
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5227
0
                                                                                                   "param %s is repeated", s);
5228
0
                                                                                    return 0;
5229
0
                                                                                }
5230
0
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
5231
0
# endif
5232
0
                                                                                break;
5233
0
                                                                            }
5234
0
                                                                            break;
5235
0
                                                                        case '6':
5236
0
                                                                            switch(s[16]) {
5237
0
                                                                            default:
5238
0
                                                                                break;
5239
0
                                                                            case '\0':
5240
0
# if !defined(FIPS_MODULE)
5241
0
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
5242
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5243
0
                                                                                                   "param %s is repeated", s);
5244
0
                                                                                    return 0;
5245
0
                                                                                }
5246
0
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
5247
0
# endif
5248
0
                                                                                break;
5249
0
                                                                            }
5250
0
                                                                            break;
5251
0
                                                                        case '7':
5252
0
                                                                            switch(s[16]) {
5253
0
                                                                            default:
5254
0
                                                                                break;
5255
0
                                                                            case '\0':
5256
0
# if !defined(FIPS_MODULE)
5257
0
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
5258
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5259
0
                                                                                                   "param %s is repeated", s);
5260
0
                                                                                    return 0;
5261
0
                                                                                }
5262
0
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
5263
0
# endif
5264
0
                                                                                break;
5265
0
                                                                            }
5266
0
                                                                            break;
5267
0
                                                                        case '8':
5268
0
                                                                            switch(s[16]) {
5269
0
                                                                            default:
5270
0
                                                                                break;
5271
0
                                                                            case '\0':
5272
0
# if !defined(FIPS_MODULE)
5273
0
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
5274
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5275
0
                                                                                                   "param %s is repeated", s);
5276
0
                                                                                    return 0;
5277
0
                                                                                }
5278
0
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
5279
0
# endif
5280
0
                                                                                break;
5281
0
                                                                            }
5282
0
                                                                            break;
5283
0
                                                                        case '9':
5284
0
                                                                            switch(s[16]) {
5285
0
                                                                            default:
5286
0
                                                                                break;
5287
0
                                                                            case '\0':
5288
0
# if !defined(FIPS_MODULE)
5289
0
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
5290
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5291
0
                                                                                                   "param %s is repeated", s);
5292
0
                                                                                    return 0;
5293
0
                                                                                }
5294
0
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
5295
0
# endif
5296
0
                                                                                break;
5297
0
                                                                            }
5298
0
                                                                            break;
5299
0
                                                                        }
5300
0
                                                                        break;
5301
0
                                                                    }
5302
0
                                                                    break;
5303
0
                                                                }
5304
0
                                                                break;
5305
0
                                                            }
5306
0
                                                            break;
5307
0
                                                        }
5308
0
                                                        break;
5309
0
                                                    }
5310
0
                                                    break;
5311
0
                                                }
5312
0
                                                break;
5313
0
                                            }
5314
0
                                            break;
5315
0
                                        }
5316
0
                                        break;
5317
0
                                    }
5318
0
                                    break;
5319
0
                                }
5320
0
                                break;
5321
0
                            case 'd':
5322
0
                                if (ossl_likely(strcmp("erive-from-pq", s + 5) == 0)) {
5323
                                    /* OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ */
5324
0
                                    if (ossl_unlikely(r->derive != NULL)) {
5325
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5326
0
                                                       "param %s is repeated", s);
5327
0
                                        return 0;
5328
0
                                    }
5329
0
                                    r->derive = (OSSL_PARAM *)p;
5330
0
                                }
5331
0
                                break;
5332
0
                            case 'e':
5333
0
                                switch(s[5]) {
5334
0
                                default:
5335
0
                                    break;
5336
0
                                case 'x':
5337
0
                                    switch(s[6]) {
5338
0
                                    default:
5339
0
                                        break;
5340
0
                                    case 'p':
5341
0
                                        switch(s[7]) {
5342
0
                                        default:
5343
0
                                            break;
5344
0
                                        case 'o':
5345
0
                                            switch(s[8]) {
5346
0
                                            default:
5347
0
                                                break;
5348
0
                                            case 'n':
5349
0
                                                switch(s[9]) {
5350
0
                                                default:
5351
0
                                                    break;
5352
0
                                                case 'e':
5353
0
                                                    switch(s[10]) {
5354
0
                                                    default:
5355
0
                                                        break;
5356
0
                                                    case 'n':
5357
0
                                                        switch(s[11]) {
5358
0
                                                        default:
5359
0
                                                            break;
5360
0
                                                        case 't':
5361
0
                                                            switch(s[12]) {
5362
0
                                                            default:
5363
0
                                                                break;
5364
0
                                                            case '1':
5365
0
                                                                switch(s[13]) {
5366
0
                                                                default:
5367
0
                                                                    break;
5368
0
                                                                case '0':
5369
0
                                                                    switch(s[14]) {
5370
0
                                                                    default:
5371
0
                                                                        break;
5372
0
                                                                    case '\0':
5373
0
# if !defined(FIPS_MODULE)
5374
0
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
5375
0
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5376
0
                                                                                           "param %s is repeated", s);
5377
0
                                                                            return 0;
5378
0
                                                                        }
5379
0
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
5380
0
# endif
5381
0
                                                                        break;
5382
0
                                                                    }
5383
0
                                                                    break;
5384
0
                                                                case '\0':
5385
0
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
5386
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5387
0
                                                                                       "param %s is repeated", s);
5388
0
                                                                        return 0;
5389
0
                                                                    }
5390
0
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
5391
0
                                                                }
5392
0
                                                                break;
5393
0
                                                            case '2':
5394
0
                                                                switch(s[13]) {
5395
0
                                                                default:
5396
0
                                                                    break;
5397
0
                                                                case '\0':
5398
0
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
5399
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5400
0
                                                                                       "param %s is repeated", s);
5401
0
                                                                        return 0;
5402
0
                                                                    }
5403
0
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
5404
0
                                                                }
5405
0
                                                                break;
5406
0
                                                            case '3':
5407
0
                                                                switch(s[13]) {
5408
0
                                                                default:
5409
0
                                                                    break;
5410
0
                                                                case '\0':
5411
0
# if !defined(FIPS_MODULE)
5412
0
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
5413
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5414
0
                                                                                       "param %s is repeated", s);
5415
0
                                                                        return 0;
5416
0
                                                                    }
5417
0
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
5418
0
# endif
5419
0
                                                                    break;
5420
0
                                                                }
5421
0
                                                                break;
5422
0
                                                            case '4':
5423
0
                                                                switch(s[13]) {
5424
0
                                                                default:
5425
0
                                                                    break;
5426
0
                                                                case '\0':
5427
0
# if !defined(FIPS_MODULE)
5428
0
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
5429
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5430
0
                                                                                       "param %s is repeated", s);
5431
0
                                                                        return 0;
5432
0
                                                                    }
5433
0
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
5434
0
# endif
5435
0
                                                                    break;
5436
0
                                                                }
5437
0
                                                                break;
5438
0
                                                            case '5':
5439
0
                                                                switch(s[13]) {
5440
0
                                                                default:
5441
0
                                                                    break;
5442
0
                                                                case '\0':
5443
0
# if !defined(FIPS_MODULE)
5444
0
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
5445
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5446
0
                                                                                       "param %s is repeated", s);
5447
0
                                                                        return 0;
5448
0
                                                                    }
5449
0
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
5450
0
# endif
5451
0
                                                                    break;
5452
0
                                                                }
5453
0
                                                                break;
5454
0
                                                            case '6':
5455
0
                                                                switch(s[13]) {
5456
0
                                                                default:
5457
0
                                                                    break;
5458
0
                                                                case '\0':
5459
0
# if !defined(FIPS_MODULE)
5460
0
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
5461
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5462
0
                                                                                       "param %s is repeated", s);
5463
0
                                                                        return 0;
5464
0
                                                                    }
5465
0
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
5466
0
# endif
5467
0
                                                                    break;
5468
0
                                                                }
5469
0
                                                                break;
5470
0
                                                            case '7':
5471
0
                                                                switch(s[13]) {
5472
0
                                                                default:
5473
0
                                                                    break;
5474
0
                                                                case '\0':
5475
0
# if !defined(FIPS_MODULE)
5476
0
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
5477
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5478
0
                                                                                       "param %s is repeated", s);
5479
0
                                                                        return 0;
5480
0
                                                                    }
5481
0
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
5482
0
# endif
5483
0
                                                                    break;
5484
0
                                                                }
5485
0
                                                                break;
5486
0
                                                            case '8':
5487
0
                                                                switch(s[13]) {
5488
0
                                                                default:
5489
0
                                                                    break;
5490
0
                                                                case '\0':
5491
0
# if !defined(FIPS_MODULE)
5492
0
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
5493
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5494
0
                                                                                       "param %s is repeated", s);
5495
0
                                                                        return 0;
5496
0
                                                                    }
5497
0
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
5498
0
# endif
5499
0
                                                                    break;
5500
0
                                                                }
5501
0
                                                                break;
5502
0
                                                            case '9':
5503
0
                                                                switch(s[13]) {
5504
0
                                                                default:
5505
0
                                                                    break;
5506
0
                                                                case '\0':
5507
0
# if !defined(FIPS_MODULE)
5508
0
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
5509
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5510
0
                                                                                       "param %s is repeated", s);
5511
0
                                                                        return 0;
5512
0
                                                                    }
5513
0
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
5514
0
# endif
5515
0
                                                                    break;
5516
0
                                                                }
5517
0
                                                                break;
5518
0
                                                            }
5519
0
                                                            break;
5520
0
                                                        }
5521
0
                                                        break;
5522
0
                                                    }
5523
0
                                                    break;
5524
0
                                                }
5525
0
                                                break;
5526
0
                                            }
5527
0
                                            break;
5528
0
                                        }
5529
0
                                        break;
5530
0
                                    }
5531
0
                                    break;
5532
0
                                }
5533
0
                                break;
5534
0
                            case 'f':
5535
0
                                switch(s[5]) {
5536
0
                                default:
5537
0
                                    break;
5538
0
                                case 'a':
5539
0
                                    switch(s[6]) {
5540
0
                                    default:
5541
0
                                        break;
5542
0
                                    case 'c':
5543
0
                                        switch(s[7]) {
5544
0
                                        default:
5545
0
                                            break;
5546
0
                                        case 't':
5547
0
                                            switch(s[8]) {
5548
0
                                            default:
5549
0
                                                break;
5550
0
                                            case 'o':
5551
0
                                                switch(s[9]) {
5552
0
                                                default:
5553
0
                                                    break;
5554
0
                                                case 'r':
5555
0
                                                    switch(s[10]) {
5556
0
                                                    default:
5557
0
                                                        break;
5558
0
                                                    case '1':
5559
0
                                                        switch(s[11]) {
5560
0
                                                        default:
5561
0
                                                            break;
5562
0
                                                        case '0':
5563
0
                                                            switch(s[12]) {
5564
0
                                                            default:
5565
0
                                                                break;
5566
0
                                                            case '\0':
5567
0
# if !defined(FIPS_MODULE)
5568
0
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
5569
0
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5570
0
                                                                                   "param %s is repeated", s);
5571
0
                                                                    return 0;
5572
0
                                                                }
5573
0
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
5574
0
# endif
5575
0
                                                                break;
5576
0
                                                            }
5577
0
                                                            break;
5578
0
                                                        case '\0':
5579
0
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
5580
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5581
0
                                                                               "param %s is repeated", s);
5582
0
                                                                return 0;
5583
0
                                                            }
5584
0
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
5585
0
                                                        }
5586
0
                                                        break;
5587
0
                                                    case '2':
5588
0
                                                        switch(s[11]) {
5589
0
                                                        default:
5590
0
                                                            break;
5591
0
                                                        case '\0':
5592
0
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
5593
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5594
0
                                                                               "param %s is repeated", s);
5595
0
                                                                return 0;
5596
0
                                                            }
5597
0
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
5598
0
                                                        }
5599
0
                                                        break;
5600
0
                                                    case '3':
5601
0
                                                        switch(s[11]) {
5602
0
                                                        default:
5603
0
                                                            break;
5604
0
                                                        case '\0':
5605
0
# if !defined(FIPS_MODULE)
5606
0
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
5607
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5608
0
                                                                               "param %s is repeated", s);
5609
0
                                                                return 0;
5610
0
                                                            }
5611
0
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
5612
0
# endif
5613
0
                                                            break;
5614
0
                                                        }
5615
0
                                                        break;
5616
0
                                                    case '4':
5617
0
                                                        switch(s[11]) {
5618
0
                                                        default:
5619
0
                                                            break;
5620
0
                                                        case '\0':
5621
0
# if !defined(FIPS_MODULE)
5622
0
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
5623
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5624
0
                                                                               "param %s is repeated", s);
5625
0
                                                                return 0;
5626
0
                                                            }
5627
0
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
5628
0
# endif
5629
0
                                                            break;
5630
0
                                                        }
5631
0
                                                        break;
5632
0
                                                    case '5':
5633
0
                                                        switch(s[11]) {
5634
0
                                                        default:
5635
0
                                                            break;
5636
0
                                                        case '\0':
5637
0
# if !defined(FIPS_MODULE)
5638
0
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
5639
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5640
0
                                                                               "param %s is repeated", s);
5641
0
                                                                return 0;
5642
0
                                                            }
5643
0
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
5644
0
# endif
5645
0
                                                            break;
5646
0
                                                        }
5647
0
                                                        break;
5648
0
                                                    case '6':
5649
0
                                                        switch(s[11]) {
5650
0
                                                        default:
5651
0
                                                            break;
5652
0
                                                        case '\0':
5653
0
# if !defined(FIPS_MODULE)
5654
0
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
5655
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5656
0
                                                                               "param %s is repeated", s);
5657
0
                                                                return 0;
5658
0
                                                            }
5659
0
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
5660
0
# endif
5661
0
                                                            break;
5662
0
                                                        }
5663
0
                                                        break;
5664
0
                                                    case '7':
5665
0
                                                        switch(s[11]) {
5666
0
                                                        default:
5667
0
                                                            break;
5668
0
                                                        case '\0':
5669
0
# if !defined(FIPS_MODULE)
5670
0
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
5671
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5672
0
                                                                               "param %s is repeated", s);
5673
0
                                                                return 0;
5674
0
                                                            }
5675
0
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
5676
0
# endif
5677
0
                                                            break;
5678
0
                                                        }
5679
0
                                                        break;
5680
0
                                                    case '8':
5681
0
                                                        switch(s[11]) {
5682
0
                                                        default:
5683
0
                                                            break;
5684
0
                                                        case '\0':
5685
0
# if !defined(FIPS_MODULE)
5686
0
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
5687
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5688
0
                                                                               "param %s is repeated", s);
5689
0
                                                                return 0;
5690
0
                                                            }
5691
0
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
5692
0
# endif
5693
0
                                                            break;
5694
0
                                                        }
5695
0
                                                        break;
5696
0
                                                    case '9':
5697
0
                                                        switch(s[11]) {
5698
0
                                                        default:
5699
0
                                                            break;
5700
0
                                                        case '\0':
5701
0
# if !defined(FIPS_MODULE)
5702
0
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
5703
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5704
0
                                                                               "param %s is repeated", s);
5705
0
                                                                return 0;
5706
0
                                                            }
5707
0
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
5708
0
# endif
5709
0
                                                            break;
5710
0
                                                        }
5711
0
                                                        break;
5712
0
                                                    }
5713
0
                                                    break;
5714
0
                                                }
5715
0
                                                break;
5716
0
                                            }
5717
0
                                            break;
5718
0
                                        }
5719
0
                                        break;
5720
0
                                    }
5721
0
                                    break;
5722
0
                                }
5723
0
                                break;
5724
0
                            }
5725
0
                            break;
5726
0
                        }
5727
0
                        break;
5728
0
                    }
5729
0
                    break;
5730
0
                }
5731
0
                break;
5732
0
            }
5733
0
    return 1;
5734
0
}
Unexecuted instantiation: rsa_backend.c:rsa_pkey_import_from_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsa_pkey_import_from_decoder
Unexecuted instantiation: rsa_ameth.c:rsa_pkey_import_from_decoder
5735
#endif
5736
/* End of machine generated */
5737
5738
#define rsa_pss_pkey_import_from_st rsa_params_st
5739
/* Machine generated */
5740
#ifndef rsa_pss_pkey_import_from_list
5741
static ossl_unused const OSSL_PARAM rsa_pss_pkey_import_from_list[] = {
5742
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
5743
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
5744
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
5745
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
5746
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
5747
# if !defined(FIPS_MODULE)
5748
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
5749
# endif
5750
# if !defined(FIPS_MODULE)
5751
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
5752
# endif
5753
# if !defined(FIPS_MODULE)
5754
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
5755
# endif
5756
# if !defined(FIPS_MODULE)
5757
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
5758
# endif
5759
# if !defined(FIPS_MODULE)
5760
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
5761
# endif
5762
# if !defined(FIPS_MODULE)
5763
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
5764
# endif
5765
# if !defined(FIPS_MODULE)
5766
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
5767
# endif
5768
# if !defined(FIPS_MODULE)
5769
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
5770
# endif
5771
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
5772
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
5773
# if !defined(FIPS_MODULE)
5774
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
5775
# endif
5776
# if !defined(FIPS_MODULE)
5777
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
5778
# endif
5779
# if !defined(FIPS_MODULE)
5780
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
5781
# endif
5782
# if !defined(FIPS_MODULE)
5783
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
5784
# endif
5785
# if !defined(FIPS_MODULE)
5786
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
5787
# endif
5788
# if !defined(FIPS_MODULE)
5789
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
5790
# endif
5791
# if !defined(FIPS_MODULE)
5792
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
5793
# endif
5794
# if !defined(FIPS_MODULE)
5795
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
5796
# endif
5797
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
5798
# if !defined(FIPS_MODULE)
5799
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
5800
# endif
5801
# if !defined(FIPS_MODULE)
5802
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
5803
# endif
5804
# if !defined(FIPS_MODULE)
5805
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
5806
# endif
5807
# if !defined(FIPS_MODULE)
5808
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
5809
# endif
5810
# if !defined(FIPS_MODULE)
5811
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
5812
# endif
5813
# if !defined(FIPS_MODULE)
5814
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
5815
# endif
5816
# if !defined(FIPS_MODULE)
5817
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
5818
# endif
5819
# if !defined(FIPS_MODULE)
5820
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
5821
# endif
5822
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ, NULL),
5823
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST, NULL, 0),
5824
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST_PROPS, NULL, 0),
5825
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MASKGENFUNC, NULL, 0),
5826
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MGF1_DIGEST, NULL, 0),
5827
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_PSS_SALTLEN, NULL),
5828
    OSSL_PARAM_END
5829
};
5830
#endif
5831
5832
#ifndef rsa_pss_pkey_import_from_st
5833
struct rsa_pss_pkey_import_from_st {
5834
    OSSL_PARAM *d;
5835
    OSSL_PARAM *derive;
5836
    OSSL_PARAM *digest;
5837
    OSSL_PARAM *digest_props;
5838
    OSSL_PARAM *e;
5839
    OSSL_PARAM *maskgenfunc;
5840
    OSSL_PARAM *mgf1_digest;
5841
    OSSL_PARAM *mp.coeffs[0];
5842
# if !defined(FIPS_MODULE)
5843
    OSSL_PARAM *mp.coeffs[1];
5844
# endif
5845
# if !defined(FIPS_MODULE)
5846
    OSSL_PARAM *mp.coeffs[2];
5847
# endif
5848
# if !defined(FIPS_MODULE)
5849
    OSSL_PARAM *mp.coeffs[3];
5850
# endif
5851
# if !defined(FIPS_MODULE)
5852
    OSSL_PARAM *mp.coeffs[4];
5853
# endif
5854
# if !defined(FIPS_MODULE)
5855
    OSSL_PARAM *mp.coeffs[5];
5856
# endif
5857
# if !defined(FIPS_MODULE)
5858
    OSSL_PARAM *mp.coeffs[6];
5859
# endif
5860
# if !defined(FIPS_MODULE)
5861
    OSSL_PARAM *mp.coeffs[7];
5862
# endif
5863
# if !defined(FIPS_MODULE)
5864
    OSSL_PARAM *mp.coeffs[8];
5865
# endif
5866
    OSSL_PARAM *mp.exps[0];
5867
    OSSL_PARAM *mp.exps[1];
5868
# if !defined(FIPS_MODULE)
5869
    OSSL_PARAM *mp.exps[2];
5870
# endif
5871
# if !defined(FIPS_MODULE)
5872
    OSSL_PARAM *mp.exps[3];
5873
# endif
5874
# if !defined(FIPS_MODULE)
5875
    OSSL_PARAM *mp.exps[4];
5876
# endif
5877
# if !defined(FIPS_MODULE)
5878
    OSSL_PARAM *mp.exps[5];
5879
# endif
5880
# if !defined(FIPS_MODULE)
5881
    OSSL_PARAM *mp.exps[6];
5882
# endif
5883
# if !defined(FIPS_MODULE)
5884
    OSSL_PARAM *mp.exps[7];
5885
# endif
5886
# if !defined(FIPS_MODULE)
5887
    OSSL_PARAM *mp.exps[8];
5888
# endif
5889
# if !defined(FIPS_MODULE)
5890
    OSSL_PARAM *mp.exps[9];
5891
# endif
5892
    OSSL_PARAM *mp.factors[0];
5893
    OSSL_PARAM *mp.factors[1];
5894
# if !defined(FIPS_MODULE)
5895
    OSSL_PARAM *mp.factors[2];
5896
# endif
5897
# if !defined(FIPS_MODULE)
5898
    OSSL_PARAM *mp.factors[3];
5899
# endif
5900
# if !defined(FIPS_MODULE)
5901
    OSSL_PARAM *mp.factors[4];
5902
# endif
5903
# if !defined(FIPS_MODULE)
5904
    OSSL_PARAM *mp.factors[5];
5905
# endif
5906
# if !defined(FIPS_MODULE)
5907
    OSSL_PARAM *mp.factors[6];
5908
# endif
5909
# if !defined(FIPS_MODULE)
5910
    OSSL_PARAM *mp.factors[7];
5911
# endif
5912
# if !defined(FIPS_MODULE)
5913
    OSSL_PARAM *mp.factors[8];
5914
# endif
5915
# if !defined(FIPS_MODULE)
5916
    OSSL_PARAM *mp.factors[9];
5917
# endif
5918
    OSSL_PARAM *n;
5919
    OSSL_PARAM *pss_saltlen;
5920
};
5921
#endif
5922
5923
#ifndef rsa_pss_pkey_import_from_decoder
5924
static ossl_unused int rsa_pss_pkey_import_from_decoder
5925
    (const OSSL_PARAM *p, struct rsa_pss_pkey_import_from_st *r)
5926
0
{
5927
0
    const char *s;
5928
5929
0
    memset(r, 0, sizeof(*r));
5930
0
    if (p != NULL)
5931
0
        for (; (s = p->key) != NULL; p++)
5932
0
            switch(s[0]) {
5933
0
            default:
5934
0
                break;
5935
0
            case 'd':
5936
0
                switch(s[1]) {
5937
0
                default:
5938
0
                    break;
5939
0
                case 'i':
5940
0
                    if (ossl_likely(strcmp("gest", s + 2) == 0)) {
5941
                        /* OSSL_PKEY_PARAM_RSA_DIGEST */
5942
0
                        if (ossl_unlikely(r->digest != NULL)) {
5943
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5944
0
                                           "param %s is repeated", s);
5945
0
                            return 0;
5946
0
                        }
5947
0
                        r->digest = (OSSL_PARAM *)p;
5948
0
                    }
5949
0
                    break;
5950
0
                case '\0':
5951
0
                    if (ossl_unlikely(r->d != NULL)) {
5952
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5953
0
                                       "param %s is repeated", s);
5954
0
                        return 0;
5955
0
                    }
5956
0
                    r->d = (OSSL_PARAM *)p;
5957
0
                }
5958
0
                break;
5959
0
            case 'e':
5960
0
                switch(s[1]) {
5961
0
                default:
5962
0
                    break;
5963
0
                case '\0':
5964
0
                    if (ossl_unlikely(r->e != NULL)) {
5965
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5966
0
                                       "param %s is repeated", s);
5967
0
                        return 0;
5968
0
                    }
5969
0
                    r->e = (OSSL_PARAM *)p;
5970
0
                }
5971
0
                break;
5972
0
            case 'm':
5973
0
                switch(s[1]) {
5974
0
                default:
5975
0
                    break;
5976
0
                case 'g':
5977
0
                    switch(s[2]) {
5978
0
                    default:
5979
0
                        break;
5980
0
                    case 'f':
5981
0
                        switch(s[3]) {
5982
0
                        default:
5983
0
                            break;
5984
0
                        case '1':
5985
0
                            if (ossl_likely(strcmp("-digest", s + 4) == 0)) {
5986
                                /* OSSL_PKEY_PARAM_RSA_MGF1_DIGEST */
5987
0
                                if (ossl_unlikely(r->mgf1_digest != NULL)) {
5988
0
                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5989
0
                                                   "param %s is repeated", s);
5990
0
                                    return 0;
5991
0
                                }
5992
0
                                r->mgf1_digest = (OSSL_PARAM *)p;
5993
0
                            }
5994
0
                            break;
5995
0
                        case '\0':
5996
0
                            if (ossl_unlikely(r->maskgenfunc != NULL)) {
5997
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
5998
0
                                               "param %s is repeated", s);
5999
0
                                return 0;
6000
0
                            }
6001
0
                            r->maskgenfunc = (OSSL_PARAM *)p;
6002
0
                        }
6003
0
                    }
6004
0
                }
6005
0
                break;
6006
0
            case 'n':
6007
0
                switch(s[1]) {
6008
0
                default:
6009
0
                    break;
6010
0
                case '\0':
6011
0
                    if (ossl_unlikely(r->n != NULL)) {
6012
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6013
0
                                       "param %s is repeated", s);
6014
0
                        return 0;
6015
0
                    }
6016
0
                    r->n = (OSSL_PARAM *)p;
6017
0
                }
6018
0
                break;
6019
0
            case 'p':
6020
0
                if (ossl_likely(strcmp("roperties", s + 1) == 0)) {
6021
                    /* OSSL_PKEY_PARAM_RSA_DIGEST_PROPS */
6022
0
                    if (ossl_unlikely(r->digest_props != NULL)) {
6023
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6024
0
                                       "param %s is repeated", s);
6025
0
                        return 0;
6026
0
                    }
6027
0
                    r->digest_props = (OSSL_PARAM *)p;
6028
0
                }
6029
0
                break;
6030
0
            case 'r':
6031
0
                switch(s[1]) {
6032
0
                default:
6033
0
                    break;
6034
0
                case 's':
6035
0
                    switch(s[2]) {
6036
0
                    default:
6037
0
                        break;
6038
0
                    case 'a':
6039
0
                        switch(s[3]) {
6040
0
                        default:
6041
0
                            break;
6042
0
                        case '-':
6043
0
                            switch(s[4]) {
6044
0
                            default:
6045
0
                                break;
6046
0
                            case 'c':
6047
0
                                switch(s[5]) {
6048
0
                                default:
6049
0
                                    break;
6050
0
                                case 'o':
6051
0
                                    switch(s[6]) {
6052
0
                                    default:
6053
0
                                        break;
6054
0
                                    case 'e':
6055
0
                                        switch(s[7]) {
6056
0
                                        default:
6057
0
                                            break;
6058
0
                                        case 'f':
6059
0
                                            switch(s[8]) {
6060
0
                                            default:
6061
0
                                                break;
6062
0
                                            case 'f':
6063
0
                                                switch(s[9]) {
6064
0
                                                default:
6065
0
                                                    break;
6066
0
                                                case 'i':
6067
0
                                                    switch(s[10]) {
6068
0
                                                    default:
6069
0
                                                        break;
6070
0
                                                    case 'c':
6071
0
                                                        switch(s[11]) {
6072
0
                                                        default:
6073
0
                                                            break;
6074
0
                                                        case 'i':
6075
0
                                                            switch(s[12]) {
6076
0
                                                            default:
6077
0
                                                                break;
6078
0
                                                            case 'e':
6079
0
                                                                switch(s[13]) {
6080
0
                                                                default:
6081
0
                                                                    break;
6082
0
                                                                case 'n':
6083
0
                                                                    switch(s[14]) {
6084
0
                                                                    default:
6085
0
                                                                        break;
6086
0
                                                                    case 't':
6087
0
                                                                        switch(s[15]) {
6088
0
                                                                        default:
6089
0
                                                                            break;
6090
0
                                                                        case '1':
6091
0
                                                                            switch(s[16]) {
6092
0
                                                                            default:
6093
0
                                                                                break;
6094
0
                                                                            case '\0':
6095
0
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
6096
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6097
0
                                                                                                   "param %s is repeated", s);
6098
0
                                                                                    return 0;
6099
0
                                                                                }
6100
0
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
6101
0
                                                                            }
6102
0
                                                                            break;
6103
0
                                                                        case '2':
6104
0
                                                                            switch(s[16]) {
6105
0
                                                                            default:
6106
0
                                                                                break;
6107
0
                                                                            case '\0':
6108
0
# if !defined(FIPS_MODULE)
6109
0
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
6110
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6111
0
                                                                                                   "param %s is repeated", s);
6112
0
                                                                                    return 0;
6113
0
                                                                                }
6114
0
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
6115
0
# endif
6116
0
                                                                                break;
6117
0
                                                                            }
6118
0
                                                                            break;
6119
0
                                                                        case '3':
6120
0
                                                                            switch(s[16]) {
6121
0
                                                                            default:
6122
0
                                                                                break;
6123
0
                                                                            case '\0':
6124
0
# if !defined(FIPS_MODULE)
6125
0
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
6126
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6127
0
                                                                                                   "param %s is repeated", s);
6128
0
                                                                                    return 0;
6129
0
                                                                                }
6130
0
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
6131
0
# endif
6132
0
                                                                                break;
6133
0
                                                                            }
6134
0
                                                                            break;
6135
0
                                                                        case '4':
6136
0
                                                                            switch(s[16]) {
6137
0
                                                                            default:
6138
0
                                                                                break;
6139
0
                                                                            case '\0':
6140
0
# if !defined(FIPS_MODULE)
6141
0
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
6142
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6143
0
                                                                                                   "param %s is repeated", s);
6144
0
                                                                                    return 0;
6145
0
                                                                                }
6146
0
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
6147
0
# endif
6148
0
                                                                                break;
6149
0
                                                                            }
6150
0
                                                                            break;
6151
0
                                                                        case '5':
6152
0
                                                                            switch(s[16]) {
6153
0
                                                                            default:
6154
0
                                                                                break;
6155
0
                                                                            case '\0':
6156
0
# if !defined(FIPS_MODULE)
6157
0
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
6158
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6159
0
                                                                                                   "param %s is repeated", s);
6160
0
                                                                                    return 0;
6161
0
                                                                                }
6162
0
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
6163
0
# endif
6164
0
                                                                                break;
6165
0
                                                                            }
6166
0
                                                                            break;
6167
0
                                                                        case '6':
6168
0
                                                                            switch(s[16]) {
6169
0
                                                                            default:
6170
0
                                                                                break;
6171
0
                                                                            case '\0':
6172
0
# if !defined(FIPS_MODULE)
6173
0
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
6174
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6175
0
                                                                                                   "param %s is repeated", s);
6176
0
                                                                                    return 0;
6177
0
                                                                                }
6178
0
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
6179
0
# endif
6180
0
                                                                                break;
6181
0
                                                                            }
6182
0
                                                                            break;
6183
0
                                                                        case '7':
6184
0
                                                                            switch(s[16]) {
6185
0
                                                                            default:
6186
0
                                                                                break;
6187
0
                                                                            case '\0':
6188
0
# if !defined(FIPS_MODULE)
6189
0
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
6190
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6191
0
                                                                                                   "param %s is repeated", s);
6192
0
                                                                                    return 0;
6193
0
                                                                                }
6194
0
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
6195
0
# endif
6196
0
                                                                                break;
6197
0
                                                                            }
6198
0
                                                                            break;
6199
0
                                                                        case '8':
6200
0
                                                                            switch(s[16]) {
6201
0
                                                                            default:
6202
0
                                                                                break;
6203
0
                                                                            case '\0':
6204
0
# if !defined(FIPS_MODULE)
6205
0
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
6206
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6207
0
                                                                                                   "param %s is repeated", s);
6208
0
                                                                                    return 0;
6209
0
                                                                                }
6210
0
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
6211
0
# endif
6212
0
                                                                                break;
6213
0
                                                                            }
6214
0
                                                                            break;
6215
0
                                                                        case '9':
6216
0
                                                                            switch(s[16]) {
6217
0
                                                                            default:
6218
0
                                                                                break;
6219
0
                                                                            case '\0':
6220
0
# if !defined(FIPS_MODULE)
6221
0
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
6222
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6223
0
                                                                                                   "param %s is repeated", s);
6224
0
                                                                                    return 0;
6225
0
                                                                                }
6226
0
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
6227
0
# endif
6228
0
                                                                                break;
6229
0
                                                                            }
6230
0
                                                                            break;
6231
0
                                                                        }
6232
0
                                                                        break;
6233
0
                                                                    }
6234
0
                                                                    break;
6235
0
                                                                }
6236
0
                                                                break;
6237
0
                                                            }
6238
0
                                                            break;
6239
0
                                                        }
6240
0
                                                        break;
6241
0
                                                    }
6242
0
                                                    break;
6243
0
                                                }
6244
0
                                                break;
6245
0
                                            }
6246
0
                                            break;
6247
0
                                        }
6248
0
                                        break;
6249
0
                                    }
6250
0
                                    break;
6251
0
                                }
6252
0
                                break;
6253
0
                            case 'd':
6254
0
                                if (ossl_likely(strcmp("erive-from-pq", s + 5) == 0)) {
6255
                                    /* OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ */
6256
0
                                    if (ossl_unlikely(r->derive != NULL)) {
6257
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6258
0
                                                       "param %s is repeated", s);
6259
0
                                        return 0;
6260
0
                                    }
6261
0
                                    r->derive = (OSSL_PARAM *)p;
6262
0
                                }
6263
0
                                break;
6264
0
                            case 'e':
6265
0
                                switch(s[5]) {
6266
0
                                default:
6267
0
                                    break;
6268
0
                                case 'x':
6269
0
                                    switch(s[6]) {
6270
0
                                    default:
6271
0
                                        break;
6272
0
                                    case 'p':
6273
0
                                        switch(s[7]) {
6274
0
                                        default:
6275
0
                                            break;
6276
0
                                        case 'o':
6277
0
                                            switch(s[8]) {
6278
0
                                            default:
6279
0
                                                break;
6280
0
                                            case 'n':
6281
0
                                                switch(s[9]) {
6282
0
                                                default:
6283
0
                                                    break;
6284
0
                                                case 'e':
6285
0
                                                    switch(s[10]) {
6286
0
                                                    default:
6287
0
                                                        break;
6288
0
                                                    case 'n':
6289
0
                                                        switch(s[11]) {
6290
0
                                                        default:
6291
0
                                                            break;
6292
0
                                                        case 't':
6293
0
                                                            switch(s[12]) {
6294
0
                                                            default:
6295
0
                                                                break;
6296
0
                                                            case '1':
6297
0
                                                                switch(s[13]) {
6298
0
                                                                default:
6299
0
                                                                    break;
6300
0
                                                                case '0':
6301
0
                                                                    switch(s[14]) {
6302
0
                                                                    default:
6303
0
                                                                        break;
6304
0
                                                                    case '\0':
6305
0
# if !defined(FIPS_MODULE)
6306
0
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
6307
0
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6308
0
                                                                                           "param %s is repeated", s);
6309
0
                                                                            return 0;
6310
0
                                                                        }
6311
0
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
6312
0
# endif
6313
0
                                                                        break;
6314
0
                                                                    }
6315
0
                                                                    break;
6316
0
                                                                case '\0':
6317
0
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
6318
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6319
0
                                                                                       "param %s is repeated", s);
6320
0
                                                                        return 0;
6321
0
                                                                    }
6322
0
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
6323
0
                                                                }
6324
0
                                                                break;
6325
0
                                                            case '2':
6326
0
                                                                switch(s[13]) {
6327
0
                                                                default:
6328
0
                                                                    break;
6329
0
                                                                case '\0':
6330
0
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
6331
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6332
0
                                                                                       "param %s is repeated", s);
6333
0
                                                                        return 0;
6334
0
                                                                    }
6335
0
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
6336
0
                                                                }
6337
0
                                                                break;
6338
0
                                                            case '3':
6339
0
                                                                switch(s[13]) {
6340
0
                                                                default:
6341
0
                                                                    break;
6342
0
                                                                case '\0':
6343
0
# if !defined(FIPS_MODULE)
6344
0
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
6345
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6346
0
                                                                                       "param %s is repeated", s);
6347
0
                                                                        return 0;
6348
0
                                                                    }
6349
0
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
6350
0
# endif
6351
0
                                                                    break;
6352
0
                                                                }
6353
0
                                                                break;
6354
0
                                                            case '4':
6355
0
                                                                switch(s[13]) {
6356
0
                                                                default:
6357
0
                                                                    break;
6358
0
                                                                case '\0':
6359
0
# if !defined(FIPS_MODULE)
6360
0
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
6361
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6362
0
                                                                                       "param %s is repeated", s);
6363
0
                                                                        return 0;
6364
0
                                                                    }
6365
0
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
6366
0
# endif
6367
0
                                                                    break;
6368
0
                                                                }
6369
0
                                                                break;
6370
0
                                                            case '5':
6371
0
                                                                switch(s[13]) {
6372
0
                                                                default:
6373
0
                                                                    break;
6374
0
                                                                case '\0':
6375
0
# if !defined(FIPS_MODULE)
6376
0
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
6377
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6378
0
                                                                                       "param %s is repeated", s);
6379
0
                                                                        return 0;
6380
0
                                                                    }
6381
0
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
6382
0
# endif
6383
0
                                                                    break;
6384
0
                                                                }
6385
0
                                                                break;
6386
0
                                                            case '6':
6387
0
                                                                switch(s[13]) {
6388
0
                                                                default:
6389
0
                                                                    break;
6390
0
                                                                case '\0':
6391
0
# if !defined(FIPS_MODULE)
6392
0
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
6393
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6394
0
                                                                                       "param %s is repeated", s);
6395
0
                                                                        return 0;
6396
0
                                                                    }
6397
0
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
6398
0
# endif
6399
0
                                                                    break;
6400
0
                                                                }
6401
0
                                                                break;
6402
0
                                                            case '7':
6403
0
                                                                switch(s[13]) {
6404
0
                                                                default:
6405
0
                                                                    break;
6406
0
                                                                case '\0':
6407
0
# if !defined(FIPS_MODULE)
6408
0
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
6409
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6410
0
                                                                                       "param %s is repeated", s);
6411
0
                                                                        return 0;
6412
0
                                                                    }
6413
0
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
6414
0
# endif
6415
0
                                                                    break;
6416
0
                                                                }
6417
0
                                                                break;
6418
0
                                                            case '8':
6419
0
                                                                switch(s[13]) {
6420
0
                                                                default:
6421
0
                                                                    break;
6422
0
                                                                case '\0':
6423
0
# if !defined(FIPS_MODULE)
6424
0
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
6425
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6426
0
                                                                                       "param %s is repeated", s);
6427
0
                                                                        return 0;
6428
0
                                                                    }
6429
0
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
6430
0
# endif
6431
0
                                                                    break;
6432
0
                                                                }
6433
0
                                                                break;
6434
0
                                                            case '9':
6435
0
                                                                switch(s[13]) {
6436
0
                                                                default:
6437
0
                                                                    break;
6438
0
                                                                case '\0':
6439
0
# if !defined(FIPS_MODULE)
6440
0
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
6441
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6442
0
                                                                                       "param %s is repeated", s);
6443
0
                                                                        return 0;
6444
0
                                                                    }
6445
0
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
6446
0
# endif
6447
0
                                                                    break;
6448
0
                                                                }
6449
0
                                                                break;
6450
0
                                                            }
6451
0
                                                            break;
6452
0
                                                        }
6453
0
                                                        break;
6454
0
                                                    }
6455
0
                                                    break;
6456
0
                                                }
6457
0
                                                break;
6458
0
                                            }
6459
0
                                            break;
6460
0
                                        }
6461
0
                                        break;
6462
0
                                    }
6463
0
                                    break;
6464
0
                                }
6465
0
                                break;
6466
0
                            case 'f':
6467
0
                                switch(s[5]) {
6468
0
                                default:
6469
0
                                    break;
6470
0
                                case 'a':
6471
0
                                    switch(s[6]) {
6472
0
                                    default:
6473
0
                                        break;
6474
0
                                    case 'c':
6475
0
                                        switch(s[7]) {
6476
0
                                        default:
6477
0
                                            break;
6478
0
                                        case 't':
6479
0
                                            switch(s[8]) {
6480
0
                                            default:
6481
0
                                                break;
6482
0
                                            case 'o':
6483
0
                                                switch(s[9]) {
6484
0
                                                default:
6485
0
                                                    break;
6486
0
                                                case 'r':
6487
0
                                                    switch(s[10]) {
6488
0
                                                    default:
6489
0
                                                        break;
6490
0
                                                    case '1':
6491
0
                                                        switch(s[11]) {
6492
0
                                                        default:
6493
0
                                                            break;
6494
0
                                                        case '0':
6495
0
                                                            switch(s[12]) {
6496
0
                                                            default:
6497
0
                                                                break;
6498
0
                                                            case '\0':
6499
0
# if !defined(FIPS_MODULE)
6500
0
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
6501
0
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6502
0
                                                                                   "param %s is repeated", s);
6503
0
                                                                    return 0;
6504
0
                                                                }
6505
0
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
6506
0
# endif
6507
0
                                                                break;
6508
0
                                                            }
6509
0
                                                            break;
6510
0
                                                        case '\0':
6511
0
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
6512
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6513
0
                                                                               "param %s is repeated", s);
6514
0
                                                                return 0;
6515
0
                                                            }
6516
0
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
6517
0
                                                        }
6518
0
                                                        break;
6519
0
                                                    case '2':
6520
0
                                                        switch(s[11]) {
6521
0
                                                        default:
6522
0
                                                            break;
6523
0
                                                        case '\0':
6524
0
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
6525
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6526
0
                                                                               "param %s is repeated", s);
6527
0
                                                                return 0;
6528
0
                                                            }
6529
0
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
6530
0
                                                        }
6531
0
                                                        break;
6532
0
                                                    case '3':
6533
0
                                                        switch(s[11]) {
6534
0
                                                        default:
6535
0
                                                            break;
6536
0
                                                        case '\0':
6537
0
# if !defined(FIPS_MODULE)
6538
0
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
6539
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6540
0
                                                                               "param %s is repeated", s);
6541
0
                                                                return 0;
6542
0
                                                            }
6543
0
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
6544
0
# endif
6545
0
                                                            break;
6546
0
                                                        }
6547
0
                                                        break;
6548
0
                                                    case '4':
6549
0
                                                        switch(s[11]) {
6550
0
                                                        default:
6551
0
                                                            break;
6552
0
                                                        case '\0':
6553
0
# if !defined(FIPS_MODULE)
6554
0
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
6555
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6556
0
                                                                               "param %s is repeated", s);
6557
0
                                                                return 0;
6558
0
                                                            }
6559
0
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
6560
0
# endif
6561
0
                                                            break;
6562
0
                                                        }
6563
0
                                                        break;
6564
0
                                                    case '5':
6565
0
                                                        switch(s[11]) {
6566
0
                                                        default:
6567
0
                                                            break;
6568
0
                                                        case '\0':
6569
0
# if !defined(FIPS_MODULE)
6570
0
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
6571
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6572
0
                                                                               "param %s is repeated", s);
6573
0
                                                                return 0;
6574
0
                                                            }
6575
0
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
6576
0
# endif
6577
0
                                                            break;
6578
0
                                                        }
6579
0
                                                        break;
6580
0
                                                    case '6':
6581
0
                                                        switch(s[11]) {
6582
0
                                                        default:
6583
0
                                                            break;
6584
0
                                                        case '\0':
6585
0
# if !defined(FIPS_MODULE)
6586
0
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
6587
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6588
0
                                                                               "param %s is repeated", s);
6589
0
                                                                return 0;
6590
0
                                                            }
6591
0
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
6592
0
# endif
6593
0
                                                            break;
6594
0
                                                        }
6595
0
                                                        break;
6596
0
                                                    case '7':
6597
0
                                                        switch(s[11]) {
6598
0
                                                        default:
6599
0
                                                            break;
6600
0
                                                        case '\0':
6601
0
# if !defined(FIPS_MODULE)
6602
0
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
6603
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6604
0
                                                                               "param %s is repeated", s);
6605
0
                                                                return 0;
6606
0
                                                            }
6607
0
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
6608
0
# endif
6609
0
                                                            break;
6610
0
                                                        }
6611
0
                                                        break;
6612
0
                                                    case '8':
6613
0
                                                        switch(s[11]) {
6614
0
                                                        default:
6615
0
                                                            break;
6616
0
                                                        case '\0':
6617
0
# if !defined(FIPS_MODULE)
6618
0
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
6619
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6620
0
                                                                               "param %s is repeated", s);
6621
0
                                                                return 0;
6622
0
                                                            }
6623
0
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
6624
0
# endif
6625
0
                                                            break;
6626
0
                                                        }
6627
0
                                                        break;
6628
0
                                                    case '9':
6629
0
                                                        switch(s[11]) {
6630
0
                                                        default:
6631
0
                                                            break;
6632
0
                                                        case '\0':
6633
0
# if !defined(FIPS_MODULE)
6634
0
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
6635
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6636
0
                                                                               "param %s is repeated", s);
6637
0
                                                                return 0;
6638
0
                                                            }
6639
0
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
6640
0
# endif
6641
0
                                                            break;
6642
0
                                                        }
6643
0
                                                        break;
6644
0
                                                    }
6645
0
                                                    break;
6646
0
                                                }
6647
0
                                                break;
6648
0
                                            }
6649
0
                                            break;
6650
0
                                        }
6651
0
                                        break;
6652
0
                                    }
6653
0
                                    break;
6654
0
                                }
6655
0
                                break;
6656
0
                            }
6657
0
                            break;
6658
0
                        }
6659
0
                        break;
6660
0
                    }
6661
0
                    break;
6662
0
                }
6663
0
                break;
6664
0
            case 's':
6665
0
                if (ossl_likely(strcmp("altlen", s + 1) == 0)) {
6666
                    /* OSSL_PKEY_PARAM_RSA_PSS_SALTLEN */
6667
0
                    if (ossl_unlikely(r->pss_saltlen != NULL)) {
6668
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6669
0
                                       "param %s is repeated", s);
6670
0
                        return 0;
6671
0
                    }
6672
0
                    r->pss_saltlen = (OSSL_PARAM *)p;
6673
0
                }
6674
0
            }
6675
0
    return 1;
6676
0
}
Unexecuted instantiation: rsa_backend.c:rsa_pss_pkey_import_from_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsa_pss_pkey_import_from_decoder
Unexecuted instantiation: rsa_ameth.c:rsa_pss_pkey_import_from_decoder
6677
#endif
6678
/* End of machine generated */
6679
6680
/* FIPS ACVP helpers also use the generated trie. */
6681
#define rsa_acvp_input_st rsa_params_st
6682
/* Machine generated */
6683
#ifndef rsa_acvp_input_list
6684
static ossl_unused const OSSL_PARAM rsa_acvp_input_list[] = {
6685
# if defined(FIPS_MODULE)
6686
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XP, NULL, 0),
6687
# endif
6688
# if defined(FIPS_MODULE)
6689
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XP1, NULL, 0),
6690
# endif
6691
# if defined(FIPS_MODULE)
6692
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XP2, NULL, 0),
6693
# endif
6694
# if defined(FIPS_MODULE)
6695
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XQ, NULL, 0),
6696
# endif
6697
# if defined(FIPS_MODULE)
6698
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XQ1, NULL, 0),
6699
# endif
6700
# if defined(FIPS_MODULE)
6701
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_XQ2, NULL, 0),
6702
# endif
6703
    OSSL_PARAM_END
6704
};
6705
#endif
6706
6707
#ifndef rsa_acvp_input_st
6708
struct rsa_acvp_input_st {
6709
# if defined(FIPS_MODULE)
6710
    OSSL_PARAM *fips.xp;
6711
# endif
6712
# if defined(FIPS_MODULE)
6713
    OSSL_PARAM *fips.xp1;
6714
# endif
6715
# if defined(FIPS_MODULE)
6716
    OSSL_PARAM *fips.xp2;
6717
# endif
6718
# if defined(FIPS_MODULE)
6719
    OSSL_PARAM *fips.xq;
6720
# endif
6721
# if defined(FIPS_MODULE)
6722
    OSSL_PARAM *fips.xq1;
6723
# endif
6724
# if defined(FIPS_MODULE)
6725
    OSSL_PARAM *fips.xq2;
6726
# endif
6727
};
6728
#endif
6729
6730
#ifndef rsa_acvp_input_decoder
6731
static ossl_unused int rsa_acvp_input_decoder
6732
    (const OSSL_PARAM *p, struct rsa_acvp_input_st *r)
6733
0
{
6734
0
    const char *s;
6735
0
6736
0
    memset(r, 0, sizeof(*r));
6737
0
    if (p != NULL)
6738
0
        for (; (s = p->key) != NULL; p++)
6739
0
            switch(s[0]) {
6740
0
            default:
6741
0
                break;
6742
0
            case 'x':
6743
0
                switch(s[1]) {
6744
0
                default:
6745
0
                    break;
6746
0
                case 'p':
6747
0
                    switch(s[2]) {
6748
0
                    default:
6749
0
                        break;
6750
0
                    case '1':
6751
0
                        switch(s[3]) {
6752
0
                        default:
6753
0
                            break;
6754
0
                        case '\0':
6755
0
# if defined(FIPS_MODULE)
6756
0
                            if (ossl_unlikely(r->fips.xp1 != NULL)) {
6757
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6758
0
                                               "param %s is repeated", s);
6759
0
                                return 0;
6760
0
                            }
6761
0
                            r->fips.xp1 = (OSSL_PARAM *)p;
6762
0
# endif
6763
0
                            break;
6764
0
                        }
6765
0
                        break;
6766
0
                    case '2':
6767
0
                        switch(s[3]) {
6768
0
                        default:
6769
0
                            break;
6770
0
                        case '\0':
6771
0
# if defined(FIPS_MODULE)
6772
0
                            if (ossl_unlikely(r->fips.xp2 != NULL)) {
6773
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6774
0
                                               "param %s is repeated", s);
6775
0
                                return 0;
6776
0
                            }
6777
0
                            r->fips.xp2 = (OSSL_PARAM *)p;
6778
0
# endif
6779
0
                            break;
6780
0
                        }
6781
0
                        break;
6782
0
                    case '\0':
6783
0
# if defined(FIPS_MODULE)
6784
0
                        if (ossl_unlikely(r->fips.xp != NULL)) {
6785
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6786
0
                                           "param %s is repeated", s);
6787
0
                            return 0;
6788
0
                        }
6789
0
                        r->fips.xp = (OSSL_PARAM *)p;
6790
0
# endif
6791
0
                        break;
6792
0
                    }
6793
0
                    break;
6794
0
                case 'q':
6795
0
                    switch(s[2]) {
6796
0
                    default:
6797
0
                        break;
6798
0
                    case '1':
6799
0
                        switch(s[3]) {
6800
0
                        default:
6801
0
                            break;
6802
0
                        case '\0':
6803
0
# if defined(FIPS_MODULE)
6804
0
                            if (ossl_unlikely(r->fips.xq1 != NULL)) {
6805
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6806
0
                                               "param %s is repeated", s);
6807
0
                                return 0;
6808
0
                            }
6809
0
                            r->fips.xq1 = (OSSL_PARAM *)p;
6810
0
# endif
6811
0
                            break;
6812
0
                        }
6813
0
                        break;
6814
0
                    case '2':
6815
0
                        switch(s[3]) {
6816
0
                        default:
6817
0
                            break;
6818
0
                        case '\0':
6819
0
# if defined(FIPS_MODULE)
6820
0
                            if (ossl_unlikely(r->fips.xq2 != NULL)) {
6821
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6822
0
                                               "param %s is repeated", s);
6823
0
                                return 0;
6824
0
                            }
6825
0
                            r->fips.xq2 = (OSSL_PARAM *)p;
6826
0
# endif
6827
0
                            break;
6828
0
                        }
6829
0
                        break;
6830
0
                    case '\0':
6831
0
# if defined(FIPS_MODULE)
6832
0
                        if (ossl_unlikely(r->fips.xq != NULL)) {
6833
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6834
0
                                           "param %s is repeated", s);
6835
0
                            return 0;
6836
0
                        }
6837
0
                        r->fips.xq = (OSSL_PARAM *)p;
6838
0
# endif
6839
0
                        break;
6840
0
                    }
6841
0
                    break;
6842
0
                }
6843
0
                break;
6844
0
            }
6845
0
    return 1;
6846
0
}
Unexecuted instantiation: rsa_backend.c:rsa_acvp_input_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsa_acvp_input_decoder
Unexecuted instantiation: rsa_ameth.c:rsa_acvp_input_decoder
6847
#endif
6848
/* End of machine generated */
6849
6850
#define rsa_acvp_output_st rsa_params_st
6851
/* Machine generated */
6852
#ifndef rsa_acvp_output_list
6853
static ossl_unused const OSSL_PARAM rsa_acvp_output_list[] = {
6854
# if defined(FIPS_MODULE)
6855
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_P1, NULL, 0),
6856
# endif
6857
# if defined(FIPS_MODULE)
6858
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_P2, NULL, 0),
6859
# endif
6860
# if defined(FIPS_MODULE)
6861
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_Q1, NULL, 0),
6862
# endif
6863
# if defined(FIPS_MODULE)
6864
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_TEST_Q2, NULL, 0),
6865
# endif
6866
    OSSL_PARAM_END
6867
};
6868
#endif
6869
6870
#ifndef rsa_acvp_output_st
6871
struct rsa_acvp_output_st {
6872
# if defined(FIPS_MODULE)
6873
    OSSL_PARAM *fips.p1;
6874
# endif
6875
# if defined(FIPS_MODULE)
6876
    OSSL_PARAM *fips.p2;
6877
# endif
6878
# if defined(FIPS_MODULE)
6879
    OSSL_PARAM *fips.q1;
6880
# endif
6881
# if defined(FIPS_MODULE)
6882
    OSSL_PARAM *fips.q2;
6883
# endif
6884
};
6885
#endif
6886
6887
#ifndef rsa_acvp_output_decoder
6888
static ossl_unused int rsa_acvp_output_decoder
6889
    (const OSSL_PARAM *p, struct rsa_acvp_output_st *r)
6890
0
{
6891
0
    const char *s;
6892
0
6893
0
    memset(r, 0, sizeof(*r));
6894
0
    if (p != NULL)
6895
0
        for (; (s = p->key) != NULL; p++)
6896
0
            switch(s[0]) {
6897
0
            default:
6898
0
                break;
6899
0
            case 'p':
6900
0
                switch(s[1]) {
6901
0
                default:
6902
0
                    break;
6903
0
                case '1':
6904
0
                    switch(s[2]) {
6905
0
                    default:
6906
0
                        break;
6907
0
                    case '\0':
6908
0
# if defined(FIPS_MODULE)
6909
0
                        if (ossl_unlikely(r->fips.p1 != NULL)) {
6910
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6911
0
                                           "param %s is repeated", s);
6912
0
                            return 0;
6913
0
                        }
6914
0
                        r->fips.p1 = (OSSL_PARAM *)p;
6915
0
# endif
6916
0
                        break;
6917
0
                    }
6918
0
                    break;
6919
0
                case '2':
6920
0
                    switch(s[2]) {
6921
0
                    default:
6922
0
                        break;
6923
0
                    case '\0':
6924
0
# if defined(FIPS_MODULE)
6925
0
                        if (ossl_unlikely(r->fips.p2 != NULL)) {
6926
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6927
0
                                           "param %s is repeated", s);
6928
0
                            return 0;
6929
0
                        }
6930
0
                        r->fips.p2 = (OSSL_PARAM *)p;
6931
0
# endif
6932
0
                        break;
6933
0
                    }
6934
0
                    break;
6935
0
                }
6936
0
                break;
6937
0
            case 'q':
6938
0
                switch(s[1]) {
6939
0
                default:
6940
0
                    break;
6941
0
                case '1':
6942
0
                    switch(s[2]) {
6943
0
                    default:
6944
0
                        break;
6945
0
                    case '\0':
6946
0
# if defined(FIPS_MODULE)
6947
0
                        if (ossl_unlikely(r->fips.q1 != NULL)) {
6948
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6949
0
                                           "param %s is repeated", s);
6950
0
                            return 0;
6951
0
                        }
6952
0
                        r->fips.q1 = (OSSL_PARAM *)p;
6953
0
# endif
6954
0
                        break;
6955
0
                    }
6956
0
                    break;
6957
0
                case '2':
6958
0
                    switch(s[2]) {
6959
0
                    default:
6960
0
                        break;
6961
0
                    case '\0':
6962
0
# if defined(FIPS_MODULE)
6963
0
                        if (ossl_unlikely(r->fips.q2 != NULL)) {
6964
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
6965
0
                                           "param %s is repeated", s);
6966
0
                            return 0;
6967
0
                        }
6968
0
                        r->fips.q2 = (OSSL_PARAM *)p;
6969
0
# endif
6970
0
                        break;
6971
0
                    }
6972
0
                    break;
6973
0
                }
6974
0
                break;
6975
0
            }
6976
0
    return 1;
6977
0
}
Unexecuted instantiation: rsa_backend.c:rsa_acvp_output_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsa_acvp_output_decoder
Unexecuted instantiation: rsa_ameth.c:rsa_acvp_output_decoder
6978
#endif
6979
/* End of machine generated */
6980
6981
/* Selection-specific import and export declarations. */
6982
#define rsa_key_import_types_st rsa_params_st
6983
/* Machine generated */
6984
#ifndef rsa_key_import_types_list
6985
static ossl_unused const OSSL_PARAM rsa_key_import_types_list[] = {
6986
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
6987
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
6988
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
6989
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
6990
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
6991
# if !defined(FIPS_MODULE)
6992
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
6993
# endif
6994
# if !defined(FIPS_MODULE)
6995
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
6996
# endif
6997
# if !defined(FIPS_MODULE)
6998
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
6999
# endif
7000
# if !defined(FIPS_MODULE)
7001
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
7002
# endif
7003
# if !defined(FIPS_MODULE)
7004
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
7005
# endif
7006
# if !defined(FIPS_MODULE)
7007
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
7008
# endif
7009
# if !defined(FIPS_MODULE)
7010
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
7011
# endif
7012
# if !defined(FIPS_MODULE)
7013
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
7014
# endif
7015
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
7016
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
7017
# if !defined(FIPS_MODULE)
7018
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
7019
# endif
7020
# if !defined(FIPS_MODULE)
7021
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
7022
# endif
7023
# if !defined(FIPS_MODULE)
7024
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
7025
# endif
7026
# if !defined(FIPS_MODULE)
7027
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
7028
# endif
7029
# if !defined(FIPS_MODULE)
7030
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
7031
# endif
7032
# if !defined(FIPS_MODULE)
7033
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
7034
# endif
7035
# if !defined(FIPS_MODULE)
7036
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
7037
# endif
7038
# if !defined(FIPS_MODULE)
7039
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
7040
# endif
7041
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
7042
# if !defined(FIPS_MODULE)
7043
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
7044
# endif
7045
# if !defined(FIPS_MODULE)
7046
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
7047
# endif
7048
# if !defined(FIPS_MODULE)
7049
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
7050
# endif
7051
# if !defined(FIPS_MODULE)
7052
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
7053
# endif
7054
# if !defined(FIPS_MODULE)
7055
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
7056
# endif
7057
# if !defined(FIPS_MODULE)
7058
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
7059
# endif
7060
# if !defined(FIPS_MODULE)
7061
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
7062
# endif
7063
# if !defined(FIPS_MODULE)
7064
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
7065
# endif
7066
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ, NULL),
7067
    OSSL_PARAM_END
7068
};
7069
#endif
7070
7071
#ifndef rsa_key_import_types_st
7072
struct rsa_key_import_types_st {
7073
    OSSL_PARAM *d;
7074
    OSSL_PARAM *derive;
7075
    OSSL_PARAM *e;
7076
    OSSL_PARAM *mp.coeffs[0];
7077
# if !defined(FIPS_MODULE)
7078
    OSSL_PARAM *mp.coeffs[1];
7079
# endif
7080
# if !defined(FIPS_MODULE)
7081
    OSSL_PARAM *mp.coeffs[2];
7082
# endif
7083
# if !defined(FIPS_MODULE)
7084
    OSSL_PARAM *mp.coeffs[3];
7085
# endif
7086
# if !defined(FIPS_MODULE)
7087
    OSSL_PARAM *mp.coeffs[4];
7088
# endif
7089
# if !defined(FIPS_MODULE)
7090
    OSSL_PARAM *mp.coeffs[5];
7091
# endif
7092
# if !defined(FIPS_MODULE)
7093
    OSSL_PARAM *mp.coeffs[6];
7094
# endif
7095
# if !defined(FIPS_MODULE)
7096
    OSSL_PARAM *mp.coeffs[7];
7097
# endif
7098
# if !defined(FIPS_MODULE)
7099
    OSSL_PARAM *mp.coeffs[8];
7100
# endif
7101
    OSSL_PARAM *mp.exps[0];
7102
    OSSL_PARAM *mp.exps[1];
7103
# if !defined(FIPS_MODULE)
7104
    OSSL_PARAM *mp.exps[2];
7105
# endif
7106
# if !defined(FIPS_MODULE)
7107
    OSSL_PARAM *mp.exps[3];
7108
# endif
7109
# if !defined(FIPS_MODULE)
7110
    OSSL_PARAM *mp.exps[4];
7111
# endif
7112
# if !defined(FIPS_MODULE)
7113
    OSSL_PARAM *mp.exps[5];
7114
# endif
7115
# if !defined(FIPS_MODULE)
7116
    OSSL_PARAM *mp.exps[6];
7117
# endif
7118
# if !defined(FIPS_MODULE)
7119
    OSSL_PARAM *mp.exps[7];
7120
# endif
7121
# if !defined(FIPS_MODULE)
7122
    OSSL_PARAM *mp.exps[8];
7123
# endif
7124
# if !defined(FIPS_MODULE)
7125
    OSSL_PARAM *mp.exps[9];
7126
# endif
7127
    OSSL_PARAM *mp.factors[0];
7128
    OSSL_PARAM *mp.factors[1];
7129
# if !defined(FIPS_MODULE)
7130
    OSSL_PARAM *mp.factors[2];
7131
# endif
7132
# if !defined(FIPS_MODULE)
7133
    OSSL_PARAM *mp.factors[3];
7134
# endif
7135
# if !defined(FIPS_MODULE)
7136
    OSSL_PARAM *mp.factors[4];
7137
# endif
7138
# if !defined(FIPS_MODULE)
7139
    OSSL_PARAM *mp.factors[5];
7140
# endif
7141
# if !defined(FIPS_MODULE)
7142
    OSSL_PARAM *mp.factors[6];
7143
# endif
7144
# if !defined(FIPS_MODULE)
7145
    OSSL_PARAM *mp.factors[7];
7146
# endif
7147
# if !defined(FIPS_MODULE)
7148
    OSSL_PARAM *mp.factors[8];
7149
# endif
7150
# if !defined(FIPS_MODULE)
7151
    OSSL_PARAM *mp.factors[9];
7152
# endif
7153
    OSSL_PARAM *n;
7154
};
7155
#endif
7156
7157
#ifndef rsa_key_import_types_decoder
7158
static ossl_unused int rsa_key_import_types_decoder
7159
    (const OSSL_PARAM *p, struct rsa_key_import_types_st *r)
7160
0
{
7161
0
    const char *s;
7162
7163
0
    memset(r, 0, sizeof(*r));
7164
0
    if (p != NULL)
7165
0
        for (; (s = p->key) != NULL; p++)
7166
0
            switch(s[0]) {
7167
0
            default:
7168
0
                break;
7169
0
            case 'd':
7170
0
                switch(s[1]) {
7171
0
                default:
7172
0
                    break;
7173
0
                case '\0':
7174
0
                    if (ossl_unlikely(r->d != NULL)) {
7175
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7176
0
                                       "param %s is repeated", s);
7177
0
                        return 0;
7178
0
                    }
7179
0
                    r->d = (OSSL_PARAM *)p;
7180
0
                }
7181
0
                break;
7182
0
            case 'e':
7183
0
                switch(s[1]) {
7184
0
                default:
7185
0
                    break;
7186
0
                case '\0':
7187
0
                    if (ossl_unlikely(r->e != NULL)) {
7188
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7189
0
                                       "param %s is repeated", s);
7190
0
                        return 0;
7191
0
                    }
7192
0
                    r->e = (OSSL_PARAM *)p;
7193
0
                }
7194
0
                break;
7195
0
            case 'n':
7196
0
                switch(s[1]) {
7197
0
                default:
7198
0
                    break;
7199
0
                case '\0':
7200
0
                    if (ossl_unlikely(r->n != NULL)) {
7201
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7202
0
                                       "param %s is repeated", s);
7203
0
                        return 0;
7204
0
                    }
7205
0
                    r->n = (OSSL_PARAM *)p;
7206
0
                }
7207
0
                break;
7208
0
            case 'r':
7209
0
                switch(s[1]) {
7210
0
                default:
7211
0
                    break;
7212
0
                case 's':
7213
0
                    switch(s[2]) {
7214
0
                    default:
7215
0
                        break;
7216
0
                    case 'a':
7217
0
                        switch(s[3]) {
7218
0
                        default:
7219
0
                            break;
7220
0
                        case '-':
7221
0
                            switch(s[4]) {
7222
0
                            default:
7223
0
                                break;
7224
0
                            case 'c':
7225
0
                                switch(s[5]) {
7226
0
                                default:
7227
0
                                    break;
7228
0
                                case 'o':
7229
0
                                    switch(s[6]) {
7230
0
                                    default:
7231
0
                                        break;
7232
0
                                    case 'e':
7233
0
                                        switch(s[7]) {
7234
0
                                        default:
7235
0
                                            break;
7236
0
                                        case 'f':
7237
0
                                            switch(s[8]) {
7238
0
                                            default:
7239
0
                                                break;
7240
0
                                            case 'f':
7241
0
                                                switch(s[9]) {
7242
0
                                                default:
7243
0
                                                    break;
7244
0
                                                case 'i':
7245
0
                                                    switch(s[10]) {
7246
0
                                                    default:
7247
0
                                                        break;
7248
0
                                                    case 'c':
7249
0
                                                        switch(s[11]) {
7250
0
                                                        default:
7251
0
                                                            break;
7252
0
                                                        case 'i':
7253
0
                                                            switch(s[12]) {
7254
0
                                                            default:
7255
0
                                                                break;
7256
0
                                                            case 'e':
7257
0
                                                                switch(s[13]) {
7258
0
                                                                default:
7259
0
                                                                    break;
7260
0
                                                                case 'n':
7261
0
                                                                    switch(s[14]) {
7262
0
                                                                    default:
7263
0
                                                                        break;
7264
0
                                                                    case 't':
7265
0
                                                                        switch(s[15]) {
7266
0
                                                                        default:
7267
0
                                                                            break;
7268
0
                                                                        case '1':
7269
0
                                                                            switch(s[16]) {
7270
0
                                                                            default:
7271
0
                                                                                break;
7272
0
                                                                            case '\0':
7273
0
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
7274
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7275
0
                                                                                                   "param %s is repeated", s);
7276
0
                                                                                    return 0;
7277
0
                                                                                }
7278
0
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
7279
0
                                                                            }
7280
0
                                                                            break;
7281
0
                                                                        case '2':
7282
0
                                                                            switch(s[16]) {
7283
0
                                                                            default:
7284
0
                                                                                break;
7285
0
                                                                            case '\0':
7286
0
# if !defined(FIPS_MODULE)
7287
0
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
7288
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7289
0
                                                                                                   "param %s is repeated", s);
7290
0
                                                                                    return 0;
7291
0
                                                                                }
7292
0
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
7293
0
# endif
7294
0
                                                                                break;
7295
0
                                                                            }
7296
0
                                                                            break;
7297
0
                                                                        case '3':
7298
0
                                                                            switch(s[16]) {
7299
0
                                                                            default:
7300
0
                                                                                break;
7301
0
                                                                            case '\0':
7302
0
# if !defined(FIPS_MODULE)
7303
0
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
7304
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7305
0
                                                                                                   "param %s is repeated", s);
7306
0
                                                                                    return 0;
7307
0
                                                                                }
7308
0
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
7309
0
# endif
7310
0
                                                                                break;
7311
0
                                                                            }
7312
0
                                                                            break;
7313
0
                                                                        case '4':
7314
0
                                                                            switch(s[16]) {
7315
0
                                                                            default:
7316
0
                                                                                break;
7317
0
                                                                            case '\0':
7318
0
# if !defined(FIPS_MODULE)
7319
0
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
7320
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7321
0
                                                                                                   "param %s is repeated", s);
7322
0
                                                                                    return 0;
7323
0
                                                                                }
7324
0
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
7325
0
# endif
7326
0
                                                                                break;
7327
0
                                                                            }
7328
0
                                                                            break;
7329
0
                                                                        case '5':
7330
0
                                                                            switch(s[16]) {
7331
0
                                                                            default:
7332
0
                                                                                break;
7333
0
                                                                            case '\0':
7334
0
# if !defined(FIPS_MODULE)
7335
0
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
7336
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7337
0
                                                                                                   "param %s is repeated", s);
7338
0
                                                                                    return 0;
7339
0
                                                                                }
7340
0
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
7341
0
# endif
7342
0
                                                                                break;
7343
0
                                                                            }
7344
0
                                                                            break;
7345
0
                                                                        case '6':
7346
0
                                                                            switch(s[16]) {
7347
0
                                                                            default:
7348
0
                                                                                break;
7349
0
                                                                            case '\0':
7350
0
# if !defined(FIPS_MODULE)
7351
0
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
7352
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7353
0
                                                                                                   "param %s is repeated", s);
7354
0
                                                                                    return 0;
7355
0
                                                                                }
7356
0
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
7357
0
# endif
7358
0
                                                                                break;
7359
0
                                                                            }
7360
0
                                                                            break;
7361
0
                                                                        case '7':
7362
0
                                                                            switch(s[16]) {
7363
0
                                                                            default:
7364
0
                                                                                break;
7365
0
                                                                            case '\0':
7366
0
# if !defined(FIPS_MODULE)
7367
0
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
7368
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7369
0
                                                                                                   "param %s is repeated", s);
7370
0
                                                                                    return 0;
7371
0
                                                                                }
7372
0
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
7373
0
# endif
7374
0
                                                                                break;
7375
0
                                                                            }
7376
0
                                                                            break;
7377
0
                                                                        case '8':
7378
0
                                                                            switch(s[16]) {
7379
0
                                                                            default:
7380
0
                                                                                break;
7381
0
                                                                            case '\0':
7382
0
# if !defined(FIPS_MODULE)
7383
0
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
7384
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7385
0
                                                                                                   "param %s is repeated", s);
7386
0
                                                                                    return 0;
7387
0
                                                                                }
7388
0
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
7389
0
# endif
7390
0
                                                                                break;
7391
0
                                                                            }
7392
0
                                                                            break;
7393
0
                                                                        case '9':
7394
0
                                                                            switch(s[16]) {
7395
0
                                                                            default:
7396
0
                                                                                break;
7397
0
                                                                            case '\0':
7398
0
# if !defined(FIPS_MODULE)
7399
0
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
7400
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7401
0
                                                                                                   "param %s is repeated", s);
7402
0
                                                                                    return 0;
7403
0
                                                                                }
7404
0
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
7405
0
# endif
7406
0
                                                                                break;
7407
0
                                                                            }
7408
0
                                                                            break;
7409
0
                                                                        }
7410
0
                                                                        break;
7411
0
                                                                    }
7412
0
                                                                    break;
7413
0
                                                                }
7414
0
                                                                break;
7415
0
                                                            }
7416
0
                                                            break;
7417
0
                                                        }
7418
0
                                                        break;
7419
0
                                                    }
7420
0
                                                    break;
7421
0
                                                }
7422
0
                                                break;
7423
0
                                            }
7424
0
                                            break;
7425
0
                                        }
7426
0
                                        break;
7427
0
                                    }
7428
0
                                    break;
7429
0
                                }
7430
0
                                break;
7431
0
                            case 'd':
7432
0
                                if (ossl_likely(strcmp("erive-from-pq", s + 5) == 0)) {
7433
                                    /* OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ */
7434
0
                                    if (ossl_unlikely(r->derive != NULL)) {
7435
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7436
0
                                                       "param %s is repeated", s);
7437
0
                                        return 0;
7438
0
                                    }
7439
0
                                    r->derive = (OSSL_PARAM *)p;
7440
0
                                }
7441
0
                                break;
7442
0
                            case 'e':
7443
0
                                switch(s[5]) {
7444
0
                                default:
7445
0
                                    break;
7446
0
                                case 'x':
7447
0
                                    switch(s[6]) {
7448
0
                                    default:
7449
0
                                        break;
7450
0
                                    case 'p':
7451
0
                                        switch(s[7]) {
7452
0
                                        default:
7453
0
                                            break;
7454
0
                                        case 'o':
7455
0
                                            switch(s[8]) {
7456
0
                                            default:
7457
0
                                                break;
7458
0
                                            case 'n':
7459
0
                                                switch(s[9]) {
7460
0
                                                default:
7461
0
                                                    break;
7462
0
                                                case 'e':
7463
0
                                                    switch(s[10]) {
7464
0
                                                    default:
7465
0
                                                        break;
7466
0
                                                    case 'n':
7467
0
                                                        switch(s[11]) {
7468
0
                                                        default:
7469
0
                                                            break;
7470
0
                                                        case 't':
7471
0
                                                            switch(s[12]) {
7472
0
                                                            default:
7473
0
                                                                break;
7474
0
                                                            case '1':
7475
0
                                                                switch(s[13]) {
7476
0
                                                                default:
7477
0
                                                                    break;
7478
0
                                                                case '0':
7479
0
                                                                    switch(s[14]) {
7480
0
                                                                    default:
7481
0
                                                                        break;
7482
0
                                                                    case '\0':
7483
0
# if !defined(FIPS_MODULE)
7484
0
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
7485
0
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7486
0
                                                                                           "param %s is repeated", s);
7487
0
                                                                            return 0;
7488
0
                                                                        }
7489
0
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
7490
0
# endif
7491
0
                                                                        break;
7492
0
                                                                    }
7493
0
                                                                    break;
7494
0
                                                                case '\0':
7495
0
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
7496
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7497
0
                                                                                       "param %s is repeated", s);
7498
0
                                                                        return 0;
7499
0
                                                                    }
7500
0
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
7501
0
                                                                }
7502
0
                                                                break;
7503
0
                                                            case '2':
7504
0
                                                                switch(s[13]) {
7505
0
                                                                default:
7506
0
                                                                    break;
7507
0
                                                                case '\0':
7508
0
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
7509
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7510
0
                                                                                       "param %s is repeated", s);
7511
0
                                                                        return 0;
7512
0
                                                                    }
7513
0
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
7514
0
                                                                }
7515
0
                                                                break;
7516
0
                                                            case '3':
7517
0
                                                                switch(s[13]) {
7518
0
                                                                default:
7519
0
                                                                    break;
7520
0
                                                                case '\0':
7521
0
# if !defined(FIPS_MODULE)
7522
0
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
7523
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7524
0
                                                                                       "param %s is repeated", s);
7525
0
                                                                        return 0;
7526
0
                                                                    }
7527
0
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
7528
0
# endif
7529
0
                                                                    break;
7530
0
                                                                }
7531
0
                                                                break;
7532
0
                                                            case '4':
7533
0
                                                                switch(s[13]) {
7534
0
                                                                default:
7535
0
                                                                    break;
7536
0
                                                                case '\0':
7537
0
# if !defined(FIPS_MODULE)
7538
0
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
7539
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7540
0
                                                                                       "param %s is repeated", s);
7541
0
                                                                        return 0;
7542
0
                                                                    }
7543
0
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
7544
0
# endif
7545
0
                                                                    break;
7546
0
                                                                }
7547
0
                                                                break;
7548
0
                                                            case '5':
7549
0
                                                                switch(s[13]) {
7550
0
                                                                default:
7551
0
                                                                    break;
7552
0
                                                                case '\0':
7553
0
# if !defined(FIPS_MODULE)
7554
0
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
7555
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7556
0
                                                                                       "param %s is repeated", s);
7557
0
                                                                        return 0;
7558
0
                                                                    }
7559
0
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
7560
0
# endif
7561
0
                                                                    break;
7562
0
                                                                }
7563
0
                                                                break;
7564
0
                                                            case '6':
7565
0
                                                                switch(s[13]) {
7566
0
                                                                default:
7567
0
                                                                    break;
7568
0
                                                                case '\0':
7569
0
# if !defined(FIPS_MODULE)
7570
0
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
7571
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7572
0
                                                                                       "param %s is repeated", s);
7573
0
                                                                        return 0;
7574
0
                                                                    }
7575
0
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
7576
0
# endif
7577
0
                                                                    break;
7578
0
                                                                }
7579
0
                                                                break;
7580
0
                                                            case '7':
7581
0
                                                                switch(s[13]) {
7582
0
                                                                default:
7583
0
                                                                    break;
7584
0
                                                                case '\0':
7585
0
# if !defined(FIPS_MODULE)
7586
0
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
7587
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7588
0
                                                                                       "param %s is repeated", s);
7589
0
                                                                        return 0;
7590
0
                                                                    }
7591
0
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
7592
0
# endif
7593
0
                                                                    break;
7594
0
                                                                }
7595
0
                                                                break;
7596
0
                                                            case '8':
7597
0
                                                                switch(s[13]) {
7598
0
                                                                default:
7599
0
                                                                    break;
7600
0
                                                                case '\0':
7601
0
# if !defined(FIPS_MODULE)
7602
0
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
7603
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7604
0
                                                                                       "param %s is repeated", s);
7605
0
                                                                        return 0;
7606
0
                                                                    }
7607
0
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
7608
0
# endif
7609
0
                                                                    break;
7610
0
                                                                }
7611
0
                                                                break;
7612
0
                                                            case '9':
7613
0
                                                                switch(s[13]) {
7614
0
                                                                default:
7615
0
                                                                    break;
7616
0
                                                                case '\0':
7617
0
# if !defined(FIPS_MODULE)
7618
0
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
7619
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7620
0
                                                                                       "param %s is repeated", s);
7621
0
                                                                        return 0;
7622
0
                                                                    }
7623
0
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
7624
0
# endif
7625
0
                                                                    break;
7626
0
                                                                }
7627
0
                                                                break;
7628
0
                                                            }
7629
0
                                                            break;
7630
0
                                                        }
7631
0
                                                        break;
7632
0
                                                    }
7633
0
                                                    break;
7634
0
                                                }
7635
0
                                                break;
7636
0
                                            }
7637
0
                                            break;
7638
0
                                        }
7639
0
                                        break;
7640
0
                                    }
7641
0
                                    break;
7642
0
                                }
7643
0
                                break;
7644
0
                            case 'f':
7645
0
                                switch(s[5]) {
7646
0
                                default:
7647
0
                                    break;
7648
0
                                case 'a':
7649
0
                                    switch(s[6]) {
7650
0
                                    default:
7651
0
                                        break;
7652
0
                                    case 'c':
7653
0
                                        switch(s[7]) {
7654
0
                                        default:
7655
0
                                            break;
7656
0
                                        case 't':
7657
0
                                            switch(s[8]) {
7658
0
                                            default:
7659
0
                                                break;
7660
0
                                            case 'o':
7661
0
                                                switch(s[9]) {
7662
0
                                                default:
7663
0
                                                    break;
7664
0
                                                case 'r':
7665
0
                                                    switch(s[10]) {
7666
0
                                                    default:
7667
0
                                                        break;
7668
0
                                                    case '1':
7669
0
                                                        switch(s[11]) {
7670
0
                                                        default:
7671
0
                                                            break;
7672
0
                                                        case '0':
7673
0
                                                            switch(s[12]) {
7674
0
                                                            default:
7675
0
                                                                break;
7676
0
                                                            case '\0':
7677
0
# if !defined(FIPS_MODULE)
7678
0
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
7679
0
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7680
0
                                                                                   "param %s is repeated", s);
7681
0
                                                                    return 0;
7682
0
                                                                }
7683
0
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
7684
0
# endif
7685
0
                                                                break;
7686
0
                                                            }
7687
0
                                                            break;
7688
0
                                                        case '\0':
7689
0
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
7690
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7691
0
                                                                               "param %s is repeated", s);
7692
0
                                                                return 0;
7693
0
                                                            }
7694
0
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
7695
0
                                                        }
7696
0
                                                        break;
7697
0
                                                    case '2':
7698
0
                                                        switch(s[11]) {
7699
0
                                                        default:
7700
0
                                                            break;
7701
0
                                                        case '\0':
7702
0
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
7703
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7704
0
                                                                               "param %s is repeated", s);
7705
0
                                                                return 0;
7706
0
                                                            }
7707
0
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
7708
0
                                                        }
7709
0
                                                        break;
7710
0
                                                    case '3':
7711
0
                                                        switch(s[11]) {
7712
0
                                                        default:
7713
0
                                                            break;
7714
0
                                                        case '\0':
7715
0
# if !defined(FIPS_MODULE)
7716
0
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
7717
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7718
0
                                                                               "param %s is repeated", s);
7719
0
                                                                return 0;
7720
0
                                                            }
7721
0
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
7722
0
# endif
7723
0
                                                            break;
7724
0
                                                        }
7725
0
                                                        break;
7726
0
                                                    case '4':
7727
0
                                                        switch(s[11]) {
7728
0
                                                        default:
7729
0
                                                            break;
7730
0
                                                        case '\0':
7731
0
# if !defined(FIPS_MODULE)
7732
0
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
7733
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7734
0
                                                                               "param %s is repeated", s);
7735
0
                                                                return 0;
7736
0
                                                            }
7737
0
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
7738
0
# endif
7739
0
                                                            break;
7740
0
                                                        }
7741
0
                                                        break;
7742
0
                                                    case '5':
7743
0
                                                        switch(s[11]) {
7744
0
                                                        default:
7745
0
                                                            break;
7746
0
                                                        case '\0':
7747
0
# if !defined(FIPS_MODULE)
7748
0
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
7749
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7750
0
                                                                               "param %s is repeated", s);
7751
0
                                                                return 0;
7752
0
                                                            }
7753
0
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
7754
0
# endif
7755
0
                                                            break;
7756
0
                                                        }
7757
0
                                                        break;
7758
0
                                                    case '6':
7759
0
                                                        switch(s[11]) {
7760
0
                                                        default:
7761
0
                                                            break;
7762
0
                                                        case '\0':
7763
0
# if !defined(FIPS_MODULE)
7764
0
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
7765
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7766
0
                                                                               "param %s is repeated", s);
7767
0
                                                                return 0;
7768
0
                                                            }
7769
0
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
7770
0
# endif
7771
0
                                                            break;
7772
0
                                                        }
7773
0
                                                        break;
7774
0
                                                    case '7':
7775
0
                                                        switch(s[11]) {
7776
0
                                                        default:
7777
0
                                                            break;
7778
0
                                                        case '\0':
7779
0
# if !defined(FIPS_MODULE)
7780
0
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
7781
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7782
0
                                                                               "param %s is repeated", s);
7783
0
                                                                return 0;
7784
0
                                                            }
7785
0
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
7786
0
# endif
7787
0
                                                            break;
7788
0
                                                        }
7789
0
                                                        break;
7790
0
                                                    case '8':
7791
0
                                                        switch(s[11]) {
7792
0
                                                        default:
7793
0
                                                            break;
7794
0
                                                        case '\0':
7795
0
# if !defined(FIPS_MODULE)
7796
0
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
7797
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7798
0
                                                                               "param %s is repeated", s);
7799
0
                                                                return 0;
7800
0
                                                            }
7801
0
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
7802
0
# endif
7803
0
                                                            break;
7804
0
                                                        }
7805
0
                                                        break;
7806
0
                                                    case '9':
7807
0
                                                        switch(s[11]) {
7808
0
                                                        default:
7809
0
                                                            break;
7810
0
                                                        case '\0':
7811
0
# if !defined(FIPS_MODULE)
7812
0
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
7813
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
7814
0
                                                                               "param %s is repeated", s);
7815
0
                                                                return 0;
7816
0
                                                            }
7817
0
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
7818
0
# endif
7819
0
                                                            break;
7820
0
                                                        }
7821
0
                                                        break;
7822
0
                                                    }
7823
0
                                                    break;
7824
0
                                                }
7825
0
                                                break;
7826
0
                                            }
7827
0
                                            break;
7828
0
                                        }
7829
0
                                        break;
7830
0
                                    }
7831
0
                                    break;
7832
0
                                }
7833
0
                                break;
7834
0
                            }
7835
0
                            break;
7836
0
                        }
7837
0
                        break;
7838
0
                    }
7839
0
                    break;
7840
0
                }
7841
0
                break;
7842
0
            }
7843
0
    return 1;
7844
0
}
Unexecuted instantiation: rsa_backend.c:rsa_key_import_types_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsa_key_import_types_decoder
Unexecuted instantiation: rsa_ameth.c:rsa_key_import_types_decoder
7845
#endif
7846
/* End of machine generated */
7847
7848
#define rsa_key_export_types_st
7849
#define rsa_key_export_types_decoder
7850
/* Machine generated */
7851
#ifndef rsa_key_export_types_list
7852
static ossl_unused const OSSL_PARAM rsa_key_export_types_list[] = {
7853
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
7854
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
7855
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
7856
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
7857
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
7858
# if !defined(FIPS_MODULE)
7859
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
7860
# endif
7861
# if !defined(FIPS_MODULE)
7862
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
7863
# endif
7864
# if !defined(FIPS_MODULE)
7865
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
7866
# endif
7867
# if !defined(FIPS_MODULE)
7868
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
7869
# endif
7870
# if !defined(FIPS_MODULE)
7871
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
7872
# endif
7873
# if !defined(FIPS_MODULE)
7874
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
7875
# endif
7876
# if !defined(FIPS_MODULE)
7877
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
7878
# endif
7879
# if !defined(FIPS_MODULE)
7880
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
7881
# endif
7882
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
7883
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
7884
# if !defined(FIPS_MODULE)
7885
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
7886
# endif
7887
# if !defined(FIPS_MODULE)
7888
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
7889
# endif
7890
# if !defined(FIPS_MODULE)
7891
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
7892
# endif
7893
# if !defined(FIPS_MODULE)
7894
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
7895
# endif
7896
# if !defined(FIPS_MODULE)
7897
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
7898
# endif
7899
# if !defined(FIPS_MODULE)
7900
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
7901
# endif
7902
# if !defined(FIPS_MODULE)
7903
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
7904
# endif
7905
# if !defined(FIPS_MODULE)
7906
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
7907
# endif
7908
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
7909
# if !defined(FIPS_MODULE)
7910
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
7911
# endif
7912
# if !defined(FIPS_MODULE)
7913
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
7914
# endif
7915
# if !defined(FIPS_MODULE)
7916
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
7917
# endif
7918
# if !defined(FIPS_MODULE)
7919
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
7920
# endif
7921
# if !defined(FIPS_MODULE)
7922
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
7923
# endif
7924
# if !defined(FIPS_MODULE)
7925
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
7926
# endif
7927
# if !defined(FIPS_MODULE)
7928
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
7929
# endif
7930
# if !defined(FIPS_MODULE)
7931
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
7932
# endif
7933
    OSSL_PARAM_END
7934
};
7935
#endif
7936
7937
#ifndef rsa_key_export_types_st
7938
struct rsa_key_export_types_st {
7939
    OSSL_PARAM *d;
7940
    OSSL_PARAM *e;
7941
    OSSL_PARAM *mp.coeffs[0];
7942
# if !defined(FIPS_MODULE)
7943
    OSSL_PARAM *mp.coeffs[1];
7944
# endif
7945
# if !defined(FIPS_MODULE)
7946
    OSSL_PARAM *mp.coeffs[2];
7947
# endif
7948
# if !defined(FIPS_MODULE)
7949
    OSSL_PARAM *mp.coeffs[3];
7950
# endif
7951
# if !defined(FIPS_MODULE)
7952
    OSSL_PARAM *mp.coeffs[4];
7953
# endif
7954
# if !defined(FIPS_MODULE)
7955
    OSSL_PARAM *mp.coeffs[5];
7956
# endif
7957
# if !defined(FIPS_MODULE)
7958
    OSSL_PARAM *mp.coeffs[6];
7959
# endif
7960
# if !defined(FIPS_MODULE)
7961
    OSSL_PARAM *mp.coeffs[7];
7962
# endif
7963
# if !defined(FIPS_MODULE)
7964
    OSSL_PARAM *mp.coeffs[8];
7965
# endif
7966
    OSSL_PARAM *mp.exps[0];
7967
    OSSL_PARAM *mp.exps[1];
7968
# if !defined(FIPS_MODULE)
7969
    OSSL_PARAM *mp.exps[2];
7970
# endif
7971
# if !defined(FIPS_MODULE)
7972
    OSSL_PARAM *mp.exps[3];
7973
# endif
7974
# if !defined(FIPS_MODULE)
7975
    OSSL_PARAM *mp.exps[4];
7976
# endif
7977
# if !defined(FIPS_MODULE)
7978
    OSSL_PARAM *mp.exps[5];
7979
# endif
7980
# if !defined(FIPS_MODULE)
7981
    OSSL_PARAM *mp.exps[6];
7982
# endif
7983
# if !defined(FIPS_MODULE)
7984
    OSSL_PARAM *mp.exps[7];
7985
# endif
7986
# if !defined(FIPS_MODULE)
7987
    OSSL_PARAM *mp.exps[8];
7988
# endif
7989
# if !defined(FIPS_MODULE)
7990
    OSSL_PARAM *mp.exps[9];
7991
# endif
7992
    OSSL_PARAM *mp.factors[0];
7993
    OSSL_PARAM *mp.factors[1];
7994
# if !defined(FIPS_MODULE)
7995
    OSSL_PARAM *mp.factors[2];
7996
# endif
7997
# if !defined(FIPS_MODULE)
7998
    OSSL_PARAM *mp.factors[3];
7999
# endif
8000
# if !defined(FIPS_MODULE)
8001
    OSSL_PARAM *mp.factors[4];
8002
# endif
8003
# if !defined(FIPS_MODULE)
8004
    OSSL_PARAM *mp.factors[5];
8005
# endif
8006
# if !defined(FIPS_MODULE)
8007
    OSSL_PARAM *mp.factors[6];
8008
# endif
8009
# if !defined(FIPS_MODULE)
8010
    OSSL_PARAM *mp.factors[7];
8011
# endif
8012
# if !defined(FIPS_MODULE)
8013
    OSSL_PARAM *mp.factors[8];
8014
# endif
8015
# if !defined(FIPS_MODULE)
8016
    OSSL_PARAM *mp.factors[9];
8017
# endif
8018
    OSSL_PARAM *n;
8019
};
8020
#endif
8021
8022
#ifndef rsa_key_export_types_decoder
8023
static ossl_unused int rsa_key_export_types_decoder
8024
    (const OSSL_PARAM *p, struct rsa_key_export_types_st *r)
8025
{
8026
    const char *s;
8027
8028
    memset(r, 0, sizeof(*r));
8029
    if (p != NULL)
8030
        for (; (s = p->key) != NULL; p++)
8031
            switch(s[0]) {
8032
            default:
8033
                break;
8034
            case 'd':
8035
                switch(s[1]) {
8036
                default:
8037
                    break;
8038
                case '\0':
8039
                    if (ossl_unlikely(r->d != NULL)) {
8040
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8041
                                       "param %s is repeated", s);
8042
                        return 0;
8043
                    }
8044
                    r->d = (OSSL_PARAM *)p;
8045
                }
8046
                break;
8047
            case 'e':
8048
                switch(s[1]) {
8049
                default:
8050
                    break;
8051
                case '\0':
8052
                    if (ossl_unlikely(r->e != NULL)) {
8053
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8054
                                       "param %s is repeated", s);
8055
                        return 0;
8056
                    }
8057
                    r->e = (OSSL_PARAM *)p;
8058
                }
8059
                break;
8060
            case 'n':
8061
                switch(s[1]) {
8062
                default:
8063
                    break;
8064
                case '\0':
8065
                    if (ossl_unlikely(r->n != NULL)) {
8066
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8067
                                       "param %s is repeated", s);
8068
                        return 0;
8069
                    }
8070
                    r->n = (OSSL_PARAM *)p;
8071
                }
8072
                break;
8073
            case 'r':
8074
                switch(s[1]) {
8075
                default:
8076
                    break;
8077
                case 's':
8078
                    switch(s[2]) {
8079
                    default:
8080
                        break;
8081
                    case 'a':
8082
                        switch(s[3]) {
8083
                        default:
8084
                            break;
8085
                        case '-':
8086
                            switch(s[4]) {
8087
                            default:
8088
                                break;
8089
                            case 'c':
8090
                                switch(s[5]) {
8091
                                default:
8092
                                    break;
8093
                                case 'o':
8094
                                    switch(s[6]) {
8095
                                    default:
8096
                                        break;
8097
                                    case 'e':
8098
                                        switch(s[7]) {
8099
                                        default:
8100
                                            break;
8101
                                        case 'f':
8102
                                            switch(s[8]) {
8103
                                            default:
8104
                                                break;
8105
                                            case 'f':
8106
                                                switch(s[9]) {
8107
                                                default:
8108
                                                    break;
8109
                                                case 'i':
8110
                                                    switch(s[10]) {
8111
                                                    default:
8112
                                                        break;
8113
                                                    case 'c':
8114
                                                        switch(s[11]) {
8115
                                                        default:
8116
                                                            break;
8117
                                                        case 'i':
8118
                                                            switch(s[12]) {
8119
                                                            default:
8120
                                                                break;
8121
                                                            case 'e':
8122
                                                                switch(s[13]) {
8123
                                                                default:
8124
                                                                    break;
8125
                                                                case 'n':
8126
                                                                    switch(s[14]) {
8127
                                                                    default:
8128
                                                                        break;
8129
                                                                    case 't':
8130
                                                                        switch(s[15]) {
8131
                                                                        default:
8132
                                                                            break;
8133
                                                                        case '1':
8134
                                                                            switch(s[16]) {
8135
                                                                            default:
8136
                                                                                break;
8137
                                                                            case '\0':
8138
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
8139
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8140
                                                                                                   "param %s is repeated", s);
8141
                                                                                    return 0;
8142
                                                                                }
8143
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
8144
                                                                            }
8145
                                                                            break;
8146
                                                                        case '2':
8147
                                                                            switch(s[16]) {
8148
                                                                            default:
8149
                                                                                break;
8150
                                                                            case '\0':
8151
# if !defined(FIPS_MODULE)
8152
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
8153
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8154
                                                                                                   "param %s is repeated", s);
8155
                                                                                    return 0;
8156
                                                                                }
8157
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
8158
# endif
8159
                                                                                break;
8160
                                                                            }
8161
                                                                            break;
8162
                                                                        case '3':
8163
                                                                            switch(s[16]) {
8164
                                                                            default:
8165
                                                                                break;
8166
                                                                            case '\0':
8167
# if !defined(FIPS_MODULE)
8168
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
8169
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8170
                                                                                                   "param %s is repeated", s);
8171
                                                                                    return 0;
8172
                                                                                }
8173
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
8174
# endif
8175
                                                                                break;
8176
                                                                            }
8177
                                                                            break;
8178
                                                                        case '4':
8179
                                                                            switch(s[16]) {
8180
                                                                            default:
8181
                                                                                break;
8182
                                                                            case '\0':
8183
# if !defined(FIPS_MODULE)
8184
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
8185
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8186
                                                                                                   "param %s is repeated", s);
8187
                                                                                    return 0;
8188
                                                                                }
8189
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
8190
# endif
8191
                                                                                break;
8192
                                                                            }
8193
                                                                            break;
8194
                                                                        case '5':
8195
                                                                            switch(s[16]) {
8196
                                                                            default:
8197
                                                                                break;
8198
                                                                            case '\0':
8199
# if !defined(FIPS_MODULE)
8200
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
8201
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8202
                                                                                                   "param %s is repeated", s);
8203
                                                                                    return 0;
8204
                                                                                }
8205
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
8206
# endif
8207
                                                                                break;
8208
                                                                            }
8209
                                                                            break;
8210
                                                                        case '6':
8211
                                                                            switch(s[16]) {
8212
                                                                            default:
8213
                                                                                break;
8214
                                                                            case '\0':
8215
# if !defined(FIPS_MODULE)
8216
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
8217
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8218
                                                                                                   "param %s is repeated", s);
8219
                                                                                    return 0;
8220
                                                                                }
8221
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
8222
# endif
8223
                                                                                break;
8224
                                                                            }
8225
                                                                            break;
8226
                                                                        case '7':
8227
                                                                            switch(s[16]) {
8228
                                                                            default:
8229
                                                                                break;
8230
                                                                            case '\0':
8231
# if !defined(FIPS_MODULE)
8232
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
8233
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8234
                                                                                                   "param %s is repeated", s);
8235
                                                                                    return 0;
8236
                                                                                }
8237
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
8238
# endif
8239
                                                                                break;
8240
                                                                            }
8241
                                                                            break;
8242
                                                                        case '8':
8243
                                                                            switch(s[16]) {
8244
                                                                            default:
8245
                                                                                break;
8246
                                                                            case '\0':
8247
# if !defined(FIPS_MODULE)
8248
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
8249
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8250
                                                                                                   "param %s is repeated", s);
8251
                                                                                    return 0;
8252
                                                                                }
8253
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
8254
# endif
8255
                                                                                break;
8256
                                                                            }
8257
                                                                            break;
8258
                                                                        case '9':
8259
                                                                            switch(s[16]) {
8260
                                                                            default:
8261
                                                                                break;
8262
                                                                            case '\0':
8263
# if !defined(FIPS_MODULE)
8264
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
8265
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8266
                                                                                                   "param %s is repeated", s);
8267
                                                                                    return 0;
8268
                                                                                }
8269
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
8270
# endif
8271
                                                                                break;
8272
                                                                            }
8273
                                                                            break;
8274
                                                                        }
8275
                                                                        break;
8276
                                                                    }
8277
                                                                    break;
8278
                                                                }
8279
                                                                break;
8280
                                                            }
8281
                                                            break;
8282
                                                        }
8283
                                                        break;
8284
                                                    }
8285
                                                    break;
8286
                                                }
8287
                                                break;
8288
                                            }
8289
                                            break;
8290
                                        }
8291
                                        break;
8292
                                    }
8293
                                    break;
8294
                                }
8295
                                break;
8296
                            case 'e':
8297
                                switch(s[5]) {
8298
                                default:
8299
                                    break;
8300
                                case 'x':
8301
                                    switch(s[6]) {
8302
                                    default:
8303
                                        break;
8304
                                    case 'p':
8305
                                        switch(s[7]) {
8306
                                        default:
8307
                                            break;
8308
                                        case 'o':
8309
                                            switch(s[8]) {
8310
                                            default:
8311
                                                break;
8312
                                            case 'n':
8313
                                                switch(s[9]) {
8314
                                                default:
8315
                                                    break;
8316
                                                case 'e':
8317
                                                    switch(s[10]) {
8318
                                                    default:
8319
                                                        break;
8320
                                                    case 'n':
8321
                                                        switch(s[11]) {
8322
                                                        default:
8323
                                                            break;
8324
                                                        case 't':
8325
                                                            switch(s[12]) {
8326
                                                            default:
8327
                                                                break;
8328
                                                            case '1':
8329
                                                                switch(s[13]) {
8330
                                                                default:
8331
                                                                    break;
8332
                                                                case '0':
8333
                                                                    switch(s[14]) {
8334
                                                                    default:
8335
                                                                        break;
8336
                                                                    case '\0':
8337
# if !defined(FIPS_MODULE)
8338
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
8339
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8340
                                                                                           "param %s is repeated", s);
8341
                                                                            return 0;
8342
                                                                        }
8343
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
8344
# endif
8345
                                                                        break;
8346
                                                                    }
8347
                                                                    break;
8348
                                                                case '\0':
8349
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
8350
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8351
                                                                                       "param %s is repeated", s);
8352
                                                                        return 0;
8353
                                                                    }
8354
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
8355
                                                                }
8356
                                                                break;
8357
                                                            case '2':
8358
                                                                switch(s[13]) {
8359
                                                                default:
8360
                                                                    break;
8361
                                                                case '\0':
8362
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
8363
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8364
                                                                                       "param %s is repeated", s);
8365
                                                                        return 0;
8366
                                                                    }
8367
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
8368
                                                                }
8369
                                                                break;
8370
                                                            case '3':
8371
                                                                switch(s[13]) {
8372
                                                                default:
8373
                                                                    break;
8374
                                                                case '\0':
8375
# if !defined(FIPS_MODULE)
8376
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
8377
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8378
                                                                                       "param %s is repeated", s);
8379
                                                                        return 0;
8380
                                                                    }
8381
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
8382
# endif
8383
                                                                    break;
8384
                                                                }
8385
                                                                break;
8386
                                                            case '4':
8387
                                                                switch(s[13]) {
8388
                                                                default:
8389
                                                                    break;
8390
                                                                case '\0':
8391
# if !defined(FIPS_MODULE)
8392
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
8393
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8394
                                                                                       "param %s is repeated", s);
8395
                                                                        return 0;
8396
                                                                    }
8397
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
8398
# endif
8399
                                                                    break;
8400
                                                                }
8401
                                                                break;
8402
                                                            case '5':
8403
                                                                switch(s[13]) {
8404
                                                                default:
8405
                                                                    break;
8406
                                                                case '\0':
8407
# if !defined(FIPS_MODULE)
8408
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
8409
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8410
                                                                                       "param %s is repeated", s);
8411
                                                                        return 0;
8412
                                                                    }
8413
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
8414
# endif
8415
                                                                    break;
8416
                                                                }
8417
                                                                break;
8418
                                                            case '6':
8419
                                                                switch(s[13]) {
8420
                                                                default:
8421
                                                                    break;
8422
                                                                case '\0':
8423
# if !defined(FIPS_MODULE)
8424
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
8425
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8426
                                                                                       "param %s is repeated", s);
8427
                                                                        return 0;
8428
                                                                    }
8429
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
8430
# endif
8431
                                                                    break;
8432
                                                                }
8433
                                                                break;
8434
                                                            case '7':
8435
                                                                switch(s[13]) {
8436
                                                                default:
8437
                                                                    break;
8438
                                                                case '\0':
8439
# if !defined(FIPS_MODULE)
8440
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
8441
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8442
                                                                                       "param %s is repeated", s);
8443
                                                                        return 0;
8444
                                                                    }
8445
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
8446
# endif
8447
                                                                    break;
8448
                                                                }
8449
                                                                break;
8450
                                                            case '8':
8451
                                                                switch(s[13]) {
8452
                                                                default:
8453
                                                                    break;
8454
                                                                case '\0':
8455
# if !defined(FIPS_MODULE)
8456
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
8457
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8458
                                                                                       "param %s is repeated", s);
8459
                                                                        return 0;
8460
                                                                    }
8461
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
8462
# endif
8463
                                                                    break;
8464
                                                                }
8465
                                                                break;
8466
                                                            case '9':
8467
                                                                switch(s[13]) {
8468
                                                                default:
8469
                                                                    break;
8470
                                                                case '\0':
8471
# if !defined(FIPS_MODULE)
8472
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
8473
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8474
                                                                                       "param %s is repeated", s);
8475
                                                                        return 0;
8476
                                                                    }
8477
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
8478
# endif
8479
                                                                    break;
8480
                                                                }
8481
                                                                break;
8482
                                                            }
8483
                                                            break;
8484
                                                        }
8485
                                                        break;
8486
                                                    }
8487
                                                    break;
8488
                                                }
8489
                                                break;
8490
                                            }
8491
                                            break;
8492
                                        }
8493
                                        break;
8494
                                    }
8495
                                    break;
8496
                                }
8497
                                break;
8498
                            case 'f':
8499
                                switch(s[5]) {
8500
                                default:
8501
                                    break;
8502
                                case 'a':
8503
                                    switch(s[6]) {
8504
                                    default:
8505
                                        break;
8506
                                    case 'c':
8507
                                        switch(s[7]) {
8508
                                        default:
8509
                                            break;
8510
                                        case 't':
8511
                                            switch(s[8]) {
8512
                                            default:
8513
                                                break;
8514
                                            case 'o':
8515
                                                switch(s[9]) {
8516
                                                default:
8517
                                                    break;
8518
                                                case 'r':
8519
                                                    switch(s[10]) {
8520
                                                    default:
8521
                                                        break;
8522
                                                    case '1':
8523
                                                        switch(s[11]) {
8524
                                                        default:
8525
                                                            break;
8526
                                                        case '0':
8527
                                                            switch(s[12]) {
8528
                                                            default:
8529
                                                                break;
8530
                                                            case '\0':
8531
# if !defined(FIPS_MODULE)
8532
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
8533
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8534
                                                                                   "param %s is repeated", s);
8535
                                                                    return 0;
8536
                                                                }
8537
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
8538
# endif
8539
                                                                break;
8540
                                                            }
8541
                                                            break;
8542
                                                        case '\0':
8543
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
8544
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8545
                                                                               "param %s is repeated", s);
8546
                                                                return 0;
8547
                                                            }
8548
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
8549
                                                        }
8550
                                                        break;
8551
                                                    case '2':
8552
                                                        switch(s[11]) {
8553
                                                        default:
8554
                                                            break;
8555
                                                        case '\0':
8556
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
8557
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8558
                                                                               "param %s is repeated", s);
8559
                                                                return 0;
8560
                                                            }
8561
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
8562
                                                        }
8563
                                                        break;
8564
                                                    case '3':
8565
                                                        switch(s[11]) {
8566
                                                        default:
8567
                                                            break;
8568
                                                        case '\0':
8569
# if !defined(FIPS_MODULE)
8570
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
8571
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8572
                                                                               "param %s is repeated", s);
8573
                                                                return 0;
8574
                                                            }
8575
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
8576
# endif
8577
                                                            break;
8578
                                                        }
8579
                                                        break;
8580
                                                    case '4':
8581
                                                        switch(s[11]) {
8582
                                                        default:
8583
                                                            break;
8584
                                                        case '\0':
8585
# if !defined(FIPS_MODULE)
8586
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
8587
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8588
                                                                               "param %s is repeated", s);
8589
                                                                return 0;
8590
                                                            }
8591
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
8592
# endif
8593
                                                            break;
8594
                                                        }
8595
                                                        break;
8596
                                                    case '5':
8597
                                                        switch(s[11]) {
8598
                                                        default:
8599
                                                            break;
8600
                                                        case '\0':
8601
# if !defined(FIPS_MODULE)
8602
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
8603
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8604
                                                                               "param %s is repeated", s);
8605
                                                                return 0;
8606
                                                            }
8607
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
8608
# endif
8609
                                                            break;
8610
                                                        }
8611
                                                        break;
8612
                                                    case '6':
8613
                                                        switch(s[11]) {
8614
                                                        default:
8615
                                                            break;
8616
                                                        case '\0':
8617
# if !defined(FIPS_MODULE)
8618
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
8619
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8620
                                                                               "param %s is repeated", s);
8621
                                                                return 0;
8622
                                                            }
8623
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
8624
# endif
8625
                                                            break;
8626
                                                        }
8627
                                                        break;
8628
                                                    case '7':
8629
                                                        switch(s[11]) {
8630
                                                        default:
8631
                                                            break;
8632
                                                        case '\0':
8633
# if !defined(FIPS_MODULE)
8634
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
8635
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8636
                                                                               "param %s is repeated", s);
8637
                                                                return 0;
8638
                                                            }
8639
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
8640
# endif
8641
                                                            break;
8642
                                                        }
8643
                                                        break;
8644
                                                    case '8':
8645
                                                        switch(s[11]) {
8646
                                                        default:
8647
                                                            break;
8648
                                                        case '\0':
8649
# if !defined(FIPS_MODULE)
8650
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
8651
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8652
                                                                               "param %s is repeated", s);
8653
                                                                return 0;
8654
                                                            }
8655
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
8656
# endif
8657
                                                            break;
8658
                                                        }
8659
                                                        break;
8660
                                                    case '9':
8661
                                                        switch(s[11]) {
8662
                                                        default:
8663
                                                            break;
8664
                                                        case '\0':
8665
# if !defined(FIPS_MODULE)
8666
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
8667
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8668
                                                                               "param %s is repeated", s);
8669
                                                                return 0;
8670
                                                            }
8671
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
8672
# endif
8673
                                                            break;
8674
                                                        }
8675
                                                        break;
8676
                                                    }
8677
                                                    break;
8678
                                                }
8679
                                                break;
8680
                                            }
8681
                                            break;
8682
                                        }
8683
                                        break;
8684
                                    }
8685
                                    break;
8686
                                }
8687
                                break;
8688
                            }
8689
                            break;
8690
                        }
8691
                        break;
8692
                    }
8693
                    break;
8694
                }
8695
                break;
8696
            }
8697
    return 1;
8698
}
8699
#endif
8700
/* End of machine generated */
8701
8702
#define rsa_other_import_types_st rsa_params_st
8703
/* Machine generated */
8704
#ifndef rsa_other_import_types_list
8705
static ossl_unused const OSSL_PARAM rsa_other_import_types_list[] = {
8706
    OSSL_PARAM_END
8707
};
8708
#endif
8709
8710
#ifndef rsa_other_import_types_st
8711
struct rsa_other_import_types_st {
8712
};
8713
#endif
8714
8715
#ifndef rsa_other_import_types_decoder
8716
static ossl_unused int rsa_other_import_types_decoder
8717
    (const OSSL_PARAM *p, struct rsa_other_import_types_st *r)
8718
0
{
8719
0
    const char *s;
8720
8721
0
    memset(r, 0, sizeof(*r));
8722
0
    if (p != NULL)
8723
0
        for (; (s = p->key) != NULL; p++)
8724
0
            switch(s[0]) {
8725
0
            default:
8726
0
                break;
8727
0
            }
8728
0
    return 1;
8729
0
}
Unexecuted instantiation: rsa_backend.c:rsa_other_import_types_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsa_other_import_types_decoder
Unexecuted instantiation: rsa_ameth.c:rsa_other_import_types_decoder
8730
#endif
8731
/* End of machine generated */
8732
8733
#define rsa_other_export_types_st
8734
#define rsa_other_export_types_decoder
8735
/* Machine generated */
8736
#ifndef rsa_other_export_types_list
8737
static ossl_unused const OSSL_PARAM rsa_other_export_types_list[] = {
8738
    OSSL_PARAM_END
8739
};
8740
#endif
8741
8742
#ifndef rsa_other_export_types_st
8743
struct rsa_other_export_types_st {
8744
};
8745
#endif
8746
8747
#ifndef rsa_other_export_types_decoder
8748
static ossl_unused int rsa_other_export_types_decoder
8749
    (const OSSL_PARAM *p, struct rsa_other_export_types_st *r)
8750
{
8751
    const char *s;
8752
8753
    memset(r, 0, sizeof(*r));
8754
    if (p != NULL)
8755
        for (; (s = p->key) != NULL; p++)
8756
            switch(s[0]) {
8757
            default:
8758
                break;
8759
            }
8760
    return 1;
8761
}
8762
#endif
8763
/* End of machine generated */
8764
8765
#define rsa_all_import_types_st rsa_params_st
8766
/* Machine generated */
8767
#ifndef rsa_all_import_types_list
8768
static ossl_unused const OSSL_PARAM rsa_all_import_types_list[] = {
8769
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
8770
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
8771
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
8772
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
8773
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
8774
# if !defined(FIPS_MODULE)
8775
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
8776
# endif
8777
# if !defined(FIPS_MODULE)
8778
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
8779
# endif
8780
# if !defined(FIPS_MODULE)
8781
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
8782
# endif
8783
# if !defined(FIPS_MODULE)
8784
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
8785
# endif
8786
# if !defined(FIPS_MODULE)
8787
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
8788
# endif
8789
# if !defined(FIPS_MODULE)
8790
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
8791
# endif
8792
# if !defined(FIPS_MODULE)
8793
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
8794
# endif
8795
# if !defined(FIPS_MODULE)
8796
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
8797
# endif
8798
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
8799
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
8800
# if !defined(FIPS_MODULE)
8801
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
8802
# endif
8803
# if !defined(FIPS_MODULE)
8804
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
8805
# endif
8806
# if !defined(FIPS_MODULE)
8807
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
8808
# endif
8809
# if !defined(FIPS_MODULE)
8810
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
8811
# endif
8812
# if !defined(FIPS_MODULE)
8813
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
8814
# endif
8815
# if !defined(FIPS_MODULE)
8816
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
8817
# endif
8818
# if !defined(FIPS_MODULE)
8819
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
8820
# endif
8821
# if !defined(FIPS_MODULE)
8822
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
8823
# endif
8824
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
8825
# if !defined(FIPS_MODULE)
8826
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
8827
# endif
8828
# if !defined(FIPS_MODULE)
8829
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
8830
# endif
8831
# if !defined(FIPS_MODULE)
8832
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
8833
# endif
8834
# if !defined(FIPS_MODULE)
8835
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
8836
# endif
8837
# if !defined(FIPS_MODULE)
8838
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
8839
# endif
8840
# if !defined(FIPS_MODULE)
8841
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
8842
# endif
8843
# if !defined(FIPS_MODULE)
8844
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
8845
# endif
8846
# if !defined(FIPS_MODULE)
8847
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
8848
# endif
8849
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ, NULL),
8850
    OSSL_PARAM_END
8851
};
8852
#endif
8853
8854
#ifndef rsa_all_import_types_st
8855
struct rsa_all_import_types_st {
8856
    OSSL_PARAM *d;
8857
    OSSL_PARAM *derive;
8858
    OSSL_PARAM *e;
8859
    OSSL_PARAM *mp.coeffs[0];
8860
# if !defined(FIPS_MODULE)
8861
    OSSL_PARAM *mp.coeffs[1];
8862
# endif
8863
# if !defined(FIPS_MODULE)
8864
    OSSL_PARAM *mp.coeffs[2];
8865
# endif
8866
# if !defined(FIPS_MODULE)
8867
    OSSL_PARAM *mp.coeffs[3];
8868
# endif
8869
# if !defined(FIPS_MODULE)
8870
    OSSL_PARAM *mp.coeffs[4];
8871
# endif
8872
# if !defined(FIPS_MODULE)
8873
    OSSL_PARAM *mp.coeffs[5];
8874
# endif
8875
# if !defined(FIPS_MODULE)
8876
    OSSL_PARAM *mp.coeffs[6];
8877
# endif
8878
# if !defined(FIPS_MODULE)
8879
    OSSL_PARAM *mp.coeffs[7];
8880
# endif
8881
# if !defined(FIPS_MODULE)
8882
    OSSL_PARAM *mp.coeffs[8];
8883
# endif
8884
    OSSL_PARAM *mp.exps[0];
8885
    OSSL_PARAM *mp.exps[1];
8886
# if !defined(FIPS_MODULE)
8887
    OSSL_PARAM *mp.exps[2];
8888
# endif
8889
# if !defined(FIPS_MODULE)
8890
    OSSL_PARAM *mp.exps[3];
8891
# endif
8892
# if !defined(FIPS_MODULE)
8893
    OSSL_PARAM *mp.exps[4];
8894
# endif
8895
# if !defined(FIPS_MODULE)
8896
    OSSL_PARAM *mp.exps[5];
8897
# endif
8898
# if !defined(FIPS_MODULE)
8899
    OSSL_PARAM *mp.exps[6];
8900
# endif
8901
# if !defined(FIPS_MODULE)
8902
    OSSL_PARAM *mp.exps[7];
8903
# endif
8904
# if !defined(FIPS_MODULE)
8905
    OSSL_PARAM *mp.exps[8];
8906
# endif
8907
# if !defined(FIPS_MODULE)
8908
    OSSL_PARAM *mp.exps[9];
8909
# endif
8910
    OSSL_PARAM *mp.factors[0];
8911
    OSSL_PARAM *mp.factors[1];
8912
# if !defined(FIPS_MODULE)
8913
    OSSL_PARAM *mp.factors[2];
8914
# endif
8915
# if !defined(FIPS_MODULE)
8916
    OSSL_PARAM *mp.factors[3];
8917
# endif
8918
# if !defined(FIPS_MODULE)
8919
    OSSL_PARAM *mp.factors[4];
8920
# endif
8921
# if !defined(FIPS_MODULE)
8922
    OSSL_PARAM *mp.factors[5];
8923
# endif
8924
# if !defined(FIPS_MODULE)
8925
    OSSL_PARAM *mp.factors[6];
8926
# endif
8927
# if !defined(FIPS_MODULE)
8928
    OSSL_PARAM *mp.factors[7];
8929
# endif
8930
# if !defined(FIPS_MODULE)
8931
    OSSL_PARAM *mp.factors[8];
8932
# endif
8933
# if !defined(FIPS_MODULE)
8934
    OSSL_PARAM *mp.factors[9];
8935
# endif
8936
    OSSL_PARAM *n;
8937
};
8938
#endif
8939
8940
#ifndef rsa_all_import_types_decoder
8941
static ossl_unused int rsa_all_import_types_decoder
8942
    (const OSSL_PARAM *p, struct rsa_all_import_types_st *r)
8943
0
{
8944
0
    const char *s;
8945
8946
0
    memset(r, 0, sizeof(*r));
8947
0
    if (p != NULL)
8948
0
        for (; (s = p->key) != NULL; p++)
8949
0
            switch(s[0]) {
8950
0
            default:
8951
0
                break;
8952
0
            case 'd':
8953
0
                switch(s[1]) {
8954
0
                default:
8955
0
                    break;
8956
0
                case '\0':
8957
0
                    if (ossl_unlikely(r->d != NULL)) {
8958
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8959
0
                                       "param %s is repeated", s);
8960
0
                        return 0;
8961
0
                    }
8962
0
                    r->d = (OSSL_PARAM *)p;
8963
0
                }
8964
0
                break;
8965
0
            case 'e':
8966
0
                switch(s[1]) {
8967
0
                default:
8968
0
                    break;
8969
0
                case '\0':
8970
0
                    if (ossl_unlikely(r->e != NULL)) {
8971
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8972
0
                                       "param %s is repeated", s);
8973
0
                        return 0;
8974
0
                    }
8975
0
                    r->e = (OSSL_PARAM *)p;
8976
0
                }
8977
0
                break;
8978
0
            case 'n':
8979
0
                switch(s[1]) {
8980
0
                default:
8981
0
                    break;
8982
0
                case '\0':
8983
0
                    if (ossl_unlikely(r->n != NULL)) {
8984
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
8985
0
                                       "param %s is repeated", s);
8986
0
                        return 0;
8987
0
                    }
8988
0
                    r->n = (OSSL_PARAM *)p;
8989
0
                }
8990
0
                break;
8991
0
            case 'r':
8992
0
                switch(s[1]) {
8993
0
                default:
8994
0
                    break;
8995
0
                case 's':
8996
0
                    switch(s[2]) {
8997
0
                    default:
8998
0
                        break;
8999
0
                    case 'a':
9000
0
                        switch(s[3]) {
9001
0
                        default:
9002
0
                            break;
9003
0
                        case '-':
9004
0
                            switch(s[4]) {
9005
0
                            default:
9006
0
                                break;
9007
0
                            case 'c':
9008
0
                                switch(s[5]) {
9009
0
                                default:
9010
0
                                    break;
9011
0
                                case 'o':
9012
0
                                    switch(s[6]) {
9013
0
                                    default:
9014
0
                                        break;
9015
0
                                    case 'e':
9016
0
                                        switch(s[7]) {
9017
0
                                        default:
9018
0
                                            break;
9019
0
                                        case 'f':
9020
0
                                            switch(s[8]) {
9021
0
                                            default:
9022
0
                                                break;
9023
0
                                            case 'f':
9024
0
                                                switch(s[9]) {
9025
0
                                                default:
9026
0
                                                    break;
9027
0
                                                case 'i':
9028
0
                                                    switch(s[10]) {
9029
0
                                                    default:
9030
0
                                                        break;
9031
0
                                                    case 'c':
9032
0
                                                        switch(s[11]) {
9033
0
                                                        default:
9034
0
                                                            break;
9035
0
                                                        case 'i':
9036
0
                                                            switch(s[12]) {
9037
0
                                                            default:
9038
0
                                                                break;
9039
0
                                                            case 'e':
9040
0
                                                                switch(s[13]) {
9041
0
                                                                default:
9042
0
                                                                    break;
9043
0
                                                                case 'n':
9044
0
                                                                    switch(s[14]) {
9045
0
                                                                    default:
9046
0
                                                                        break;
9047
0
                                                                    case 't':
9048
0
                                                                        switch(s[15]) {
9049
0
                                                                        default:
9050
0
                                                                            break;
9051
0
                                                                        case '1':
9052
0
                                                                            switch(s[16]) {
9053
0
                                                                            default:
9054
0
                                                                                break;
9055
0
                                                                            case '\0':
9056
0
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
9057
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9058
0
                                                                                                   "param %s is repeated", s);
9059
0
                                                                                    return 0;
9060
0
                                                                                }
9061
0
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
9062
0
                                                                            }
9063
0
                                                                            break;
9064
0
                                                                        case '2':
9065
0
                                                                            switch(s[16]) {
9066
0
                                                                            default:
9067
0
                                                                                break;
9068
0
                                                                            case '\0':
9069
0
# if !defined(FIPS_MODULE)
9070
0
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
9071
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9072
0
                                                                                                   "param %s is repeated", s);
9073
0
                                                                                    return 0;
9074
0
                                                                                }
9075
0
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
9076
0
# endif
9077
0
                                                                                break;
9078
0
                                                                            }
9079
0
                                                                            break;
9080
0
                                                                        case '3':
9081
0
                                                                            switch(s[16]) {
9082
0
                                                                            default:
9083
0
                                                                                break;
9084
0
                                                                            case '\0':
9085
0
# if !defined(FIPS_MODULE)
9086
0
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
9087
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9088
0
                                                                                                   "param %s is repeated", s);
9089
0
                                                                                    return 0;
9090
0
                                                                                }
9091
0
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
9092
0
# endif
9093
0
                                                                                break;
9094
0
                                                                            }
9095
0
                                                                            break;
9096
0
                                                                        case '4':
9097
0
                                                                            switch(s[16]) {
9098
0
                                                                            default:
9099
0
                                                                                break;
9100
0
                                                                            case '\0':
9101
0
# if !defined(FIPS_MODULE)
9102
0
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
9103
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9104
0
                                                                                                   "param %s is repeated", s);
9105
0
                                                                                    return 0;
9106
0
                                                                                }
9107
0
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
9108
0
# endif
9109
0
                                                                                break;
9110
0
                                                                            }
9111
0
                                                                            break;
9112
0
                                                                        case '5':
9113
0
                                                                            switch(s[16]) {
9114
0
                                                                            default:
9115
0
                                                                                break;
9116
0
                                                                            case '\0':
9117
0
# if !defined(FIPS_MODULE)
9118
0
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
9119
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9120
0
                                                                                                   "param %s is repeated", s);
9121
0
                                                                                    return 0;
9122
0
                                                                                }
9123
0
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
9124
0
# endif
9125
0
                                                                                break;
9126
0
                                                                            }
9127
0
                                                                            break;
9128
0
                                                                        case '6':
9129
0
                                                                            switch(s[16]) {
9130
0
                                                                            default:
9131
0
                                                                                break;
9132
0
                                                                            case '\0':
9133
0
# if !defined(FIPS_MODULE)
9134
0
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
9135
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9136
0
                                                                                                   "param %s is repeated", s);
9137
0
                                                                                    return 0;
9138
0
                                                                                }
9139
0
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
9140
0
# endif
9141
0
                                                                                break;
9142
0
                                                                            }
9143
0
                                                                            break;
9144
0
                                                                        case '7':
9145
0
                                                                            switch(s[16]) {
9146
0
                                                                            default:
9147
0
                                                                                break;
9148
0
                                                                            case '\0':
9149
0
# if !defined(FIPS_MODULE)
9150
0
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
9151
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9152
0
                                                                                                   "param %s is repeated", s);
9153
0
                                                                                    return 0;
9154
0
                                                                                }
9155
0
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
9156
0
# endif
9157
0
                                                                                break;
9158
0
                                                                            }
9159
0
                                                                            break;
9160
0
                                                                        case '8':
9161
0
                                                                            switch(s[16]) {
9162
0
                                                                            default:
9163
0
                                                                                break;
9164
0
                                                                            case '\0':
9165
0
# if !defined(FIPS_MODULE)
9166
0
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
9167
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9168
0
                                                                                                   "param %s is repeated", s);
9169
0
                                                                                    return 0;
9170
0
                                                                                }
9171
0
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
9172
0
# endif
9173
0
                                                                                break;
9174
0
                                                                            }
9175
0
                                                                            break;
9176
0
                                                                        case '9':
9177
0
                                                                            switch(s[16]) {
9178
0
                                                                            default:
9179
0
                                                                                break;
9180
0
                                                                            case '\0':
9181
0
# if !defined(FIPS_MODULE)
9182
0
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
9183
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9184
0
                                                                                                   "param %s is repeated", s);
9185
0
                                                                                    return 0;
9186
0
                                                                                }
9187
0
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
9188
0
# endif
9189
0
                                                                                break;
9190
0
                                                                            }
9191
0
                                                                            break;
9192
0
                                                                        }
9193
0
                                                                        break;
9194
0
                                                                    }
9195
0
                                                                    break;
9196
0
                                                                }
9197
0
                                                                break;
9198
0
                                                            }
9199
0
                                                            break;
9200
0
                                                        }
9201
0
                                                        break;
9202
0
                                                    }
9203
0
                                                    break;
9204
0
                                                }
9205
0
                                                break;
9206
0
                                            }
9207
0
                                            break;
9208
0
                                        }
9209
0
                                        break;
9210
0
                                    }
9211
0
                                    break;
9212
0
                                }
9213
0
                                break;
9214
0
                            case 'd':
9215
0
                                if (ossl_likely(strcmp("erive-from-pq", s + 5) == 0)) {
9216
                                    /* OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ */
9217
0
                                    if (ossl_unlikely(r->derive != NULL)) {
9218
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9219
0
                                                       "param %s is repeated", s);
9220
0
                                        return 0;
9221
0
                                    }
9222
0
                                    r->derive = (OSSL_PARAM *)p;
9223
0
                                }
9224
0
                                break;
9225
0
                            case 'e':
9226
0
                                switch(s[5]) {
9227
0
                                default:
9228
0
                                    break;
9229
0
                                case 'x':
9230
0
                                    switch(s[6]) {
9231
0
                                    default:
9232
0
                                        break;
9233
0
                                    case 'p':
9234
0
                                        switch(s[7]) {
9235
0
                                        default:
9236
0
                                            break;
9237
0
                                        case 'o':
9238
0
                                            switch(s[8]) {
9239
0
                                            default:
9240
0
                                                break;
9241
0
                                            case 'n':
9242
0
                                                switch(s[9]) {
9243
0
                                                default:
9244
0
                                                    break;
9245
0
                                                case 'e':
9246
0
                                                    switch(s[10]) {
9247
0
                                                    default:
9248
0
                                                        break;
9249
0
                                                    case 'n':
9250
0
                                                        switch(s[11]) {
9251
0
                                                        default:
9252
0
                                                            break;
9253
0
                                                        case 't':
9254
0
                                                            switch(s[12]) {
9255
0
                                                            default:
9256
0
                                                                break;
9257
0
                                                            case '1':
9258
0
                                                                switch(s[13]) {
9259
0
                                                                default:
9260
0
                                                                    break;
9261
0
                                                                case '0':
9262
0
                                                                    switch(s[14]) {
9263
0
                                                                    default:
9264
0
                                                                        break;
9265
0
                                                                    case '\0':
9266
0
# if !defined(FIPS_MODULE)
9267
0
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
9268
0
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9269
0
                                                                                           "param %s is repeated", s);
9270
0
                                                                            return 0;
9271
0
                                                                        }
9272
0
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
9273
0
# endif
9274
0
                                                                        break;
9275
0
                                                                    }
9276
0
                                                                    break;
9277
0
                                                                case '\0':
9278
0
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
9279
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9280
0
                                                                                       "param %s is repeated", s);
9281
0
                                                                        return 0;
9282
0
                                                                    }
9283
0
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
9284
0
                                                                }
9285
0
                                                                break;
9286
0
                                                            case '2':
9287
0
                                                                switch(s[13]) {
9288
0
                                                                default:
9289
0
                                                                    break;
9290
0
                                                                case '\0':
9291
0
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
9292
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9293
0
                                                                                       "param %s is repeated", s);
9294
0
                                                                        return 0;
9295
0
                                                                    }
9296
0
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
9297
0
                                                                }
9298
0
                                                                break;
9299
0
                                                            case '3':
9300
0
                                                                switch(s[13]) {
9301
0
                                                                default:
9302
0
                                                                    break;
9303
0
                                                                case '\0':
9304
0
# if !defined(FIPS_MODULE)
9305
0
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
9306
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9307
0
                                                                                       "param %s is repeated", s);
9308
0
                                                                        return 0;
9309
0
                                                                    }
9310
0
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
9311
0
# endif
9312
0
                                                                    break;
9313
0
                                                                }
9314
0
                                                                break;
9315
0
                                                            case '4':
9316
0
                                                                switch(s[13]) {
9317
0
                                                                default:
9318
0
                                                                    break;
9319
0
                                                                case '\0':
9320
0
# if !defined(FIPS_MODULE)
9321
0
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
9322
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9323
0
                                                                                       "param %s is repeated", s);
9324
0
                                                                        return 0;
9325
0
                                                                    }
9326
0
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
9327
0
# endif
9328
0
                                                                    break;
9329
0
                                                                }
9330
0
                                                                break;
9331
0
                                                            case '5':
9332
0
                                                                switch(s[13]) {
9333
0
                                                                default:
9334
0
                                                                    break;
9335
0
                                                                case '\0':
9336
0
# if !defined(FIPS_MODULE)
9337
0
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
9338
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9339
0
                                                                                       "param %s is repeated", s);
9340
0
                                                                        return 0;
9341
0
                                                                    }
9342
0
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
9343
0
# endif
9344
0
                                                                    break;
9345
0
                                                                }
9346
0
                                                                break;
9347
0
                                                            case '6':
9348
0
                                                                switch(s[13]) {
9349
0
                                                                default:
9350
0
                                                                    break;
9351
0
                                                                case '\0':
9352
0
# if !defined(FIPS_MODULE)
9353
0
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
9354
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9355
0
                                                                                       "param %s is repeated", s);
9356
0
                                                                        return 0;
9357
0
                                                                    }
9358
0
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
9359
0
# endif
9360
0
                                                                    break;
9361
0
                                                                }
9362
0
                                                                break;
9363
0
                                                            case '7':
9364
0
                                                                switch(s[13]) {
9365
0
                                                                default:
9366
0
                                                                    break;
9367
0
                                                                case '\0':
9368
0
# if !defined(FIPS_MODULE)
9369
0
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
9370
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9371
0
                                                                                       "param %s is repeated", s);
9372
0
                                                                        return 0;
9373
0
                                                                    }
9374
0
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
9375
0
# endif
9376
0
                                                                    break;
9377
0
                                                                }
9378
0
                                                                break;
9379
0
                                                            case '8':
9380
0
                                                                switch(s[13]) {
9381
0
                                                                default:
9382
0
                                                                    break;
9383
0
                                                                case '\0':
9384
0
# if !defined(FIPS_MODULE)
9385
0
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
9386
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9387
0
                                                                                       "param %s is repeated", s);
9388
0
                                                                        return 0;
9389
0
                                                                    }
9390
0
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
9391
0
# endif
9392
0
                                                                    break;
9393
0
                                                                }
9394
0
                                                                break;
9395
0
                                                            case '9':
9396
0
                                                                switch(s[13]) {
9397
0
                                                                default:
9398
0
                                                                    break;
9399
0
                                                                case '\0':
9400
0
# if !defined(FIPS_MODULE)
9401
0
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
9402
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9403
0
                                                                                       "param %s is repeated", s);
9404
0
                                                                        return 0;
9405
0
                                                                    }
9406
0
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
9407
0
# endif
9408
0
                                                                    break;
9409
0
                                                                }
9410
0
                                                                break;
9411
0
                                                            }
9412
0
                                                            break;
9413
0
                                                        }
9414
0
                                                        break;
9415
0
                                                    }
9416
0
                                                    break;
9417
0
                                                }
9418
0
                                                break;
9419
0
                                            }
9420
0
                                            break;
9421
0
                                        }
9422
0
                                        break;
9423
0
                                    }
9424
0
                                    break;
9425
0
                                }
9426
0
                                break;
9427
0
                            case 'f':
9428
0
                                switch(s[5]) {
9429
0
                                default:
9430
0
                                    break;
9431
0
                                case 'a':
9432
0
                                    switch(s[6]) {
9433
0
                                    default:
9434
0
                                        break;
9435
0
                                    case 'c':
9436
0
                                        switch(s[7]) {
9437
0
                                        default:
9438
0
                                            break;
9439
0
                                        case 't':
9440
0
                                            switch(s[8]) {
9441
0
                                            default:
9442
0
                                                break;
9443
0
                                            case 'o':
9444
0
                                                switch(s[9]) {
9445
0
                                                default:
9446
0
                                                    break;
9447
0
                                                case 'r':
9448
0
                                                    switch(s[10]) {
9449
0
                                                    default:
9450
0
                                                        break;
9451
0
                                                    case '1':
9452
0
                                                        switch(s[11]) {
9453
0
                                                        default:
9454
0
                                                            break;
9455
0
                                                        case '0':
9456
0
                                                            switch(s[12]) {
9457
0
                                                            default:
9458
0
                                                                break;
9459
0
                                                            case '\0':
9460
0
# if !defined(FIPS_MODULE)
9461
0
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
9462
0
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9463
0
                                                                                   "param %s is repeated", s);
9464
0
                                                                    return 0;
9465
0
                                                                }
9466
0
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
9467
0
# endif
9468
0
                                                                break;
9469
0
                                                            }
9470
0
                                                            break;
9471
0
                                                        case '\0':
9472
0
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
9473
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9474
0
                                                                               "param %s is repeated", s);
9475
0
                                                                return 0;
9476
0
                                                            }
9477
0
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
9478
0
                                                        }
9479
0
                                                        break;
9480
0
                                                    case '2':
9481
0
                                                        switch(s[11]) {
9482
0
                                                        default:
9483
0
                                                            break;
9484
0
                                                        case '\0':
9485
0
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
9486
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9487
0
                                                                               "param %s is repeated", s);
9488
0
                                                                return 0;
9489
0
                                                            }
9490
0
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
9491
0
                                                        }
9492
0
                                                        break;
9493
0
                                                    case '3':
9494
0
                                                        switch(s[11]) {
9495
0
                                                        default:
9496
0
                                                            break;
9497
0
                                                        case '\0':
9498
0
# if !defined(FIPS_MODULE)
9499
0
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
9500
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9501
0
                                                                               "param %s is repeated", s);
9502
0
                                                                return 0;
9503
0
                                                            }
9504
0
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
9505
0
# endif
9506
0
                                                            break;
9507
0
                                                        }
9508
0
                                                        break;
9509
0
                                                    case '4':
9510
0
                                                        switch(s[11]) {
9511
0
                                                        default:
9512
0
                                                            break;
9513
0
                                                        case '\0':
9514
0
# if !defined(FIPS_MODULE)
9515
0
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
9516
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9517
0
                                                                               "param %s is repeated", s);
9518
0
                                                                return 0;
9519
0
                                                            }
9520
0
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
9521
0
# endif
9522
0
                                                            break;
9523
0
                                                        }
9524
0
                                                        break;
9525
0
                                                    case '5':
9526
0
                                                        switch(s[11]) {
9527
0
                                                        default:
9528
0
                                                            break;
9529
0
                                                        case '\0':
9530
0
# if !defined(FIPS_MODULE)
9531
0
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
9532
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9533
0
                                                                               "param %s is repeated", s);
9534
0
                                                                return 0;
9535
0
                                                            }
9536
0
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
9537
0
# endif
9538
0
                                                            break;
9539
0
                                                        }
9540
0
                                                        break;
9541
0
                                                    case '6':
9542
0
                                                        switch(s[11]) {
9543
0
                                                        default:
9544
0
                                                            break;
9545
0
                                                        case '\0':
9546
0
# if !defined(FIPS_MODULE)
9547
0
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
9548
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9549
0
                                                                               "param %s is repeated", s);
9550
0
                                                                return 0;
9551
0
                                                            }
9552
0
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
9553
0
# endif
9554
0
                                                            break;
9555
0
                                                        }
9556
0
                                                        break;
9557
0
                                                    case '7':
9558
0
                                                        switch(s[11]) {
9559
0
                                                        default:
9560
0
                                                            break;
9561
0
                                                        case '\0':
9562
0
# if !defined(FIPS_MODULE)
9563
0
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
9564
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9565
0
                                                                               "param %s is repeated", s);
9566
0
                                                                return 0;
9567
0
                                                            }
9568
0
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
9569
0
# endif
9570
0
                                                            break;
9571
0
                                                        }
9572
0
                                                        break;
9573
0
                                                    case '8':
9574
0
                                                        switch(s[11]) {
9575
0
                                                        default:
9576
0
                                                            break;
9577
0
                                                        case '\0':
9578
0
# if !defined(FIPS_MODULE)
9579
0
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
9580
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9581
0
                                                                               "param %s is repeated", s);
9582
0
                                                                return 0;
9583
0
                                                            }
9584
0
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
9585
0
# endif
9586
0
                                                            break;
9587
0
                                                        }
9588
0
                                                        break;
9589
0
                                                    case '9':
9590
0
                                                        switch(s[11]) {
9591
0
                                                        default:
9592
0
                                                            break;
9593
0
                                                        case '\0':
9594
0
# if !defined(FIPS_MODULE)
9595
0
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
9596
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9597
0
                                                                               "param %s is repeated", s);
9598
0
                                                                return 0;
9599
0
                                                            }
9600
0
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
9601
0
# endif
9602
0
                                                            break;
9603
0
                                                        }
9604
0
                                                        break;
9605
0
                                                    }
9606
0
                                                    break;
9607
0
                                                }
9608
0
                                                break;
9609
0
                                            }
9610
0
                                            break;
9611
0
                                        }
9612
0
                                        break;
9613
0
                                    }
9614
0
                                    break;
9615
0
                                }
9616
0
                                break;
9617
0
                            }
9618
0
                            break;
9619
0
                        }
9620
0
                        break;
9621
0
                    }
9622
0
                    break;
9623
0
                }
9624
0
                break;
9625
0
            }
9626
0
    return 1;
9627
0
}
Unexecuted instantiation: rsa_backend.c:rsa_all_import_types_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsa_all_import_types_decoder
Unexecuted instantiation: rsa_ameth.c:rsa_all_import_types_decoder
9628
#endif
9629
/* End of machine generated */
9630
9631
#define rsa_all_export_types_st
9632
#define rsa_all_export_types_decoder
9633
/* Machine generated */
9634
#ifndef rsa_all_export_types_list
9635
static ossl_unused const OSSL_PARAM rsa_all_export_types_list[] = {
9636
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
9637
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
9638
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
9639
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
9640
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
9641
# if !defined(FIPS_MODULE)
9642
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
9643
# endif
9644
# if !defined(FIPS_MODULE)
9645
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
9646
# endif
9647
# if !defined(FIPS_MODULE)
9648
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
9649
# endif
9650
# if !defined(FIPS_MODULE)
9651
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
9652
# endif
9653
# if !defined(FIPS_MODULE)
9654
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
9655
# endif
9656
# if !defined(FIPS_MODULE)
9657
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
9658
# endif
9659
# if !defined(FIPS_MODULE)
9660
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
9661
# endif
9662
# if !defined(FIPS_MODULE)
9663
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
9664
# endif
9665
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
9666
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
9667
# if !defined(FIPS_MODULE)
9668
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
9669
# endif
9670
# if !defined(FIPS_MODULE)
9671
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
9672
# endif
9673
# if !defined(FIPS_MODULE)
9674
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
9675
# endif
9676
# if !defined(FIPS_MODULE)
9677
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
9678
# endif
9679
# if !defined(FIPS_MODULE)
9680
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
9681
# endif
9682
# if !defined(FIPS_MODULE)
9683
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
9684
# endif
9685
# if !defined(FIPS_MODULE)
9686
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
9687
# endif
9688
# if !defined(FIPS_MODULE)
9689
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
9690
# endif
9691
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
9692
# if !defined(FIPS_MODULE)
9693
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
9694
# endif
9695
# if !defined(FIPS_MODULE)
9696
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
9697
# endif
9698
# if !defined(FIPS_MODULE)
9699
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
9700
# endif
9701
# if !defined(FIPS_MODULE)
9702
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
9703
# endif
9704
# if !defined(FIPS_MODULE)
9705
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
9706
# endif
9707
# if !defined(FIPS_MODULE)
9708
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
9709
# endif
9710
# if !defined(FIPS_MODULE)
9711
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
9712
# endif
9713
# if !defined(FIPS_MODULE)
9714
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
9715
# endif
9716
    OSSL_PARAM_END
9717
};
9718
#endif
9719
9720
#ifndef rsa_all_export_types_st
9721
struct rsa_all_export_types_st {
9722
    OSSL_PARAM *d;
9723
    OSSL_PARAM *e;
9724
    OSSL_PARAM *mp.coeffs[0];
9725
# if !defined(FIPS_MODULE)
9726
    OSSL_PARAM *mp.coeffs[1];
9727
# endif
9728
# if !defined(FIPS_MODULE)
9729
    OSSL_PARAM *mp.coeffs[2];
9730
# endif
9731
# if !defined(FIPS_MODULE)
9732
    OSSL_PARAM *mp.coeffs[3];
9733
# endif
9734
# if !defined(FIPS_MODULE)
9735
    OSSL_PARAM *mp.coeffs[4];
9736
# endif
9737
# if !defined(FIPS_MODULE)
9738
    OSSL_PARAM *mp.coeffs[5];
9739
# endif
9740
# if !defined(FIPS_MODULE)
9741
    OSSL_PARAM *mp.coeffs[6];
9742
# endif
9743
# if !defined(FIPS_MODULE)
9744
    OSSL_PARAM *mp.coeffs[7];
9745
# endif
9746
# if !defined(FIPS_MODULE)
9747
    OSSL_PARAM *mp.coeffs[8];
9748
# endif
9749
    OSSL_PARAM *mp.exps[0];
9750
    OSSL_PARAM *mp.exps[1];
9751
# if !defined(FIPS_MODULE)
9752
    OSSL_PARAM *mp.exps[2];
9753
# endif
9754
# if !defined(FIPS_MODULE)
9755
    OSSL_PARAM *mp.exps[3];
9756
# endif
9757
# if !defined(FIPS_MODULE)
9758
    OSSL_PARAM *mp.exps[4];
9759
# endif
9760
# if !defined(FIPS_MODULE)
9761
    OSSL_PARAM *mp.exps[5];
9762
# endif
9763
# if !defined(FIPS_MODULE)
9764
    OSSL_PARAM *mp.exps[6];
9765
# endif
9766
# if !defined(FIPS_MODULE)
9767
    OSSL_PARAM *mp.exps[7];
9768
# endif
9769
# if !defined(FIPS_MODULE)
9770
    OSSL_PARAM *mp.exps[8];
9771
# endif
9772
# if !defined(FIPS_MODULE)
9773
    OSSL_PARAM *mp.exps[9];
9774
# endif
9775
    OSSL_PARAM *mp.factors[0];
9776
    OSSL_PARAM *mp.factors[1];
9777
# if !defined(FIPS_MODULE)
9778
    OSSL_PARAM *mp.factors[2];
9779
# endif
9780
# if !defined(FIPS_MODULE)
9781
    OSSL_PARAM *mp.factors[3];
9782
# endif
9783
# if !defined(FIPS_MODULE)
9784
    OSSL_PARAM *mp.factors[4];
9785
# endif
9786
# if !defined(FIPS_MODULE)
9787
    OSSL_PARAM *mp.factors[5];
9788
# endif
9789
# if !defined(FIPS_MODULE)
9790
    OSSL_PARAM *mp.factors[6];
9791
# endif
9792
# if !defined(FIPS_MODULE)
9793
    OSSL_PARAM *mp.factors[7];
9794
# endif
9795
# if !defined(FIPS_MODULE)
9796
    OSSL_PARAM *mp.factors[8];
9797
# endif
9798
# if !defined(FIPS_MODULE)
9799
    OSSL_PARAM *mp.factors[9];
9800
# endif
9801
    OSSL_PARAM *n;
9802
};
9803
#endif
9804
9805
#ifndef rsa_all_export_types_decoder
9806
static ossl_unused int rsa_all_export_types_decoder
9807
    (const OSSL_PARAM *p, struct rsa_all_export_types_st *r)
9808
{
9809
    const char *s;
9810
9811
    memset(r, 0, sizeof(*r));
9812
    if (p != NULL)
9813
        for (; (s = p->key) != NULL; p++)
9814
            switch(s[0]) {
9815
            default:
9816
                break;
9817
            case 'd':
9818
                switch(s[1]) {
9819
                default:
9820
                    break;
9821
                case '\0':
9822
                    if (ossl_unlikely(r->d != NULL)) {
9823
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9824
                                       "param %s is repeated", s);
9825
                        return 0;
9826
                    }
9827
                    r->d = (OSSL_PARAM *)p;
9828
                }
9829
                break;
9830
            case 'e':
9831
                switch(s[1]) {
9832
                default:
9833
                    break;
9834
                case '\0':
9835
                    if (ossl_unlikely(r->e != NULL)) {
9836
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9837
                                       "param %s is repeated", s);
9838
                        return 0;
9839
                    }
9840
                    r->e = (OSSL_PARAM *)p;
9841
                }
9842
                break;
9843
            case 'n':
9844
                switch(s[1]) {
9845
                default:
9846
                    break;
9847
                case '\0':
9848
                    if (ossl_unlikely(r->n != NULL)) {
9849
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9850
                                       "param %s is repeated", s);
9851
                        return 0;
9852
                    }
9853
                    r->n = (OSSL_PARAM *)p;
9854
                }
9855
                break;
9856
            case 'r':
9857
                switch(s[1]) {
9858
                default:
9859
                    break;
9860
                case 's':
9861
                    switch(s[2]) {
9862
                    default:
9863
                        break;
9864
                    case 'a':
9865
                        switch(s[3]) {
9866
                        default:
9867
                            break;
9868
                        case '-':
9869
                            switch(s[4]) {
9870
                            default:
9871
                                break;
9872
                            case 'c':
9873
                                switch(s[5]) {
9874
                                default:
9875
                                    break;
9876
                                case 'o':
9877
                                    switch(s[6]) {
9878
                                    default:
9879
                                        break;
9880
                                    case 'e':
9881
                                        switch(s[7]) {
9882
                                        default:
9883
                                            break;
9884
                                        case 'f':
9885
                                            switch(s[8]) {
9886
                                            default:
9887
                                                break;
9888
                                            case 'f':
9889
                                                switch(s[9]) {
9890
                                                default:
9891
                                                    break;
9892
                                                case 'i':
9893
                                                    switch(s[10]) {
9894
                                                    default:
9895
                                                        break;
9896
                                                    case 'c':
9897
                                                        switch(s[11]) {
9898
                                                        default:
9899
                                                            break;
9900
                                                        case 'i':
9901
                                                            switch(s[12]) {
9902
                                                            default:
9903
                                                                break;
9904
                                                            case 'e':
9905
                                                                switch(s[13]) {
9906
                                                                default:
9907
                                                                    break;
9908
                                                                case 'n':
9909
                                                                    switch(s[14]) {
9910
                                                                    default:
9911
                                                                        break;
9912
                                                                    case 't':
9913
                                                                        switch(s[15]) {
9914
                                                                        default:
9915
                                                                            break;
9916
                                                                        case '1':
9917
                                                                            switch(s[16]) {
9918
                                                                            default:
9919
                                                                                break;
9920
                                                                            case '\0':
9921
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
9922
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9923
                                                                                                   "param %s is repeated", s);
9924
                                                                                    return 0;
9925
                                                                                }
9926
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
9927
                                                                            }
9928
                                                                            break;
9929
                                                                        case '2':
9930
                                                                            switch(s[16]) {
9931
                                                                            default:
9932
                                                                                break;
9933
                                                                            case '\0':
9934
# if !defined(FIPS_MODULE)
9935
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
9936
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9937
                                                                                                   "param %s is repeated", s);
9938
                                                                                    return 0;
9939
                                                                                }
9940
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
9941
# endif
9942
                                                                                break;
9943
                                                                            }
9944
                                                                            break;
9945
                                                                        case '3':
9946
                                                                            switch(s[16]) {
9947
                                                                            default:
9948
                                                                                break;
9949
                                                                            case '\0':
9950
# if !defined(FIPS_MODULE)
9951
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
9952
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9953
                                                                                                   "param %s is repeated", s);
9954
                                                                                    return 0;
9955
                                                                                }
9956
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
9957
# endif
9958
                                                                                break;
9959
                                                                            }
9960
                                                                            break;
9961
                                                                        case '4':
9962
                                                                            switch(s[16]) {
9963
                                                                            default:
9964
                                                                                break;
9965
                                                                            case '\0':
9966
# if !defined(FIPS_MODULE)
9967
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
9968
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9969
                                                                                                   "param %s is repeated", s);
9970
                                                                                    return 0;
9971
                                                                                }
9972
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
9973
# endif
9974
                                                                                break;
9975
                                                                            }
9976
                                                                            break;
9977
                                                                        case '5':
9978
                                                                            switch(s[16]) {
9979
                                                                            default:
9980
                                                                                break;
9981
                                                                            case '\0':
9982
# if !defined(FIPS_MODULE)
9983
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
9984
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
9985
                                                                                                   "param %s is repeated", s);
9986
                                                                                    return 0;
9987
                                                                                }
9988
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
9989
# endif
9990
                                                                                break;
9991
                                                                            }
9992
                                                                            break;
9993
                                                                        case '6':
9994
                                                                            switch(s[16]) {
9995
                                                                            default:
9996
                                                                                break;
9997
                                                                            case '\0':
9998
# if !defined(FIPS_MODULE)
9999
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
10000
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10001
                                                                                                   "param %s is repeated", s);
10002
                                                                                    return 0;
10003
                                                                                }
10004
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
10005
# endif
10006
                                                                                break;
10007
                                                                            }
10008
                                                                            break;
10009
                                                                        case '7':
10010
                                                                            switch(s[16]) {
10011
                                                                            default:
10012
                                                                                break;
10013
                                                                            case '\0':
10014
# if !defined(FIPS_MODULE)
10015
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
10016
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10017
                                                                                                   "param %s is repeated", s);
10018
                                                                                    return 0;
10019
                                                                                }
10020
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
10021
# endif
10022
                                                                                break;
10023
                                                                            }
10024
                                                                            break;
10025
                                                                        case '8':
10026
                                                                            switch(s[16]) {
10027
                                                                            default:
10028
                                                                                break;
10029
                                                                            case '\0':
10030
# if !defined(FIPS_MODULE)
10031
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
10032
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10033
                                                                                                   "param %s is repeated", s);
10034
                                                                                    return 0;
10035
                                                                                }
10036
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
10037
# endif
10038
                                                                                break;
10039
                                                                            }
10040
                                                                            break;
10041
                                                                        case '9':
10042
                                                                            switch(s[16]) {
10043
                                                                            default:
10044
                                                                                break;
10045
                                                                            case '\0':
10046
# if !defined(FIPS_MODULE)
10047
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
10048
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10049
                                                                                                   "param %s is repeated", s);
10050
                                                                                    return 0;
10051
                                                                                }
10052
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
10053
# endif
10054
                                                                                break;
10055
                                                                            }
10056
                                                                            break;
10057
                                                                        }
10058
                                                                        break;
10059
                                                                    }
10060
                                                                    break;
10061
                                                                }
10062
                                                                break;
10063
                                                            }
10064
                                                            break;
10065
                                                        }
10066
                                                        break;
10067
                                                    }
10068
                                                    break;
10069
                                                }
10070
                                                break;
10071
                                            }
10072
                                            break;
10073
                                        }
10074
                                        break;
10075
                                    }
10076
                                    break;
10077
                                }
10078
                                break;
10079
                            case 'e':
10080
                                switch(s[5]) {
10081
                                default:
10082
                                    break;
10083
                                case 'x':
10084
                                    switch(s[6]) {
10085
                                    default:
10086
                                        break;
10087
                                    case 'p':
10088
                                        switch(s[7]) {
10089
                                        default:
10090
                                            break;
10091
                                        case 'o':
10092
                                            switch(s[8]) {
10093
                                            default:
10094
                                                break;
10095
                                            case 'n':
10096
                                                switch(s[9]) {
10097
                                                default:
10098
                                                    break;
10099
                                                case 'e':
10100
                                                    switch(s[10]) {
10101
                                                    default:
10102
                                                        break;
10103
                                                    case 'n':
10104
                                                        switch(s[11]) {
10105
                                                        default:
10106
                                                            break;
10107
                                                        case 't':
10108
                                                            switch(s[12]) {
10109
                                                            default:
10110
                                                                break;
10111
                                                            case '1':
10112
                                                                switch(s[13]) {
10113
                                                                default:
10114
                                                                    break;
10115
                                                                case '0':
10116
                                                                    switch(s[14]) {
10117
                                                                    default:
10118
                                                                        break;
10119
                                                                    case '\0':
10120
# if !defined(FIPS_MODULE)
10121
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
10122
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10123
                                                                                           "param %s is repeated", s);
10124
                                                                            return 0;
10125
                                                                        }
10126
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
10127
# endif
10128
                                                                        break;
10129
                                                                    }
10130
                                                                    break;
10131
                                                                case '\0':
10132
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
10133
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10134
                                                                                       "param %s is repeated", s);
10135
                                                                        return 0;
10136
                                                                    }
10137
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
10138
                                                                }
10139
                                                                break;
10140
                                                            case '2':
10141
                                                                switch(s[13]) {
10142
                                                                default:
10143
                                                                    break;
10144
                                                                case '\0':
10145
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
10146
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10147
                                                                                       "param %s is repeated", s);
10148
                                                                        return 0;
10149
                                                                    }
10150
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
10151
                                                                }
10152
                                                                break;
10153
                                                            case '3':
10154
                                                                switch(s[13]) {
10155
                                                                default:
10156
                                                                    break;
10157
                                                                case '\0':
10158
# if !defined(FIPS_MODULE)
10159
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
10160
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10161
                                                                                       "param %s is repeated", s);
10162
                                                                        return 0;
10163
                                                                    }
10164
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
10165
# endif
10166
                                                                    break;
10167
                                                                }
10168
                                                                break;
10169
                                                            case '4':
10170
                                                                switch(s[13]) {
10171
                                                                default:
10172
                                                                    break;
10173
                                                                case '\0':
10174
# if !defined(FIPS_MODULE)
10175
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
10176
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10177
                                                                                       "param %s is repeated", s);
10178
                                                                        return 0;
10179
                                                                    }
10180
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
10181
# endif
10182
                                                                    break;
10183
                                                                }
10184
                                                                break;
10185
                                                            case '5':
10186
                                                                switch(s[13]) {
10187
                                                                default:
10188
                                                                    break;
10189
                                                                case '\0':
10190
# if !defined(FIPS_MODULE)
10191
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
10192
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10193
                                                                                       "param %s is repeated", s);
10194
                                                                        return 0;
10195
                                                                    }
10196
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
10197
# endif
10198
                                                                    break;
10199
                                                                }
10200
                                                                break;
10201
                                                            case '6':
10202
                                                                switch(s[13]) {
10203
                                                                default:
10204
                                                                    break;
10205
                                                                case '\0':
10206
# if !defined(FIPS_MODULE)
10207
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
10208
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10209
                                                                                       "param %s is repeated", s);
10210
                                                                        return 0;
10211
                                                                    }
10212
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
10213
# endif
10214
                                                                    break;
10215
                                                                }
10216
                                                                break;
10217
                                                            case '7':
10218
                                                                switch(s[13]) {
10219
                                                                default:
10220
                                                                    break;
10221
                                                                case '\0':
10222
# if !defined(FIPS_MODULE)
10223
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
10224
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10225
                                                                                       "param %s is repeated", s);
10226
                                                                        return 0;
10227
                                                                    }
10228
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
10229
# endif
10230
                                                                    break;
10231
                                                                }
10232
                                                                break;
10233
                                                            case '8':
10234
                                                                switch(s[13]) {
10235
                                                                default:
10236
                                                                    break;
10237
                                                                case '\0':
10238
# if !defined(FIPS_MODULE)
10239
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
10240
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10241
                                                                                       "param %s is repeated", s);
10242
                                                                        return 0;
10243
                                                                    }
10244
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
10245
# endif
10246
                                                                    break;
10247
                                                                }
10248
                                                                break;
10249
                                                            case '9':
10250
                                                                switch(s[13]) {
10251
                                                                default:
10252
                                                                    break;
10253
                                                                case '\0':
10254
# if !defined(FIPS_MODULE)
10255
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
10256
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10257
                                                                                       "param %s is repeated", s);
10258
                                                                        return 0;
10259
                                                                    }
10260
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
10261
# endif
10262
                                                                    break;
10263
                                                                }
10264
                                                                break;
10265
                                                            }
10266
                                                            break;
10267
                                                        }
10268
                                                        break;
10269
                                                    }
10270
                                                    break;
10271
                                                }
10272
                                                break;
10273
                                            }
10274
                                            break;
10275
                                        }
10276
                                        break;
10277
                                    }
10278
                                    break;
10279
                                }
10280
                                break;
10281
                            case 'f':
10282
                                switch(s[5]) {
10283
                                default:
10284
                                    break;
10285
                                case 'a':
10286
                                    switch(s[6]) {
10287
                                    default:
10288
                                        break;
10289
                                    case 'c':
10290
                                        switch(s[7]) {
10291
                                        default:
10292
                                            break;
10293
                                        case 't':
10294
                                            switch(s[8]) {
10295
                                            default:
10296
                                                break;
10297
                                            case 'o':
10298
                                                switch(s[9]) {
10299
                                                default:
10300
                                                    break;
10301
                                                case 'r':
10302
                                                    switch(s[10]) {
10303
                                                    default:
10304
                                                        break;
10305
                                                    case '1':
10306
                                                        switch(s[11]) {
10307
                                                        default:
10308
                                                            break;
10309
                                                        case '0':
10310
                                                            switch(s[12]) {
10311
                                                            default:
10312
                                                                break;
10313
                                                            case '\0':
10314
# if !defined(FIPS_MODULE)
10315
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
10316
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10317
                                                                                   "param %s is repeated", s);
10318
                                                                    return 0;
10319
                                                                }
10320
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
10321
# endif
10322
                                                                break;
10323
                                                            }
10324
                                                            break;
10325
                                                        case '\0':
10326
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
10327
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10328
                                                                               "param %s is repeated", s);
10329
                                                                return 0;
10330
                                                            }
10331
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
10332
                                                        }
10333
                                                        break;
10334
                                                    case '2':
10335
                                                        switch(s[11]) {
10336
                                                        default:
10337
                                                            break;
10338
                                                        case '\0':
10339
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
10340
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10341
                                                                               "param %s is repeated", s);
10342
                                                                return 0;
10343
                                                            }
10344
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
10345
                                                        }
10346
                                                        break;
10347
                                                    case '3':
10348
                                                        switch(s[11]) {
10349
                                                        default:
10350
                                                            break;
10351
                                                        case '\0':
10352
# if !defined(FIPS_MODULE)
10353
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
10354
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10355
                                                                               "param %s is repeated", s);
10356
                                                                return 0;
10357
                                                            }
10358
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
10359
# endif
10360
                                                            break;
10361
                                                        }
10362
                                                        break;
10363
                                                    case '4':
10364
                                                        switch(s[11]) {
10365
                                                        default:
10366
                                                            break;
10367
                                                        case '\0':
10368
# if !defined(FIPS_MODULE)
10369
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
10370
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10371
                                                                               "param %s is repeated", s);
10372
                                                                return 0;
10373
                                                            }
10374
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
10375
# endif
10376
                                                            break;
10377
                                                        }
10378
                                                        break;
10379
                                                    case '5':
10380
                                                        switch(s[11]) {
10381
                                                        default:
10382
                                                            break;
10383
                                                        case '\0':
10384
# if !defined(FIPS_MODULE)
10385
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
10386
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10387
                                                                               "param %s is repeated", s);
10388
                                                                return 0;
10389
                                                            }
10390
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
10391
# endif
10392
                                                            break;
10393
                                                        }
10394
                                                        break;
10395
                                                    case '6':
10396
                                                        switch(s[11]) {
10397
                                                        default:
10398
                                                            break;
10399
                                                        case '\0':
10400
# if !defined(FIPS_MODULE)
10401
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
10402
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10403
                                                                               "param %s is repeated", s);
10404
                                                                return 0;
10405
                                                            }
10406
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
10407
# endif
10408
                                                            break;
10409
                                                        }
10410
                                                        break;
10411
                                                    case '7':
10412
                                                        switch(s[11]) {
10413
                                                        default:
10414
                                                            break;
10415
                                                        case '\0':
10416
# if !defined(FIPS_MODULE)
10417
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
10418
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10419
                                                                               "param %s is repeated", s);
10420
                                                                return 0;
10421
                                                            }
10422
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
10423
# endif
10424
                                                            break;
10425
                                                        }
10426
                                                        break;
10427
                                                    case '8':
10428
                                                        switch(s[11]) {
10429
                                                        default:
10430
                                                            break;
10431
                                                        case '\0':
10432
# if !defined(FIPS_MODULE)
10433
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
10434
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10435
                                                                               "param %s is repeated", s);
10436
                                                                return 0;
10437
                                                            }
10438
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
10439
# endif
10440
                                                            break;
10441
                                                        }
10442
                                                        break;
10443
                                                    case '9':
10444
                                                        switch(s[11]) {
10445
                                                        default:
10446
                                                            break;
10447
                                                        case '\0':
10448
# if !defined(FIPS_MODULE)
10449
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
10450
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10451
                                                                               "param %s is repeated", s);
10452
                                                                return 0;
10453
                                                            }
10454
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
10455
# endif
10456
                                                            break;
10457
                                                        }
10458
                                                        break;
10459
                                                    }
10460
                                                    break;
10461
                                                }
10462
                                                break;
10463
                                            }
10464
                                            break;
10465
                                        }
10466
                                        break;
10467
                                    }
10468
                                    break;
10469
                                }
10470
                                break;
10471
                            }
10472
                            break;
10473
                        }
10474
                        break;
10475
                    }
10476
                    break;
10477
                }
10478
                break;
10479
            }
10480
    return 1;
10481
}
10482
#endif
10483
/* End of machine generated */
10484
10485
#define rsapss_key_import_types_st rsa_params_st
10486
/* Machine generated */
10487
#ifndef rsapss_key_import_types_list
10488
static ossl_unused const OSSL_PARAM rsapss_key_import_types_list[] = {
10489
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
10490
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
10491
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
10492
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
10493
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
10494
# if !defined(FIPS_MODULE)
10495
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
10496
# endif
10497
# if !defined(FIPS_MODULE)
10498
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
10499
# endif
10500
# if !defined(FIPS_MODULE)
10501
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
10502
# endif
10503
# if !defined(FIPS_MODULE)
10504
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
10505
# endif
10506
# if !defined(FIPS_MODULE)
10507
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
10508
# endif
10509
# if !defined(FIPS_MODULE)
10510
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
10511
# endif
10512
# if !defined(FIPS_MODULE)
10513
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
10514
# endif
10515
# if !defined(FIPS_MODULE)
10516
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
10517
# endif
10518
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
10519
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
10520
# if !defined(FIPS_MODULE)
10521
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
10522
# endif
10523
# if !defined(FIPS_MODULE)
10524
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
10525
# endif
10526
# if !defined(FIPS_MODULE)
10527
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
10528
# endif
10529
# if !defined(FIPS_MODULE)
10530
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
10531
# endif
10532
# if !defined(FIPS_MODULE)
10533
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
10534
# endif
10535
# if !defined(FIPS_MODULE)
10536
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
10537
# endif
10538
# if !defined(FIPS_MODULE)
10539
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
10540
# endif
10541
# if !defined(FIPS_MODULE)
10542
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
10543
# endif
10544
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
10545
# if !defined(FIPS_MODULE)
10546
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
10547
# endif
10548
# if !defined(FIPS_MODULE)
10549
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
10550
# endif
10551
# if !defined(FIPS_MODULE)
10552
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
10553
# endif
10554
# if !defined(FIPS_MODULE)
10555
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
10556
# endif
10557
# if !defined(FIPS_MODULE)
10558
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
10559
# endif
10560
# if !defined(FIPS_MODULE)
10561
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
10562
# endif
10563
# if !defined(FIPS_MODULE)
10564
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
10565
# endif
10566
# if !defined(FIPS_MODULE)
10567
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
10568
# endif
10569
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ, NULL),
10570
    OSSL_PARAM_END
10571
};
10572
#endif
10573
10574
#ifndef rsapss_key_import_types_st
10575
struct rsapss_key_import_types_st {
10576
    OSSL_PARAM *d;
10577
    OSSL_PARAM *derive;
10578
    OSSL_PARAM *e;
10579
    OSSL_PARAM *mp.coeffs[0];
10580
# if !defined(FIPS_MODULE)
10581
    OSSL_PARAM *mp.coeffs[1];
10582
# endif
10583
# if !defined(FIPS_MODULE)
10584
    OSSL_PARAM *mp.coeffs[2];
10585
# endif
10586
# if !defined(FIPS_MODULE)
10587
    OSSL_PARAM *mp.coeffs[3];
10588
# endif
10589
# if !defined(FIPS_MODULE)
10590
    OSSL_PARAM *mp.coeffs[4];
10591
# endif
10592
# if !defined(FIPS_MODULE)
10593
    OSSL_PARAM *mp.coeffs[5];
10594
# endif
10595
# if !defined(FIPS_MODULE)
10596
    OSSL_PARAM *mp.coeffs[6];
10597
# endif
10598
# if !defined(FIPS_MODULE)
10599
    OSSL_PARAM *mp.coeffs[7];
10600
# endif
10601
# if !defined(FIPS_MODULE)
10602
    OSSL_PARAM *mp.coeffs[8];
10603
# endif
10604
    OSSL_PARAM *mp.exps[0];
10605
    OSSL_PARAM *mp.exps[1];
10606
# if !defined(FIPS_MODULE)
10607
    OSSL_PARAM *mp.exps[2];
10608
# endif
10609
# if !defined(FIPS_MODULE)
10610
    OSSL_PARAM *mp.exps[3];
10611
# endif
10612
# if !defined(FIPS_MODULE)
10613
    OSSL_PARAM *mp.exps[4];
10614
# endif
10615
# if !defined(FIPS_MODULE)
10616
    OSSL_PARAM *mp.exps[5];
10617
# endif
10618
# if !defined(FIPS_MODULE)
10619
    OSSL_PARAM *mp.exps[6];
10620
# endif
10621
# if !defined(FIPS_MODULE)
10622
    OSSL_PARAM *mp.exps[7];
10623
# endif
10624
# if !defined(FIPS_MODULE)
10625
    OSSL_PARAM *mp.exps[8];
10626
# endif
10627
# if !defined(FIPS_MODULE)
10628
    OSSL_PARAM *mp.exps[9];
10629
# endif
10630
    OSSL_PARAM *mp.factors[0];
10631
    OSSL_PARAM *mp.factors[1];
10632
# if !defined(FIPS_MODULE)
10633
    OSSL_PARAM *mp.factors[2];
10634
# endif
10635
# if !defined(FIPS_MODULE)
10636
    OSSL_PARAM *mp.factors[3];
10637
# endif
10638
# if !defined(FIPS_MODULE)
10639
    OSSL_PARAM *mp.factors[4];
10640
# endif
10641
# if !defined(FIPS_MODULE)
10642
    OSSL_PARAM *mp.factors[5];
10643
# endif
10644
# if !defined(FIPS_MODULE)
10645
    OSSL_PARAM *mp.factors[6];
10646
# endif
10647
# if !defined(FIPS_MODULE)
10648
    OSSL_PARAM *mp.factors[7];
10649
# endif
10650
# if !defined(FIPS_MODULE)
10651
    OSSL_PARAM *mp.factors[8];
10652
# endif
10653
# if !defined(FIPS_MODULE)
10654
    OSSL_PARAM *mp.factors[9];
10655
# endif
10656
    OSSL_PARAM *n;
10657
};
10658
#endif
10659
10660
#ifndef rsapss_key_import_types_decoder
10661
static ossl_unused int rsapss_key_import_types_decoder
10662
    (const OSSL_PARAM *p, struct rsapss_key_import_types_st *r)
10663
0
{
10664
0
    const char *s;
10665
10666
0
    memset(r, 0, sizeof(*r));
10667
0
    if (p != NULL)
10668
0
        for (; (s = p->key) != NULL; p++)
10669
0
            switch(s[0]) {
10670
0
            default:
10671
0
                break;
10672
0
            case 'd':
10673
0
                switch(s[1]) {
10674
0
                default:
10675
0
                    break;
10676
0
                case '\0':
10677
0
                    if (ossl_unlikely(r->d != NULL)) {
10678
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10679
0
                                       "param %s is repeated", s);
10680
0
                        return 0;
10681
0
                    }
10682
0
                    r->d = (OSSL_PARAM *)p;
10683
0
                }
10684
0
                break;
10685
0
            case 'e':
10686
0
                switch(s[1]) {
10687
0
                default:
10688
0
                    break;
10689
0
                case '\0':
10690
0
                    if (ossl_unlikely(r->e != NULL)) {
10691
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10692
0
                                       "param %s is repeated", s);
10693
0
                        return 0;
10694
0
                    }
10695
0
                    r->e = (OSSL_PARAM *)p;
10696
0
                }
10697
0
                break;
10698
0
            case 'n':
10699
0
                switch(s[1]) {
10700
0
                default:
10701
0
                    break;
10702
0
                case '\0':
10703
0
                    if (ossl_unlikely(r->n != NULL)) {
10704
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10705
0
                                       "param %s is repeated", s);
10706
0
                        return 0;
10707
0
                    }
10708
0
                    r->n = (OSSL_PARAM *)p;
10709
0
                }
10710
0
                break;
10711
0
            case 'r':
10712
0
                switch(s[1]) {
10713
0
                default:
10714
0
                    break;
10715
0
                case 's':
10716
0
                    switch(s[2]) {
10717
0
                    default:
10718
0
                        break;
10719
0
                    case 'a':
10720
0
                        switch(s[3]) {
10721
0
                        default:
10722
0
                            break;
10723
0
                        case '-':
10724
0
                            switch(s[4]) {
10725
0
                            default:
10726
0
                                break;
10727
0
                            case 'c':
10728
0
                                switch(s[5]) {
10729
0
                                default:
10730
0
                                    break;
10731
0
                                case 'o':
10732
0
                                    switch(s[6]) {
10733
0
                                    default:
10734
0
                                        break;
10735
0
                                    case 'e':
10736
0
                                        switch(s[7]) {
10737
0
                                        default:
10738
0
                                            break;
10739
0
                                        case 'f':
10740
0
                                            switch(s[8]) {
10741
0
                                            default:
10742
0
                                                break;
10743
0
                                            case 'f':
10744
0
                                                switch(s[9]) {
10745
0
                                                default:
10746
0
                                                    break;
10747
0
                                                case 'i':
10748
0
                                                    switch(s[10]) {
10749
0
                                                    default:
10750
0
                                                        break;
10751
0
                                                    case 'c':
10752
0
                                                        switch(s[11]) {
10753
0
                                                        default:
10754
0
                                                            break;
10755
0
                                                        case 'i':
10756
0
                                                            switch(s[12]) {
10757
0
                                                            default:
10758
0
                                                                break;
10759
0
                                                            case 'e':
10760
0
                                                                switch(s[13]) {
10761
0
                                                                default:
10762
0
                                                                    break;
10763
0
                                                                case 'n':
10764
0
                                                                    switch(s[14]) {
10765
0
                                                                    default:
10766
0
                                                                        break;
10767
0
                                                                    case 't':
10768
0
                                                                        switch(s[15]) {
10769
0
                                                                        default:
10770
0
                                                                            break;
10771
0
                                                                        case '1':
10772
0
                                                                            switch(s[16]) {
10773
0
                                                                            default:
10774
0
                                                                                break;
10775
0
                                                                            case '\0':
10776
0
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
10777
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10778
0
                                                                                                   "param %s is repeated", s);
10779
0
                                                                                    return 0;
10780
0
                                                                                }
10781
0
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
10782
0
                                                                            }
10783
0
                                                                            break;
10784
0
                                                                        case '2':
10785
0
                                                                            switch(s[16]) {
10786
0
                                                                            default:
10787
0
                                                                                break;
10788
0
                                                                            case '\0':
10789
0
# if !defined(FIPS_MODULE)
10790
0
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
10791
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10792
0
                                                                                                   "param %s is repeated", s);
10793
0
                                                                                    return 0;
10794
0
                                                                                }
10795
0
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
10796
0
# endif
10797
0
                                                                                break;
10798
0
                                                                            }
10799
0
                                                                            break;
10800
0
                                                                        case '3':
10801
0
                                                                            switch(s[16]) {
10802
0
                                                                            default:
10803
0
                                                                                break;
10804
0
                                                                            case '\0':
10805
0
# if !defined(FIPS_MODULE)
10806
0
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
10807
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10808
0
                                                                                                   "param %s is repeated", s);
10809
0
                                                                                    return 0;
10810
0
                                                                                }
10811
0
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
10812
0
# endif
10813
0
                                                                                break;
10814
0
                                                                            }
10815
0
                                                                            break;
10816
0
                                                                        case '4':
10817
0
                                                                            switch(s[16]) {
10818
0
                                                                            default:
10819
0
                                                                                break;
10820
0
                                                                            case '\0':
10821
0
# if !defined(FIPS_MODULE)
10822
0
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
10823
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10824
0
                                                                                                   "param %s is repeated", s);
10825
0
                                                                                    return 0;
10826
0
                                                                                }
10827
0
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
10828
0
# endif
10829
0
                                                                                break;
10830
0
                                                                            }
10831
0
                                                                            break;
10832
0
                                                                        case '5':
10833
0
                                                                            switch(s[16]) {
10834
0
                                                                            default:
10835
0
                                                                                break;
10836
0
                                                                            case '\0':
10837
0
# if !defined(FIPS_MODULE)
10838
0
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
10839
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10840
0
                                                                                                   "param %s is repeated", s);
10841
0
                                                                                    return 0;
10842
0
                                                                                }
10843
0
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
10844
0
# endif
10845
0
                                                                                break;
10846
0
                                                                            }
10847
0
                                                                            break;
10848
0
                                                                        case '6':
10849
0
                                                                            switch(s[16]) {
10850
0
                                                                            default:
10851
0
                                                                                break;
10852
0
                                                                            case '\0':
10853
0
# if !defined(FIPS_MODULE)
10854
0
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
10855
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10856
0
                                                                                                   "param %s is repeated", s);
10857
0
                                                                                    return 0;
10858
0
                                                                                }
10859
0
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
10860
0
# endif
10861
0
                                                                                break;
10862
0
                                                                            }
10863
0
                                                                            break;
10864
0
                                                                        case '7':
10865
0
                                                                            switch(s[16]) {
10866
0
                                                                            default:
10867
0
                                                                                break;
10868
0
                                                                            case '\0':
10869
0
# if !defined(FIPS_MODULE)
10870
0
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
10871
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10872
0
                                                                                                   "param %s is repeated", s);
10873
0
                                                                                    return 0;
10874
0
                                                                                }
10875
0
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
10876
0
# endif
10877
0
                                                                                break;
10878
0
                                                                            }
10879
0
                                                                            break;
10880
0
                                                                        case '8':
10881
0
                                                                            switch(s[16]) {
10882
0
                                                                            default:
10883
0
                                                                                break;
10884
0
                                                                            case '\0':
10885
0
# if !defined(FIPS_MODULE)
10886
0
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
10887
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10888
0
                                                                                                   "param %s is repeated", s);
10889
0
                                                                                    return 0;
10890
0
                                                                                }
10891
0
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
10892
0
# endif
10893
0
                                                                                break;
10894
0
                                                                            }
10895
0
                                                                            break;
10896
0
                                                                        case '9':
10897
0
                                                                            switch(s[16]) {
10898
0
                                                                            default:
10899
0
                                                                                break;
10900
0
                                                                            case '\0':
10901
0
# if !defined(FIPS_MODULE)
10902
0
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
10903
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10904
0
                                                                                                   "param %s is repeated", s);
10905
0
                                                                                    return 0;
10906
0
                                                                                }
10907
0
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
10908
0
# endif
10909
0
                                                                                break;
10910
0
                                                                            }
10911
0
                                                                            break;
10912
0
                                                                        }
10913
0
                                                                        break;
10914
0
                                                                    }
10915
0
                                                                    break;
10916
0
                                                                }
10917
0
                                                                break;
10918
0
                                                            }
10919
0
                                                            break;
10920
0
                                                        }
10921
0
                                                        break;
10922
0
                                                    }
10923
0
                                                    break;
10924
0
                                                }
10925
0
                                                break;
10926
0
                                            }
10927
0
                                            break;
10928
0
                                        }
10929
0
                                        break;
10930
0
                                    }
10931
0
                                    break;
10932
0
                                }
10933
0
                                break;
10934
0
                            case 'd':
10935
0
                                if (ossl_likely(strcmp("erive-from-pq", s + 5) == 0)) {
10936
                                    /* OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ */
10937
0
                                    if (ossl_unlikely(r->derive != NULL)) {
10938
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10939
0
                                                       "param %s is repeated", s);
10940
0
                                        return 0;
10941
0
                                    }
10942
0
                                    r->derive = (OSSL_PARAM *)p;
10943
0
                                }
10944
0
                                break;
10945
0
                            case 'e':
10946
0
                                switch(s[5]) {
10947
0
                                default:
10948
0
                                    break;
10949
0
                                case 'x':
10950
0
                                    switch(s[6]) {
10951
0
                                    default:
10952
0
                                        break;
10953
0
                                    case 'p':
10954
0
                                        switch(s[7]) {
10955
0
                                        default:
10956
0
                                            break;
10957
0
                                        case 'o':
10958
0
                                            switch(s[8]) {
10959
0
                                            default:
10960
0
                                                break;
10961
0
                                            case 'n':
10962
0
                                                switch(s[9]) {
10963
0
                                                default:
10964
0
                                                    break;
10965
0
                                                case 'e':
10966
0
                                                    switch(s[10]) {
10967
0
                                                    default:
10968
0
                                                        break;
10969
0
                                                    case 'n':
10970
0
                                                        switch(s[11]) {
10971
0
                                                        default:
10972
0
                                                            break;
10973
0
                                                        case 't':
10974
0
                                                            switch(s[12]) {
10975
0
                                                            default:
10976
0
                                                                break;
10977
0
                                                            case '1':
10978
0
                                                                switch(s[13]) {
10979
0
                                                                default:
10980
0
                                                                    break;
10981
0
                                                                case '0':
10982
0
                                                                    switch(s[14]) {
10983
0
                                                                    default:
10984
0
                                                                        break;
10985
0
                                                                    case '\0':
10986
0
# if !defined(FIPS_MODULE)
10987
0
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
10988
0
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
10989
0
                                                                                           "param %s is repeated", s);
10990
0
                                                                            return 0;
10991
0
                                                                        }
10992
0
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
10993
0
# endif
10994
0
                                                                        break;
10995
0
                                                                    }
10996
0
                                                                    break;
10997
0
                                                                case '\0':
10998
0
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
10999
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11000
0
                                                                                       "param %s is repeated", s);
11001
0
                                                                        return 0;
11002
0
                                                                    }
11003
0
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
11004
0
                                                                }
11005
0
                                                                break;
11006
0
                                                            case '2':
11007
0
                                                                switch(s[13]) {
11008
0
                                                                default:
11009
0
                                                                    break;
11010
0
                                                                case '\0':
11011
0
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
11012
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11013
0
                                                                                       "param %s is repeated", s);
11014
0
                                                                        return 0;
11015
0
                                                                    }
11016
0
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
11017
0
                                                                }
11018
0
                                                                break;
11019
0
                                                            case '3':
11020
0
                                                                switch(s[13]) {
11021
0
                                                                default:
11022
0
                                                                    break;
11023
0
                                                                case '\0':
11024
0
# if !defined(FIPS_MODULE)
11025
0
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
11026
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11027
0
                                                                                       "param %s is repeated", s);
11028
0
                                                                        return 0;
11029
0
                                                                    }
11030
0
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
11031
0
# endif
11032
0
                                                                    break;
11033
0
                                                                }
11034
0
                                                                break;
11035
0
                                                            case '4':
11036
0
                                                                switch(s[13]) {
11037
0
                                                                default:
11038
0
                                                                    break;
11039
0
                                                                case '\0':
11040
0
# if !defined(FIPS_MODULE)
11041
0
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
11042
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11043
0
                                                                                       "param %s is repeated", s);
11044
0
                                                                        return 0;
11045
0
                                                                    }
11046
0
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
11047
0
# endif
11048
0
                                                                    break;
11049
0
                                                                }
11050
0
                                                                break;
11051
0
                                                            case '5':
11052
0
                                                                switch(s[13]) {
11053
0
                                                                default:
11054
0
                                                                    break;
11055
0
                                                                case '\0':
11056
0
# if !defined(FIPS_MODULE)
11057
0
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
11058
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11059
0
                                                                                       "param %s is repeated", s);
11060
0
                                                                        return 0;
11061
0
                                                                    }
11062
0
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
11063
0
# endif
11064
0
                                                                    break;
11065
0
                                                                }
11066
0
                                                                break;
11067
0
                                                            case '6':
11068
0
                                                                switch(s[13]) {
11069
0
                                                                default:
11070
0
                                                                    break;
11071
0
                                                                case '\0':
11072
0
# if !defined(FIPS_MODULE)
11073
0
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
11074
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11075
0
                                                                                       "param %s is repeated", s);
11076
0
                                                                        return 0;
11077
0
                                                                    }
11078
0
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
11079
0
# endif
11080
0
                                                                    break;
11081
0
                                                                }
11082
0
                                                                break;
11083
0
                                                            case '7':
11084
0
                                                                switch(s[13]) {
11085
0
                                                                default:
11086
0
                                                                    break;
11087
0
                                                                case '\0':
11088
0
# if !defined(FIPS_MODULE)
11089
0
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
11090
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11091
0
                                                                                       "param %s is repeated", s);
11092
0
                                                                        return 0;
11093
0
                                                                    }
11094
0
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
11095
0
# endif
11096
0
                                                                    break;
11097
0
                                                                }
11098
0
                                                                break;
11099
0
                                                            case '8':
11100
0
                                                                switch(s[13]) {
11101
0
                                                                default:
11102
0
                                                                    break;
11103
0
                                                                case '\0':
11104
0
# if !defined(FIPS_MODULE)
11105
0
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
11106
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11107
0
                                                                                       "param %s is repeated", s);
11108
0
                                                                        return 0;
11109
0
                                                                    }
11110
0
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
11111
0
# endif
11112
0
                                                                    break;
11113
0
                                                                }
11114
0
                                                                break;
11115
0
                                                            case '9':
11116
0
                                                                switch(s[13]) {
11117
0
                                                                default:
11118
0
                                                                    break;
11119
0
                                                                case '\0':
11120
0
# if !defined(FIPS_MODULE)
11121
0
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
11122
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11123
0
                                                                                       "param %s is repeated", s);
11124
0
                                                                        return 0;
11125
0
                                                                    }
11126
0
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
11127
0
# endif
11128
0
                                                                    break;
11129
0
                                                                }
11130
0
                                                                break;
11131
0
                                                            }
11132
0
                                                            break;
11133
0
                                                        }
11134
0
                                                        break;
11135
0
                                                    }
11136
0
                                                    break;
11137
0
                                                }
11138
0
                                                break;
11139
0
                                            }
11140
0
                                            break;
11141
0
                                        }
11142
0
                                        break;
11143
0
                                    }
11144
0
                                    break;
11145
0
                                }
11146
0
                                break;
11147
0
                            case 'f':
11148
0
                                switch(s[5]) {
11149
0
                                default:
11150
0
                                    break;
11151
0
                                case 'a':
11152
0
                                    switch(s[6]) {
11153
0
                                    default:
11154
0
                                        break;
11155
0
                                    case 'c':
11156
0
                                        switch(s[7]) {
11157
0
                                        default:
11158
0
                                            break;
11159
0
                                        case 't':
11160
0
                                            switch(s[8]) {
11161
0
                                            default:
11162
0
                                                break;
11163
0
                                            case 'o':
11164
0
                                                switch(s[9]) {
11165
0
                                                default:
11166
0
                                                    break;
11167
0
                                                case 'r':
11168
0
                                                    switch(s[10]) {
11169
0
                                                    default:
11170
0
                                                        break;
11171
0
                                                    case '1':
11172
0
                                                        switch(s[11]) {
11173
0
                                                        default:
11174
0
                                                            break;
11175
0
                                                        case '0':
11176
0
                                                            switch(s[12]) {
11177
0
                                                            default:
11178
0
                                                                break;
11179
0
                                                            case '\0':
11180
0
# if !defined(FIPS_MODULE)
11181
0
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
11182
0
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11183
0
                                                                                   "param %s is repeated", s);
11184
0
                                                                    return 0;
11185
0
                                                                }
11186
0
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
11187
0
# endif
11188
0
                                                                break;
11189
0
                                                            }
11190
0
                                                            break;
11191
0
                                                        case '\0':
11192
0
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
11193
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11194
0
                                                                               "param %s is repeated", s);
11195
0
                                                                return 0;
11196
0
                                                            }
11197
0
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
11198
0
                                                        }
11199
0
                                                        break;
11200
0
                                                    case '2':
11201
0
                                                        switch(s[11]) {
11202
0
                                                        default:
11203
0
                                                            break;
11204
0
                                                        case '\0':
11205
0
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
11206
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11207
0
                                                                               "param %s is repeated", s);
11208
0
                                                                return 0;
11209
0
                                                            }
11210
0
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
11211
0
                                                        }
11212
0
                                                        break;
11213
0
                                                    case '3':
11214
0
                                                        switch(s[11]) {
11215
0
                                                        default:
11216
0
                                                            break;
11217
0
                                                        case '\0':
11218
0
# if !defined(FIPS_MODULE)
11219
0
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
11220
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11221
0
                                                                               "param %s is repeated", s);
11222
0
                                                                return 0;
11223
0
                                                            }
11224
0
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
11225
0
# endif
11226
0
                                                            break;
11227
0
                                                        }
11228
0
                                                        break;
11229
0
                                                    case '4':
11230
0
                                                        switch(s[11]) {
11231
0
                                                        default:
11232
0
                                                            break;
11233
0
                                                        case '\0':
11234
0
# if !defined(FIPS_MODULE)
11235
0
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
11236
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11237
0
                                                                               "param %s is repeated", s);
11238
0
                                                                return 0;
11239
0
                                                            }
11240
0
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
11241
0
# endif
11242
0
                                                            break;
11243
0
                                                        }
11244
0
                                                        break;
11245
0
                                                    case '5':
11246
0
                                                        switch(s[11]) {
11247
0
                                                        default:
11248
0
                                                            break;
11249
0
                                                        case '\0':
11250
0
# if !defined(FIPS_MODULE)
11251
0
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
11252
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11253
0
                                                                               "param %s is repeated", s);
11254
0
                                                                return 0;
11255
0
                                                            }
11256
0
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
11257
0
# endif
11258
0
                                                            break;
11259
0
                                                        }
11260
0
                                                        break;
11261
0
                                                    case '6':
11262
0
                                                        switch(s[11]) {
11263
0
                                                        default:
11264
0
                                                            break;
11265
0
                                                        case '\0':
11266
0
# if !defined(FIPS_MODULE)
11267
0
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
11268
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11269
0
                                                                               "param %s is repeated", s);
11270
0
                                                                return 0;
11271
0
                                                            }
11272
0
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
11273
0
# endif
11274
0
                                                            break;
11275
0
                                                        }
11276
0
                                                        break;
11277
0
                                                    case '7':
11278
0
                                                        switch(s[11]) {
11279
0
                                                        default:
11280
0
                                                            break;
11281
0
                                                        case '\0':
11282
0
# if !defined(FIPS_MODULE)
11283
0
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
11284
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11285
0
                                                                               "param %s is repeated", s);
11286
0
                                                                return 0;
11287
0
                                                            }
11288
0
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
11289
0
# endif
11290
0
                                                            break;
11291
0
                                                        }
11292
0
                                                        break;
11293
0
                                                    case '8':
11294
0
                                                        switch(s[11]) {
11295
0
                                                        default:
11296
0
                                                            break;
11297
0
                                                        case '\0':
11298
0
# if !defined(FIPS_MODULE)
11299
0
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
11300
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11301
0
                                                                               "param %s is repeated", s);
11302
0
                                                                return 0;
11303
0
                                                            }
11304
0
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
11305
0
# endif
11306
0
                                                            break;
11307
0
                                                        }
11308
0
                                                        break;
11309
0
                                                    case '9':
11310
0
                                                        switch(s[11]) {
11311
0
                                                        default:
11312
0
                                                            break;
11313
0
                                                        case '\0':
11314
0
# if !defined(FIPS_MODULE)
11315
0
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
11316
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11317
0
                                                                               "param %s is repeated", s);
11318
0
                                                                return 0;
11319
0
                                                            }
11320
0
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
11321
0
# endif
11322
0
                                                            break;
11323
0
                                                        }
11324
0
                                                        break;
11325
0
                                                    }
11326
0
                                                    break;
11327
0
                                                }
11328
0
                                                break;
11329
0
                                            }
11330
0
                                            break;
11331
0
                                        }
11332
0
                                        break;
11333
0
                                    }
11334
0
                                    break;
11335
0
                                }
11336
0
                                break;
11337
0
                            }
11338
0
                            break;
11339
0
                        }
11340
0
                        break;
11341
0
                    }
11342
0
                    break;
11343
0
                }
11344
0
                break;
11345
0
            }
11346
0
    return 1;
11347
0
}
Unexecuted instantiation: rsa_backend.c:rsapss_key_import_types_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsapss_key_import_types_decoder
Unexecuted instantiation: rsa_ameth.c:rsapss_key_import_types_decoder
11348
#endif
11349
/* End of machine generated */
11350
11351
#define rsapss_key_export_types_st
11352
#define rsapss_key_export_types_decoder
11353
/* Machine generated */
11354
#ifndef rsapss_key_export_types_list
11355
static ossl_unused const OSSL_PARAM rsapss_key_export_types_list[] = {
11356
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
11357
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
11358
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
11359
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
11360
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
11361
# if !defined(FIPS_MODULE)
11362
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
11363
# endif
11364
# if !defined(FIPS_MODULE)
11365
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
11366
# endif
11367
# if !defined(FIPS_MODULE)
11368
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
11369
# endif
11370
# if !defined(FIPS_MODULE)
11371
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
11372
# endif
11373
# if !defined(FIPS_MODULE)
11374
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
11375
# endif
11376
# if !defined(FIPS_MODULE)
11377
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
11378
# endif
11379
# if !defined(FIPS_MODULE)
11380
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
11381
# endif
11382
# if !defined(FIPS_MODULE)
11383
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
11384
# endif
11385
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
11386
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
11387
# if !defined(FIPS_MODULE)
11388
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
11389
# endif
11390
# if !defined(FIPS_MODULE)
11391
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
11392
# endif
11393
# if !defined(FIPS_MODULE)
11394
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
11395
# endif
11396
# if !defined(FIPS_MODULE)
11397
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
11398
# endif
11399
# if !defined(FIPS_MODULE)
11400
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
11401
# endif
11402
# if !defined(FIPS_MODULE)
11403
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
11404
# endif
11405
# if !defined(FIPS_MODULE)
11406
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
11407
# endif
11408
# if !defined(FIPS_MODULE)
11409
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
11410
# endif
11411
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
11412
# if !defined(FIPS_MODULE)
11413
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
11414
# endif
11415
# if !defined(FIPS_MODULE)
11416
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
11417
# endif
11418
# if !defined(FIPS_MODULE)
11419
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
11420
# endif
11421
# if !defined(FIPS_MODULE)
11422
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
11423
# endif
11424
# if !defined(FIPS_MODULE)
11425
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
11426
# endif
11427
# if !defined(FIPS_MODULE)
11428
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
11429
# endif
11430
# if !defined(FIPS_MODULE)
11431
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
11432
# endif
11433
# if !defined(FIPS_MODULE)
11434
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
11435
# endif
11436
    OSSL_PARAM_END
11437
};
11438
#endif
11439
11440
#ifndef rsapss_key_export_types_st
11441
struct rsapss_key_export_types_st {
11442
    OSSL_PARAM *d;
11443
    OSSL_PARAM *e;
11444
    OSSL_PARAM *mp.coeffs[0];
11445
# if !defined(FIPS_MODULE)
11446
    OSSL_PARAM *mp.coeffs[1];
11447
# endif
11448
# if !defined(FIPS_MODULE)
11449
    OSSL_PARAM *mp.coeffs[2];
11450
# endif
11451
# if !defined(FIPS_MODULE)
11452
    OSSL_PARAM *mp.coeffs[3];
11453
# endif
11454
# if !defined(FIPS_MODULE)
11455
    OSSL_PARAM *mp.coeffs[4];
11456
# endif
11457
# if !defined(FIPS_MODULE)
11458
    OSSL_PARAM *mp.coeffs[5];
11459
# endif
11460
# if !defined(FIPS_MODULE)
11461
    OSSL_PARAM *mp.coeffs[6];
11462
# endif
11463
# if !defined(FIPS_MODULE)
11464
    OSSL_PARAM *mp.coeffs[7];
11465
# endif
11466
# if !defined(FIPS_MODULE)
11467
    OSSL_PARAM *mp.coeffs[8];
11468
# endif
11469
    OSSL_PARAM *mp.exps[0];
11470
    OSSL_PARAM *mp.exps[1];
11471
# if !defined(FIPS_MODULE)
11472
    OSSL_PARAM *mp.exps[2];
11473
# endif
11474
# if !defined(FIPS_MODULE)
11475
    OSSL_PARAM *mp.exps[3];
11476
# endif
11477
# if !defined(FIPS_MODULE)
11478
    OSSL_PARAM *mp.exps[4];
11479
# endif
11480
# if !defined(FIPS_MODULE)
11481
    OSSL_PARAM *mp.exps[5];
11482
# endif
11483
# if !defined(FIPS_MODULE)
11484
    OSSL_PARAM *mp.exps[6];
11485
# endif
11486
# if !defined(FIPS_MODULE)
11487
    OSSL_PARAM *mp.exps[7];
11488
# endif
11489
# if !defined(FIPS_MODULE)
11490
    OSSL_PARAM *mp.exps[8];
11491
# endif
11492
# if !defined(FIPS_MODULE)
11493
    OSSL_PARAM *mp.exps[9];
11494
# endif
11495
    OSSL_PARAM *mp.factors[0];
11496
    OSSL_PARAM *mp.factors[1];
11497
# if !defined(FIPS_MODULE)
11498
    OSSL_PARAM *mp.factors[2];
11499
# endif
11500
# if !defined(FIPS_MODULE)
11501
    OSSL_PARAM *mp.factors[3];
11502
# endif
11503
# if !defined(FIPS_MODULE)
11504
    OSSL_PARAM *mp.factors[4];
11505
# endif
11506
# if !defined(FIPS_MODULE)
11507
    OSSL_PARAM *mp.factors[5];
11508
# endif
11509
# if !defined(FIPS_MODULE)
11510
    OSSL_PARAM *mp.factors[6];
11511
# endif
11512
# if !defined(FIPS_MODULE)
11513
    OSSL_PARAM *mp.factors[7];
11514
# endif
11515
# if !defined(FIPS_MODULE)
11516
    OSSL_PARAM *mp.factors[8];
11517
# endif
11518
# if !defined(FIPS_MODULE)
11519
    OSSL_PARAM *mp.factors[9];
11520
# endif
11521
    OSSL_PARAM *n;
11522
};
11523
#endif
11524
11525
#ifndef rsapss_key_export_types_decoder
11526
static ossl_unused int rsapss_key_export_types_decoder
11527
    (const OSSL_PARAM *p, struct rsapss_key_export_types_st *r)
11528
{
11529
    const char *s;
11530
11531
    memset(r, 0, sizeof(*r));
11532
    if (p != NULL)
11533
        for (; (s = p->key) != NULL; p++)
11534
            switch(s[0]) {
11535
            default:
11536
                break;
11537
            case 'd':
11538
                switch(s[1]) {
11539
                default:
11540
                    break;
11541
                case '\0':
11542
                    if (ossl_unlikely(r->d != NULL)) {
11543
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11544
                                       "param %s is repeated", s);
11545
                        return 0;
11546
                    }
11547
                    r->d = (OSSL_PARAM *)p;
11548
                }
11549
                break;
11550
            case 'e':
11551
                switch(s[1]) {
11552
                default:
11553
                    break;
11554
                case '\0':
11555
                    if (ossl_unlikely(r->e != NULL)) {
11556
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11557
                                       "param %s is repeated", s);
11558
                        return 0;
11559
                    }
11560
                    r->e = (OSSL_PARAM *)p;
11561
                }
11562
                break;
11563
            case 'n':
11564
                switch(s[1]) {
11565
                default:
11566
                    break;
11567
                case '\0':
11568
                    if (ossl_unlikely(r->n != NULL)) {
11569
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11570
                                       "param %s is repeated", s);
11571
                        return 0;
11572
                    }
11573
                    r->n = (OSSL_PARAM *)p;
11574
                }
11575
                break;
11576
            case 'r':
11577
                switch(s[1]) {
11578
                default:
11579
                    break;
11580
                case 's':
11581
                    switch(s[2]) {
11582
                    default:
11583
                        break;
11584
                    case 'a':
11585
                        switch(s[3]) {
11586
                        default:
11587
                            break;
11588
                        case '-':
11589
                            switch(s[4]) {
11590
                            default:
11591
                                break;
11592
                            case 'c':
11593
                                switch(s[5]) {
11594
                                default:
11595
                                    break;
11596
                                case 'o':
11597
                                    switch(s[6]) {
11598
                                    default:
11599
                                        break;
11600
                                    case 'e':
11601
                                        switch(s[7]) {
11602
                                        default:
11603
                                            break;
11604
                                        case 'f':
11605
                                            switch(s[8]) {
11606
                                            default:
11607
                                                break;
11608
                                            case 'f':
11609
                                                switch(s[9]) {
11610
                                                default:
11611
                                                    break;
11612
                                                case 'i':
11613
                                                    switch(s[10]) {
11614
                                                    default:
11615
                                                        break;
11616
                                                    case 'c':
11617
                                                        switch(s[11]) {
11618
                                                        default:
11619
                                                            break;
11620
                                                        case 'i':
11621
                                                            switch(s[12]) {
11622
                                                            default:
11623
                                                                break;
11624
                                                            case 'e':
11625
                                                                switch(s[13]) {
11626
                                                                default:
11627
                                                                    break;
11628
                                                                case 'n':
11629
                                                                    switch(s[14]) {
11630
                                                                    default:
11631
                                                                        break;
11632
                                                                    case 't':
11633
                                                                        switch(s[15]) {
11634
                                                                        default:
11635
                                                                            break;
11636
                                                                        case '1':
11637
                                                                            switch(s[16]) {
11638
                                                                            default:
11639
                                                                                break;
11640
                                                                            case '\0':
11641
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
11642
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11643
                                                                                                   "param %s is repeated", s);
11644
                                                                                    return 0;
11645
                                                                                }
11646
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
11647
                                                                            }
11648
                                                                            break;
11649
                                                                        case '2':
11650
                                                                            switch(s[16]) {
11651
                                                                            default:
11652
                                                                                break;
11653
                                                                            case '\0':
11654
# if !defined(FIPS_MODULE)
11655
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
11656
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11657
                                                                                                   "param %s is repeated", s);
11658
                                                                                    return 0;
11659
                                                                                }
11660
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
11661
# endif
11662
                                                                                break;
11663
                                                                            }
11664
                                                                            break;
11665
                                                                        case '3':
11666
                                                                            switch(s[16]) {
11667
                                                                            default:
11668
                                                                                break;
11669
                                                                            case '\0':
11670
# if !defined(FIPS_MODULE)
11671
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
11672
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11673
                                                                                                   "param %s is repeated", s);
11674
                                                                                    return 0;
11675
                                                                                }
11676
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
11677
# endif
11678
                                                                                break;
11679
                                                                            }
11680
                                                                            break;
11681
                                                                        case '4':
11682
                                                                            switch(s[16]) {
11683
                                                                            default:
11684
                                                                                break;
11685
                                                                            case '\0':
11686
# if !defined(FIPS_MODULE)
11687
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
11688
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11689
                                                                                                   "param %s is repeated", s);
11690
                                                                                    return 0;
11691
                                                                                }
11692
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
11693
# endif
11694
                                                                                break;
11695
                                                                            }
11696
                                                                            break;
11697
                                                                        case '5':
11698
                                                                            switch(s[16]) {
11699
                                                                            default:
11700
                                                                                break;
11701
                                                                            case '\0':
11702
# if !defined(FIPS_MODULE)
11703
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
11704
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11705
                                                                                                   "param %s is repeated", s);
11706
                                                                                    return 0;
11707
                                                                                }
11708
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
11709
# endif
11710
                                                                                break;
11711
                                                                            }
11712
                                                                            break;
11713
                                                                        case '6':
11714
                                                                            switch(s[16]) {
11715
                                                                            default:
11716
                                                                                break;
11717
                                                                            case '\0':
11718
# if !defined(FIPS_MODULE)
11719
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
11720
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11721
                                                                                                   "param %s is repeated", s);
11722
                                                                                    return 0;
11723
                                                                                }
11724
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
11725
# endif
11726
                                                                                break;
11727
                                                                            }
11728
                                                                            break;
11729
                                                                        case '7':
11730
                                                                            switch(s[16]) {
11731
                                                                            default:
11732
                                                                                break;
11733
                                                                            case '\0':
11734
# if !defined(FIPS_MODULE)
11735
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
11736
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11737
                                                                                                   "param %s is repeated", s);
11738
                                                                                    return 0;
11739
                                                                                }
11740
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
11741
# endif
11742
                                                                                break;
11743
                                                                            }
11744
                                                                            break;
11745
                                                                        case '8':
11746
                                                                            switch(s[16]) {
11747
                                                                            default:
11748
                                                                                break;
11749
                                                                            case '\0':
11750
# if !defined(FIPS_MODULE)
11751
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
11752
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11753
                                                                                                   "param %s is repeated", s);
11754
                                                                                    return 0;
11755
                                                                                }
11756
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
11757
# endif
11758
                                                                                break;
11759
                                                                            }
11760
                                                                            break;
11761
                                                                        case '9':
11762
                                                                            switch(s[16]) {
11763
                                                                            default:
11764
                                                                                break;
11765
                                                                            case '\0':
11766
# if !defined(FIPS_MODULE)
11767
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
11768
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11769
                                                                                                   "param %s is repeated", s);
11770
                                                                                    return 0;
11771
                                                                                }
11772
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
11773
# endif
11774
                                                                                break;
11775
                                                                            }
11776
                                                                            break;
11777
                                                                        }
11778
                                                                        break;
11779
                                                                    }
11780
                                                                    break;
11781
                                                                }
11782
                                                                break;
11783
                                                            }
11784
                                                            break;
11785
                                                        }
11786
                                                        break;
11787
                                                    }
11788
                                                    break;
11789
                                                }
11790
                                                break;
11791
                                            }
11792
                                            break;
11793
                                        }
11794
                                        break;
11795
                                    }
11796
                                    break;
11797
                                }
11798
                                break;
11799
                            case 'e':
11800
                                switch(s[5]) {
11801
                                default:
11802
                                    break;
11803
                                case 'x':
11804
                                    switch(s[6]) {
11805
                                    default:
11806
                                        break;
11807
                                    case 'p':
11808
                                        switch(s[7]) {
11809
                                        default:
11810
                                            break;
11811
                                        case 'o':
11812
                                            switch(s[8]) {
11813
                                            default:
11814
                                                break;
11815
                                            case 'n':
11816
                                                switch(s[9]) {
11817
                                                default:
11818
                                                    break;
11819
                                                case 'e':
11820
                                                    switch(s[10]) {
11821
                                                    default:
11822
                                                        break;
11823
                                                    case 'n':
11824
                                                        switch(s[11]) {
11825
                                                        default:
11826
                                                            break;
11827
                                                        case 't':
11828
                                                            switch(s[12]) {
11829
                                                            default:
11830
                                                                break;
11831
                                                            case '1':
11832
                                                                switch(s[13]) {
11833
                                                                default:
11834
                                                                    break;
11835
                                                                case '0':
11836
                                                                    switch(s[14]) {
11837
                                                                    default:
11838
                                                                        break;
11839
                                                                    case '\0':
11840
# if !defined(FIPS_MODULE)
11841
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
11842
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11843
                                                                                           "param %s is repeated", s);
11844
                                                                            return 0;
11845
                                                                        }
11846
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
11847
# endif
11848
                                                                        break;
11849
                                                                    }
11850
                                                                    break;
11851
                                                                case '\0':
11852
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
11853
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11854
                                                                                       "param %s is repeated", s);
11855
                                                                        return 0;
11856
                                                                    }
11857
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
11858
                                                                }
11859
                                                                break;
11860
                                                            case '2':
11861
                                                                switch(s[13]) {
11862
                                                                default:
11863
                                                                    break;
11864
                                                                case '\0':
11865
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
11866
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11867
                                                                                       "param %s is repeated", s);
11868
                                                                        return 0;
11869
                                                                    }
11870
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
11871
                                                                }
11872
                                                                break;
11873
                                                            case '3':
11874
                                                                switch(s[13]) {
11875
                                                                default:
11876
                                                                    break;
11877
                                                                case '\0':
11878
# if !defined(FIPS_MODULE)
11879
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
11880
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11881
                                                                                       "param %s is repeated", s);
11882
                                                                        return 0;
11883
                                                                    }
11884
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
11885
# endif
11886
                                                                    break;
11887
                                                                }
11888
                                                                break;
11889
                                                            case '4':
11890
                                                                switch(s[13]) {
11891
                                                                default:
11892
                                                                    break;
11893
                                                                case '\0':
11894
# if !defined(FIPS_MODULE)
11895
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
11896
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11897
                                                                                       "param %s is repeated", s);
11898
                                                                        return 0;
11899
                                                                    }
11900
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
11901
# endif
11902
                                                                    break;
11903
                                                                }
11904
                                                                break;
11905
                                                            case '5':
11906
                                                                switch(s[13]) {
11907
                                                                default:
11908
                                                                    break;
11909
                                                                case '\0':
11910
# if !defined(FIPS_MODULE)
11911
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
11912
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11913
                                                                                       "param %s is repeated", s);
11914
                                                                        return 0;
11915
                                                                    }
11916
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
11917
# endif
11918
                                                                    break;
11919
                                                                }
11920
                                                                break;
11921
                                                            case '6':
11922
                                                                switch(s[13]) {
11923
                                                                default:
11924
                                                                    break;
11925
                                                                case '\0':
11926
# if !defined(FIPS_MODULE)
11927
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
11928
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11929
                                                                                       "param %s is repeated", s);
11930
                                                                        return 0;
11931
                                                                    }
11932
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
11933
# endif
11934
                                                                    break;
11935
                                                                }
11936
                                                                break;
11937
                                                            case '7':
11938
                                                                switch(s[13]) {
11939
                                                                default:
11940
                                                                    break;
11941
                                                                case '\0':
11942
# if !defined(FIPS_MODULE)
11943
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
11944
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11945
                                                                                       "param %s is repeated", s);
11946
                                                                        return 0;
11947
                                                                    }
11948
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
11949
# endif
11950
                                                                    break;
11951
                                                                }
11952
                                                                break;
11953
                                                            case '8':
11954
                                                                switch(s[13]) {
11955
                                                                default:
11956
                                                                    break;
11957
                                                                case '\0':
11958
# if !defined(FIPS_MODULE)
11959
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
11960
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11961
                                                                                       "param %s is repeated", s);
11962
                                                                        return 0;
11963
                                                                    }
11964
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
11965
# endif
11966
                                                                    break;
11967
                                                                }
11968
                                                                break;
11969
                                                            case '9':
11970
                                                                switch(s[13]) {
11971
                                                                default:
11972
                                                                    break;
11973
                                                                case '\0':
11974
# if !defined(FIPS_MODULE)
11975
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
11976
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
11977
                                                                                       "param %s is repeated", s);
11978
                                                                        return 0;
11979
                                                                    }
11980
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
11981
# endif
11982
                                                                    break;
11983
                                                                }
11984
                                                                break;
11985
                                                            }
11986
                                                            break;
11987
                                                        }
11988
                                                        break;
11989
                                                    }
11990
                                                    break;
11991
                                                }
11992
                                                break;
11993
                                            }
11994
                                            break;
11995
                                        }
11996
                                        break;
11997
                                    }
11998
                                    break;
11999
                                }
12000
                                break;
12001
                            case 'f':
12002
                                switch(s[5]) {
12003
                                default:
12004
                                    break;
12005
                                case 'a':
12006
                                    switch(s[6]) {
12007
                                    default:
12008
                                        break;
12009
                                    case 'c':
12010
                                        switch(s[7]) {
12011
                                        default:
12012
                                            break;
12013
                                        case 't':
12014
                                            switch(s[8]) {
12015
                                            default:
12016
                                                break;
12017
                                            case 'o':
12018
                                                switch(s[9]) {
12019
                                                default:
12020
                                                    break;
12021
                                                case 'r':
12022
                                                    switch(s[10]) {
12023
                                                    default:
12024
                                                        break;
12025
                                                    case '1':
12026
                                                        switch(s[11]) {
12027
                                                        default:
12028
                                                            break;
12029
                                                        case '0':
12030
                                                            switch(s[12]) {
12031
                                                            default:
12032
                                                                break;
12033
                                                            case '\0':
12034
# if !defined(FIPS_MODULE)
12035
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
12036
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12037
                                                                                   "param %s is repeated", s);
12038
                                                                    return 0;
12039
                                                                }
12040
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
12041
# endif
12042
                                                                break;
12043
                                                            }
12044
                                                            break;
12045
                                                        case '\0':
12046
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
12047
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12048
                                                                               "param %s is repeated", s);
12049
                                                                return 0;
12050
                                                            }
12051
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
12052
                                                        }
12053
                                                        break;
12054
                                                    case '2':
12055
                                                        switch(s[11]) {
12056
                                                        default:
12057
                                                            break;
12058
                                                        case '\0':
12059
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
12060
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12061
                                                                               "param %s is repeated", s);
12062
                                                                return 0;
12063
                                                            }
12064
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
12065
                                                        }
12066
                                                        break;
12067
                                                    case '3':
12068
                                                        switch(s[11]) {
12069
                                                        default:
12070
                                                            break;
12071
                                                        case '\0':
12072
# if !defined(FIPS_MODULE)
12073
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
12074
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12075
                                                                               "param %s is repeated", s);
12076
                                                                return 0;
12077
                                                            }
12078
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
12079
# endif
12080
                                                            break;
12081
                                                        }
12082
                                                        break;
12083
                                                    case '4':
12084
                                                        switch(s[11]) {
12085
                                                        default:
12086
                                                            break;
12087
                                                        case '\0':
12088
# if !defined(FIPS_MODULE)
12089
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
12090
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12091
                                                                               "param %s is repeated", s);
12092
                                                                return 0;
12093
                                                            }
12094
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
12095
# endif
12096
                                                            break;
12097
                                                        }
12098
                                                        break;
12099
                                                    case '5':
12100
                                                        switch(s[11]) {
12101
                                                        default:
12102
                                                            break;
12103
                                                        case '\0':
12104
# if !defined(FIPS_MODULE)
12105
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
12106
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12107
                                                                               "param %s is repeated", s);
12108
                                                                return 0;
12109
                                                            }
12110
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
12111
# endif
12112
                                                            break;
12113
                                                        }
12114
                                                        break;
12115
                                                    case '6':
12116
                                                        switch(s[11]) {
12117
                                                        default:
12118
                                                            break;
12119
                                                        case '\0':
12120
# if !defined(FIPS_MODULE)
12121
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
12122
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12123
                                                                               "param %s is repeated", s);
12124
                                                                return 0;
12125
                                                            }
12126
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
12127
# endif
12128
                                                            break;
12129
                                                        }
12130
                                                        break;
12131
                                                    case '7':
12132
                                                        switch(s[11]) {
12133
                                                        default:
12134
                                                            break;
12135
                                                        case '\0':
12136
# if !defined(FIPS_MODULE)
12137
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
12138
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12139
                                                                               "param %s is repeated", s);
12140
                                                                return 0;
12141
                                                            }
12142
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
12143
# endif
12144
                                                            break;
12145
                                                        }
12146
                                                        break;
12147
                                                    case '8':
12148
                                                        switch(s[11]) {
12149
                                                        default:
12150
                                                            break;
12151
                                                        case '\0':
12152
# if !defined(FIPS_MODULE)
12153
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
12154
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12155
                                                                               "param %s is repeated", s);
12156
                                                                return 0;
12157
                                                            }
12158
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
12159
# endif
12160
                                                            break;
12161
                                                        }
12162
                                                        break;
12163
                                                    case '9':
12164
                                                        switch(s[11]) {
12165
                                                        default:
12166
                                                            break;
12167
                                                        case '\0':
12168
# if !defined(FIPS_MODULE)
12169
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
12170
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12171
                                                                               "param %s is repeated", s);
12172
                                                                return 0;
12173
                                                            }
12174
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
12175
# endif
12176
                                                            break;
12177
                                                        }
12178
                                                        break;
12179
                                                    }
12180
                                                    break;
12181
                                                }
12182
                                                break;
12183
                                            }
12184
                                            break;
12185
                                        }
12186
                                        break;
12187
                                    }
12188
                                    break;
12189
                                }
12190
                                break;
12191
                            }
12192
                            break;
12193
                        }
12194
                        break;
12195
                    }
12196
                    break;
12197
                }
12198
                break;
12199
            }
12200
    return 1;
12201
}
12202
#endif
12203
/* End of machine generated */
12204
12205
#define rsapss_other_import_types_st rsa_params_st
12206
/* Machine generated */
12207
#ifndef rsapss_other_import_types_list
12208
static ossl_unused const OSSL_PARAM rsapss_other_import_types_list[] = {
12209
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST, NULL, 0),
12210
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST_PROPS, NULL, 0),
12211
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MASKGENFUNC, NULL, 0),
12212
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MGF1_DIGEST, NULL, 0),
12213
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_PSS_SALTLEN, NULL),
12214
    OSSL_PARAM_END
12215
};
12216
#endif
12217
12218
#ifndef rsapss_other_import_types_st
12219
struct rsapss_other_import_types_st {
12220
    OSSL_PARAM *digest;
12221
    OSSL_PARAM *digest_props;
12222
    OSSL_PARAM *maskgenfunc;
12223
    OSSL_PARAM *mgf1_digest;
12224
    OSSL_PARAM *pss_saltlen;
12225
};
12226
#endif
12227
12228
#ifndef rsapss_other_import_types_decoder
12229
static ossl_unused int rsapss_other_import_types_decoder
12230
    (const OSSL_PARAM *p, struct rsapss_other_import_types_st *r)
12231
0
{
12232
0
    const char *s;
12233
12234
0
    memset(r, 0, sizeof(*r));
12235
0
    if (p != NULL)
12236
0
        for (; (s = p->key) != NULL; p++)
12237
0
            switch(s[0]) {
12238
0
            default:
12239
0
                break;
12240
0
            case 'd':
12241
0
                if (ossl_likely(strcmp("igest", s + 1) == 0)) {
12242
                    /* OSSL_PKEY_PARAM_RSA_DIGEST */
12243
0
                    if (ossl_unlikely(r->digest != NULL)) {
12244
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12245
0
                                       "param %s is repeated", s);
12246
0
                        return 0;
12247
0
                    }
12248
0
                    r->digest = (OSSL_PARAM *)p;
12249
0
                }
12250
0
                break;
12251
0
            case 'm':
12252
0
                switch(s[1]) {
12253
0
                default:
12254
0
                    break;
12255
0
                case 'g':
12256
0
                    switch(s[2]) {
12257
0
                    default:
12258
0
                        break;
12259
0
                    case 'f':
12260
0
                        switch(s[3]) {
12261
0
                        default:
12262
0
                            break;
12263
0
                        case '1':
12264
0
                            if (ossl_likely(strcmp("-digest", s + 4) == 0)) {
12265
                                /* OSSL_PKEY_PARAM_RSA_MGF1_DIGEST */
12266
0
                                if (ossl_unlikely(r->mgf1_digest != NULL)) {
12267
0
                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12268
0
                                                   "param %s is repeated", s);
12269
0
                                    return 0;
12270
0
                                }
12271
0
                                r->mgf1_digest = (OSSL_PARAM *)p;
12272
0
                            }
12273
0
                            break;
12274
0
                        case '\0':
12275
0
                            if (ossl_unlikely(r->maskgenfunc != NULL)) {
12276
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12277
0
                                               "param %s is repeated", s);
12278
0
                                return 0;
12279
0
                            }
12280
0
                            r->maskgenfunc = (OSSL_PARAM *)p;
12281
0
                        }
12282
0
                    }
12283
0
                }
12284
0
                break;
12285
0
            case 'p':
12286
0
                if (ossl_likely(strcmp("roperties", s + 1) == 0)) {
12287
                    /* OSSL_PKEY_PARAM_RSA_DIGEST_PROPS */
12288
0
                    if (ossl_unlikely(r->digest_props != NULL)) {
12289
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12290
0
                                       "param %s is repeated", s);
12291
0
                        return 0;
12292
0
                    }
12293
0
                    r->digest_props = (OSSL_PARAM *)p;
12294
0
                }
12295
0
                break;
12296
0
            case 's':
12297
0
                if (ossl_likely(strcmp("altlen", s + 1) == 0)) {
12298
                    /* OSSL_PKEY_PARAM_RSA_PSS_SALTLEN */
12299
0
                    if (ossl_unlikely(r->pss_saltlen != NULL)) {
12300
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12301
0
                                       "param %s is repeated", s);
12302
0
                        return 0;
12303
0
                    }
12304
0
                    r->pss_saltlen = (OSSL_PARAM *)p;
12305
0
                }
12306
0
            }
12307
0
    return 1;
12308
0
}
Unexecuted instantiation: rsa_backend.c:rsapss_other_import_types_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsapss_other_import_types_decoder
Unexecuted instantiation: rsa_ameth.c:rsapss_other_import_types_decoder
12309
#endif
12310
/* End of machine generated */
12311
12312
#define rsapss_other_export_types_st
12313
#define rsapss_other_export_types_decoder
12314
/* Machine generated */
12315
#ifndef rsapss_other_export_types_list
12316
static ossl_unused const OSSL_PARAM rsapss_other_export_types_list[] = {
12317
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST, NULL, 0),
12318
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MASKGENFUNC, NULL, 0),
12319
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MGF1_DIGEST, NULL, 0),
12320
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_PSS_SALTLEN, NULL),
12321
    OSSL_PARAM_END
12322
};
12323
#endif
12324
12325
#ifndef rsapss_other_export_types_st
12326
struct rsapss_other_export_types_st {
12327
    OSSL_PARAM *digest;
12328
    OSSL_PARAM *maskgenfunc;
12329
    OSSL_PARAM *mgf1_digest;
12330
    OSSL_PARAM *pss_saltlen;
12331
};
12332
#endif
12333
12334
#ifndef rsapss_other_export_types_decoder
12335
static ossl_unused int rsapss_other_export_types_decoder
12336
    (const OSSL_PARAM *p, struct rsapss_other_export_types_st *r)
12337
{
12338
    const char *s;
12339
12340
    memset(r, 0, sizeof(*r));
12341
    if (p != NULL)
12342
        for (; (s = p->key) != NULL; p++)
12343
            switch(s[0]) {
12344
            default:
12345
                break;
12346
            case 'd':
12347
                if (ossl_likely(strcmp("igest", s + 1) == 0)) {
12348
                    /* OSSL_PKEY_PARAM_RSA_DIGEST */
12349
                    if (ossl_unlikely(r->digest != NULL)) {
12350
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12351
                                       "param %s is repeated", s);
12352
                        return 0;
12353
                    }
12354
                    r->digest = (OSSL_PARAM *)p;
12355
                }
12356
                break;
12357
            case 'm':
12358
                switch(s[1]) {
12359
                default:
12360
                    break;
12361
                case 'g':
12362
                    switch(s[2]) {
12363
                    default:
12364
                        break;
12365
                    case 'f':
12366
                        switch(s[3]) {
12367
                        default:
12368
                            break;
12369
                        case '1':
12370
                            if (ossl_likely(strcmp("-digest", s + 4) == 0)) {
12371
                                /* OSSL_PKEY_PARAM_RSA_MGF1_DIGEST */
12372
                                if (ossl_unlikely(r->mgf1_digest != NULL)) {
12373
                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12374
                                                   "param %s is repeated", s);
12375
                                    return 0;
12376
                                }
12377
                                r->mgf1_digest = (OSSL_PARAM *)p;
12378
                            }
12379
                            break;
12380
                        case '\0':
12381
                            if (ossl_unlikely(r->maskgenfunc != NULL)) {
12382
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12383
                                               "param %s is repeated", s);
12384
                                return 0;
12385
                            }
12386
                            r->maskgenfunc = (OSSL_PARAM *)p;
12387
                        }
12388
                    }
12389
                }
12390
                break;
12391
            case 's':
12392
                if (ossl_likely(strcmp("altlen", s + 1) == 0)) {
12393
                    /* OSSL_PKEY_PARAM_RSA_PSS_SALTLEN */
12394
                    if (ossl_unlikely(r->pss_saltlen != NULL)) {
12395
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12396
                                       "param %s is repeated", s);
12397
                        return 0;
12398
                    }
12399
                    r->pss_saltlen = (OSSL_PARAM *)p;
12400
                }
12401
            }
12402
    return 1;
12403
}
12404
#endif
12405
/* End of machine generated */
12406
12407
#define rsapss_all_import_types_st rsa_params_st
12408
/* Machine generated */
12409
#ifndef rsapss_all_import_types_list
12410
static ossl_unused const OSSL_PARAM rsapss_all_import_types_list[] = {
12411
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
12412
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
12413
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
12414
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
12415
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
12416
# if !defined(FIPS_MODULE)
12417
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
12418
# endif
12419
# if !defined(FIPS_MODULE)
12420
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
12421
# endif
12422
# if !defined(FIPS_MODULE)
12423
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
12424
# endif
12425
# if !defined(FIPS_MODULE)
12426
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
12427
# endif
12428
# if !defined(FIPS_MODULE)
12429
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
12430
# endif
12431
# if !defined(FIPS_MODULE)
12432
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
12433
# endif
12434
# if !defined(FIPS_MODULE)
12435
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
12436
# endif
12437
# if !defined(FIPS_MODULE)
12438
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
12439
# endif
12440
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
12441
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
12442
# if !defined(FIPS_MODULE)
12443
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
12444
# endif
12445
# if !defined(FIPS_MODULE)
12446
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
12447
# endif
12448
# if !defined(FIPS_MODULE)
12449
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
12450
# endif
12451
# if !defined(FIPS_MODULE)
12452
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
12453
# endif
12454
# if !defined(FIPS_MODULE)
12455
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
12456
# endif
12457
# if !defined(FIPS_MODULE)
12458
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
12459
# endif
12460
# if !defined(FIPS_MODULE)
12461
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
12462
# endif
12463
# if !defined(FIPS_MODULE)
12464
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
12465
# endif
12466
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
12467
# if !defined(FIPS_MODULE)
12468
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
12469
# endif
12470
# if !defined(FIPS_MODULE)
12471
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
12472
# endif
12473
# if !defined(FIPS_MODULE)
12474
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
12475
# endif
12476
# if !defined(FIPS_MODULE)
12477
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
12478
# endif
12479
# if !defined(FIPS_MODULE)
12480
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
12481
# endif
12482
# if !defined(FIPS_MODULE)
12483
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
12484
# endif
12485
# if !defined(FIPS_MODULE)
12486
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
12487
# endif
12488
# if !defined(FIPS_MODULE)
12489
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
12490
# endif
12491
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ, NULL),
12492
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST, NULL, 0),
12493
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST_PROPS, NULL, 0),
12494
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MASKGENFUNC, NULL, 0),
12495
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MGF1_DIGEST, NULL, 0),
12496
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_PSS_SALTLEN, NULL),
12497
    OSSL_PARAM_END
12498
};
12499
#endif
12500
12501
#ifndef rsapss_all_import_types_st
12502
struct rsapss_all_import_types_st {
12503
    OSSL_PARAM *d;
12504
    OSSL_PARAM *derive;
12505
    OSSL_PARAM *digest;
12506
    OSSL_PARAM *digest_props;
12507
    OSSL_PARAM *e;
12508
    OSSL_PARAM *maskgenfunc;
12509
    OSSL_PARAM *mgf1_digest;
12510
    OSSL_PARAM *mp.coeffs[0];
12511
# if !defined(FIPS_MODULE)
12512
    OSSL_PARAM *mp.coeffs[1];
12513
# endif
12514
# if !defined(FIPS_MODULE)
12515
    OSSL_PARAM *mp.coeffs[2];
12516
# endif
12517
# if !defined(FIPS_MODULE)
12518
    OSSL_PARAM *mp.coeffs[3];
12519
# endif
12520
# if !defined(FIPS_MODULE)
12521
    OSSL_PARAM *mp.coeffs[4];
12522
# endif
12523
# if !defined(FIPS_MODULE)
12524
    OSSL_PARAM *mp.coeffs[5];
12525
# endif
12526
# if !defined(FIPS_MODULE)
12527
    OSSL_PARAM *mp.coeffs[6];
12528
# endif
12529
# if !defined(FIPS_MODULE)
12530
    OSSL_PARAM *mp.coeffs[7];
12531
# endif
12532
# if !defined(FIPS_MODULE)
12533
    OSSL_PARAM *mp.coeffs[8];
12534
# endif
12535
    OSSL_PARAM *mp.exps[0];
12536
    OSSL_PARAM *mp.exps[1];
12537
# if !defined(FIPS_MODULE)
12538
    OSSL_PARAM *mp.exps[2];
12539
# endif
12540
# if !defined(FIPS_MODULE)
12541
    OSSL_PARAM *mp.exps[3];
12542
# endif
12543
# if !defined(FIPS_MODULE)
12544
    OSSL_PARAM *mp.exps[4];
12545
# endif
12546
# if !defined(FIPS_MODULE)
12547
    OSSL_PARAM *mp.exps[5];
12548
# endif
12549
# if !defined(FIPS_MODULE)
12550
    OSSL_PARAM *mp.exps[6];
12551
# endif
12552
# if !defined(FIPS_MODULE)
12553
    OSSL_PARAM *mp.exps[7];
12554
# endif
12555
# if !defined(FIPS_MODULE)
12556
    OSSL_PARAM *mp.exps[8];
12557
# endif
12558
# if !defined(FIPS_MODULE)
12559
    OSSL_PARAM *mp.exps[9];
12560
# endif
12561
    OSSL_PARAM *mp.factors[0];
12562
    OSSL_PARAM *mp.factors[1];
12563
# if !defined(FIPS_MODULE)
12564
    OSSL_PARAM *mp.factors[2];
12565
# endif
12566
# if !defined(FIPS_MODULE)
12567
    OSSL_PARAM *mp.factors[3];
12568
# endif
12569
# if !defined(FIPS_MODULE)
12570
    OSSL_PARAM *mp.factors[4];
12571
# endif
12572
# if !defined(FIPS_MODULE)
12573
    OSSL_PARAM *mp.factors[5];
12574
# endif
12575
# if !defined(FIPS_MODULE)
12576
    OSSL_PARAM *mp.factors[6];
12577
# endif
12578
# if !defined(FIPS_MODULE)
12579
    OSSL_PARAM *mp.factors[7];
12580
# endif
12581
# if !defined(FIPS_MODULE)
12582
    OSSL_PARAM *mp.factors[8];
12583
# endif
12584
# if !defined(FIPS_MODULE)
12585
    OSSL_PARAM *mp.factors[9];
12586
# endif
12587
    OSSL_PARAM *n;
12588
    OSSL_PARAM *pss_saltlen;
12589
};
12590
#endif
12591
12592
#ifndef rsapss_all_import_types_decoder
12593
static ossl_unused int rsapss_all_import_types_decoder
12594
    (const OSSL_PARAM *p, struct rsapss_all_import_types_st *r)
12595
0
{
12596
0
    const char *s;
12597
12598
0
    memset(r, 0, sizeof(*r));
12599
0
    if (p != NULL)
12600
0
        for (; (s = p->key) != NULL; p++)
12601
0
            switch(s[0]) {
12602
0
            default:
12603
0
                break;
12604
0
            case 'd':
12605
0
                switch(s[1]) {
12606
0
                default:
12607
0
                    break;
12608
0
                case 'i':
12609
0
                    if (ossl_likely(strcmp("gest", s + 2) == 0)) {
12610
                        /* OSSL_PKEY_PARAM_RSA_DIGEST */
12611
0
                        if (ossl_unlikely(r->digest != NULL)) {
12612
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12613
0
                                           "param %s is repeated", s);
12614
0
                            return 0;
12615
0
                        }
12616
0
                        r->digest = (OSSL_PARAM *)p;
12617
0
                    }
12618
0
                    break;
12619
0
                case '\0':
12620
0
                    if (ossl_unlikely(r->d != NULL)) {
12621
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12622
0
                                       "param %s is repeated", s);
12623
0
                        return 0;
12624
0
                    }
12625
0
                    r->d = (OSSL_PARAM *)p;
12626
0
                }
12627
0
                break;
12628
0
            case 'e':
12629
0
                switch(s[1]) {
12630
0
                default:
12631
0
                    break;
12632
0
                case '\0':
12633
0
                    if (ossl_unlikely(r->e != NULL)) {
12634
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12635
0
                                       "param %s is repeated", s);
12636
0
                        return 0;
12637
0
                    }
12638
0
                    r->e = (OSSL_PARAM *)p;
12639
0
                }
12640
0
                break;
12641
0
            case 'm':
12642
0
                switch(s[1]) {
12643
0
                default:
12644
0
                    break;
12645
0
                case 'g':
12646
0
                    switch(s[2]) {
12647
0
                    default:
12648
0
                        break;
12649
0
                    case 'f':
12650
0
                        switch(s[3]) {
12651
0
                        default:
12652
0
                            break;
12653
0
                        case '1':
12654
0
                            if (ossl_likely(strcmp("-digest", s + 4) == 0)) {
12655
                                /* OSSL_PKEY_PARAM_RSA_MGF1_DIGEST */
12656
0
                                if (ossl_unlikely(r->mgf1_digest != NULL)) {
12657
0
                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12658
0
                                                   "param %s is repeated", s);
12659
0
                                    return 0;
12660
0
                                }
12661
0
                                r->mgf1_digest = (OSSL_PARAM *)p;
12662
0
                            }
12663
0
                            break;
12664
0
                        case '\0':
12665
0
                            if (ossl_unlikely(r->maskgenfunc != NULL)) {
12666
0
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12667
0
                                               "param %s is repeated", s);
12668
0
                                return 0;
12669
0
                            }
12670
0
                            r->maskgenfunc = (OSSL_PARAM *)p;
12671
0
                        }
12672
0
                    }
12673
0
                }
12674
0
                break;
12675
0
            case 'n':
12676
0
                switch(s[1]) {
12677
0
                default:
12678
0
                    break;
12679
0
                case '\0':
12680
0
                    if (ossl_unlikely(r->n != NULL)) {
12681
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12682
0
                                       "param %s is repeated", s);
12683
0
                        return 0;
12684
0
                    }
12685
0
                    r->n = (OSSL_PARAM *)p;
12686
0
                }
12687
0
                break;
12688
0
            case 'p':
12689
0
                if (ossl_likely(strcmp("roperties", s + 1) == 0)) {
12690
                    /* OSSL_PKEY_PARAM_RSA_DIGEST_PROPS */
12691
0
                    if (ossl_unlikely(r->digest_props != NULL)) {
12692
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12693
0
                                       "param %s is repeated", s);
12694
0
                        return 0;
12695
0
                    }
12696
0
                    r->digest_props = (OSSL_PARAM *)p;
12697
0
                }
12698
0
                break;
12699
0
            case 'r':
12700
0
                switch(s[1]) {
12701
0
                default:
12702
0
                    break;
12703
0
                case 's':
12704
0
                    switch(s[2]) {
12705
0
                    default:
12706
0
                        break;
12707
0
                    case 'a':
12708
0
                        switch(s[3]) {
12709
0
                        default:
12710
0
                            break;
12711
0
                        case '-':
12712
0
                            switch(s[4]) {
12713
0
                            default:
12714
0
                                break;
12715
0
                            case 'c':
12716
0
                                switch(s[5]) {
12717
0
                                default:
12718
0
                                    break;
12719
0
                                case 'o':
12720
0
                                    switch(s[6]) {
12721
0
                                    default:
12722
0
                                        break;
12723
0
                                    case 'e':
12724
0
                                        switch(s[7]) {
12725
0
                                        default:
12726
0
                                            break;
12727
0
                                        case 'f':
12728
0
                                            switch(s[8]) {
12729
0
                                            default:
12730
0
                                                break;
12731
0
                                            case 'f':
12732
0
                                                switch(s[9]) {
12733
0
                                                default:
12734
0
                                                    break;
12735
0
                                                case 'i':
12736
0
                                                    switch(s[10]) {
12737
0
                                                    default:
12738
0
                                                        break;
12739
0
                                                    case 'c':
12740
0
                                                        switch(s[11]) {
12741
0
                                                        default:
12742
0
                                                            break;
12743
0
                                                        case 'i':
12744
0
                                                            switch(s[12]) {
12745
0
                                                            default:
12746
0
                                                                break;
12747
0
                                                            case 'e':
12748
0
                                                                switch(s[13]) {
12749
0
                                                                default:
12750
0
                                                                    break;
12751
0
                                                                case 'n':
12752
0
                                                                    switch(s[14]) {
12753
0
                                                                    default:
12754
0
                                                                        break;
12755
0
                                                                    case 't':
12756
0
                                                                        switch(s[15]) {
12757
0
                                                                        default:
12758
0
                                                                            break;
12759
0
                                                                        case '1':
12760
0
                                                                            switch(s[16]) {
12761
0
                                                                            default:
12762
0
                                                                                break;
12763
0
                                                                            case '\0':
12764
0
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
12765
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12766
0
                                                                                                   "param %s is repeated", s);
12767
0
                                                                                    return 0;
12768
0
                                                                                }
12769
0
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
12770
0
                                                                            }
12771
0
                                                                            break;
12772
0
                                                                        case '2':
12773
0
                                                                            switch(s[16]) {
12774
0
                                                                            default:
12775
0
                                                                                break;
12776
0
                                                                            case '\0':
12777
0
# if !defined(FIPS_MODULE)
12778
0
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
12779
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12780
0
                                                                                                   "param %s is repeated", s);
12781
0
                                                                                    return 0;
12782
0
                                                                                }
12783
0
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
12784
0
# endif
12785
0
                                                                                break;
12786
0
                                                                            }
12787
0
                                                                            break;
12788
0
                                                                        case '3':
12789
0
                                                                            switch(s[16]) {
12790
0
                                                                            default:
12791
0
                                                                                break;
12792
0
                                                                            case '\0':
12793
0
# if !defined(FIPS_MODULE)
12794
0
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
12795
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12796
0
                                                                                                   "param %s is repeated", s);
12797
0
                                                                                    return 0;
12798
0
                                                                                }
12799
0
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
12800
0
# endif
12801
0
                                                                                break;
12802
0
                                                                            }
12803
0
                                                                            break;
12804
0
                                                                        case '4':
12805
0
                                                                            switch(s[16]) {
12806
0
                                                                            default:
12807
0
                                                                                break;
12808
0
                                                                            case '\0':
12809
0
# if !defined(FIPS_MODULE)
12810
0
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
12811
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12812
0
                                                                                                   "param %s is repeated", s);
12813
0
                                                                                    return 0;
12814
0
                                                                                }
12815
0
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
12816
0
# endif
12817
0
                                                                                break;
12818
0
                                                                            }
12819
0
                                                                            break;
12820
0
                                                                        case '5':
12821
0
                                                                            switch(s[16]) {
12822
0
                                                                            default:
12823
0
                                                                                break;
12824
0
                                                                            case '\0':
12825
0
# if !defined(FIPS_MODULE)
12826
0
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
12827
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12828
0
                                                                                                   "param %s is repeated", s);
12829
0
                                                                                    return 0;
12830
0
                                                                                }
12831
0
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
12832
0
# endif
12833
0
                                                                                break;
12834
0
                                                                            }
12835
0
                                                                            break;
12836
0
                                                                        case '6':
12837
0
                                                                            switch(s[16]) {
12838
0
                                                                            default:
12839
0
                                                                                break;
12840
0
                                                                            case '\0':
12841
0
# if !defined(FIPS_MODULE)
12842
0
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
12843
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12844
0
                                                                                                   "param %s is repeated", s);
12845
0
                                                                                    return 0;
12846
0
                                                                                }
12847
0
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
12848
0
# endif
12849
0
                                                                                break;
12850
0
                                                                            }
12851
0
                                                                            break;
12852
0
                                                                        case '7':
12853
0
                                                                            switch(s[16]) {
12854
0
                                                                            default:
12855
0
                                                                                break;
12856
0
                                                                            case '\0':
12857
0
# if !defined(FIPS_MODULE)
12858
0
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
12859
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12860
0
                                                                                                   "param %s is repeated", s);
12861
0
                                                                                    return 0;
12862
0
                                                                                }
12863
0
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
12864
0
# endif
12865
0
                                                                                break;
12866
0
                                                                            }
12867
0
                                                                            break;
12868
0
                                                                        case '8':
12869
0
                                                                            switch(s[16]) {
12870
0
                                                                            default:
12871
0
                                                                                break;
12872
0
                                                                            case '\0':
12873
0
# if !defined(FIPS_MODULE)
12874
0
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
12875
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12876
0
                                                                                                   "param %s is repeated", s);
12877
0
                                                                                    return 0;
12878
0
                                                                                }
12879
0
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
12880
0
# endif
12881
0
                                                                                break;
12882
0
                                                                            }
12883
0
                                                                            break;
12884
0
                                                                        case '9':
12885
0
                                                                            switch(s[16]) {
12886
0
                                                                            default:
12887
0
                                                                                break;
12888
0
                                                                            case '\0':
12889
0
# if !defined(FIPS_MODULE)
12890
0
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
12891
0
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12892
0
                                                                                                   "param %s is repeated", s);
12893
0
                                                                                    return 0;
12894
0
                                                                                }
12895
0
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
12896
0
# endif
12897
0
                                                                                break;
12898
0
                                                                            }
12899
0
                                                                            break;
12900
0
                                                                        }
12901
0
                                                                        break;
12902
0
                                                                    }
12903
0
                                                                    break;
12904
0
                                                                }
12905
0
                                                                break;
12906
0
                                                            }
12907
0
                                                            break;
12908
0
                                                        }
12909
0
                                                        break;
12910
0
                                                    }
12911
0
                                                    break;
12912
0
                                                }
12913
0
                                                break;
12914
0
                                            }
12915
0
                                            break;
12916
0
                                        }
12917
0
                                        break;
12918
0
                                    }
12919
0
                                    break;
12920
0
                                }
12921
0
                                break;
12922
0
                            case 'd':
12923
0
                                if (ossl_likely(strcmp("erive-from-pq", s + 5) == 0)) {
12924
                                    /* OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ */
12925
0
                                    if (ossl_unlikely(r->derive != NULL)) {
12926
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12927
0
                                                       "param %s is repeated", s);
12928
0
                                        return 0;
12929
0
                                    }
12930
0
                                    r->derive = (OSSL_PARAM *)p;
12931
0
                                }
12932
0
                                break;
12933
0
                            case 'e':
12934
0
                                switch(s[5]) {
12935
0
                                default:
12936
0
                                    break;
12937
0
                                case 'x':
12938
0
                                    switch(s[6]) {
12939
0
                                    default:
12940
0
                                        break;
12941
0
                                    case 'p':
12942
0
                                        switch(s[7]) {
12943
0
                                        default:
12944
0
                                            break;
12945
0
                                        case 'o':
12946
0
                                            switch(s[8]) {
12947
0
                                            default:
12948
0
                                                break;
12949
0
                                            case 'n':
12950
0
                                                switch(s[9]) {
12951
0
                                                default:
12952
0
                                                    break;
12953
0
                                                case 'e':
12954
0
                                                    switch(s[10]) {
12955
0
                                                    default:
12956
0
                                                        break;
12957
0
                                                    case 'n':
12958
0
                                                        switch(s[11]) {
12959
0
                                                        default:
12960
0
                                                            break;
12961
0
                                                        case 't':
12962
0
                                                            switch(s[12]) {
12963
0
                                                            default:
12964
0
                                                                break;
12965
0
                                                            case '1':
12966
0
                                                                switch(s[13]) {
12967
0
                                                                default:
12968
0
                                                                    break;
12969
0
                                                                case '0':
12970
0
                                                                    switch(s[14]) {
12971
0
                                                                    default:
12972
0
                                                                        break;
12973
0
                                                                    case '\0':
12974
0
# if !defined(FIPS_MODULE)
12975
0
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
12976
0
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12977
0
                                                                                           "param %s is repeated", s);
12978
0
                                                                            return 0;
12979
0
                                                                        }
12980
0
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
12981
0
# endif
12982
0
                                                                        break;
12983
0
                                                                    }
12984
0
                                                                    break;
12985
0
                                                                case '\0':
12986
0
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
12987
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
12988
0
                                                                                       "param %s is repeated", s);
12989
0
                                                                        return 0;
12990
0
                                                                    }
12991
0
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
12992
0
                                                                }
12993
0
                                                                break;
12994
0
                                                            case '2':
12995
0
                                                                switch(s[13]) {
12996
0
                                                                default:
12997
0
                                                                    break;
12998
0
                                                                case '\0':
12999
0
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
13000
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13001
0
                                                                                       "param %s is repeated", s);
13002
0
                                                                        return 0;
13003
0
                                                                    }
13004
0
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
13005
0
                                                                }
13006
0
                                                                break;
13007
0
                                                            case '3':
13008
0
                                                                switch(s[13]) {
13009
0
                                                                default:
13010
0
                                                                    break;
13011
0
                                                                case '\0':
13012
0
# if !defined(FIPS_MODULE)
13013
0
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
13014
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13015
0
                                                                                       "param %s is repeated", s);
13016
0
                                                                        return 0;
13017
0
                                                                    }
13018
0
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
13019
0
# endif
13020
0
                                                                    break;
13021
0
                                                                }
13022
0
                                                                break;
13023
0
                                                            case '4':
13024
0
                                                                switch(s[13]) {
13025
0
                                                                default:
13026
0
                                                                    break;
13027
0
                                                                case '\0':
13028
0
# if !defined(FIPS_MODULE)
13029
0
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
13030
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13031
0
                                                                                       "param %s is repeated", s);
13032
0
                                                                        return 0;
13033
0
                                                                    }
13034
0
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
13035
0
# endif
13036
0
                                                                    break;
13037
0
                                                                }
13038
0
                                                                break;
13039
0
                                                            case '5':
13040
0
                                                                switch(s[13]) {
13041
0
                                                                default:
13042
0
                                                                    break;
13043
0
                                                                case '\0':
13044
0
# if !defined(FIPS_MODULE)
13045
0
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
13046
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13047
0
                                                                                       "param %s is repeated", s);
13048
0
                                                                        return 0;
13049
0
                                                                    }
13050
0
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
13051
0
# endif
13052
0
                                                                    break;
13053
0
                                                                }
13054
0
                                                                break;
13055
0
                                                            case '6':
13056
0
                                                                switch(s[13]) {
13057
0
                                                                default:
13058
0
                                                                    break;
13059
0
                                                                case '\0':
13060
0
# if !defined(FIPS_MODULE)
13061
0
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
13062
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13063
0
                                                                                       "param %s is repeated", s);
13064
0
                                                                        return 0;
13065
0
                                                                    }
13066
0
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
13067
0
# endif
13068
0
                                                                    break;
13069
0
                                                                }
13070
0
                                                                break;
13071
0
                                                            case '7':
13072
0
                                                                switch(s[13]) {
13073
0
                                                                default:
13074
0
                                                                    break;
13075
0
                                                                case '\0':
13076
0
# if !defined(FIPS_MODULE)
13077
0
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
13078
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13079
0
                                                                                       "param %s is repeated", s);
13080
0
                                                                        return 0;
13081
0
                                                                    }
13082
0
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
13083
0
# endif
13084
0
                                                                    break;
13085
0
                                                                }
13086
0
                                                                break;
13087
0
                                                            case '8':
13088
0
                                                                switch(s[13]) {
13089
0
                                                                default:
13090
0
                                                                    break;
13091
0
                                                                case '\0':
13092
0
# if !defined(FIPS_MODULE)
13093
0
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
13094
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13095
0
                                                                                       "param %s is repeated", s);
13096
0
                                                                        return 0;
13097
0
                                                                    }
13098
0
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
13099
0
# endif
13100
0
                                                                    break;
13101
0
                                                                }
13102
0
                                                                break;
13103
0
                                                            case '9':
13104
0
                                                                switch(s[13]) {
13105
0
                                                                default:
13106
0
                                                                    break;
13107
0
                                                                case '\0':
13108
0
# if !defined(FIPS_MODULE)
13109
0
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
13110
0
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13111
0
                                                                                       "param %s is repeated", s);
13112
0
                                                                        return 0;
13113
0
                                                                    }
13114
0
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
13115
0
# endif
13116
0
                                                                    break;
13117
0
                                                                }
13118
0
                                                                break;
13119
0
                                                            }
13120
0
                                                            break;
13121
0
                                                        }
13122
0
                                                        break;
13123
0
                                                    }
13124
0
                                                    break;
13125
0
                                                }
13126
0
                                                break;
13127
0
                                            }
13128
0
                                            break;
13129
0
                                        }
13130
0
                                        break;
13131
0
                                    }
13132
0
                                    break;
13133
0
                                }
13134
0
                                break;
13135
0
                            case 'f':
13136
0
                                switch(s[5]) {
13137
0
                                default:
13138
0
                                    break;
13139
0
                                case 'a':
13140
0
                                    switch(s[6]) {
13141
0
                                    default:
13142
0
                                        break;
13143
0
                                    case 'c':
13144
0
                                        switch(s[7]) {
13145
0
                                        default:
13146
0
                                            break;
13147
0
                                        case 't':
13148
0
                                            switch(s[8]) {
13149
0
                                            default:
13150
0
                                                break;
13151
0
                                            case 'o':
13152
0
                                                switch(s[9]) {
13153
0
                                                default:
13154
0
                                                    break;
13155
0
                                                case 'r':
13156
0
                                                    switch(s[10]) {
13157
0
                                                    default:
13158
0
                                                        break;
13159
0
                                                    case '1':
13160
0
                                                        switch(s[11]) {
13161
0
                                                        default:
13162
0
                                                            break;
13163
0
                                                        case '0':
13164
0
                                                            switch(s[12]) {
13165
0
                                                            default:
13166
0
                                                                break;
13167
0
                                                            case '\0':
13168
0
# if !defined(FIPS_MODULE)
13169
0
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
13170
0
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13171
0
                                                                                   "param %s is repeated", s);
13172
0
                                                                    return 0;
13173
0
                                                                }
13174
0
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
13175
0
# endif
13176
0
                                                                break;
13177
0
                                                            }
13178
0
                                                            break;
13179
0
                                                        case '\0':
13180
0
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
13181
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13182
0
                                                                               "param %s is repeated", s);
13183
0
                                                                return 0;
13184
0
                                                            }
13185
0
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
13186
0
                                                        }
13187
0
                                                        break;
13188
0
                                                    case '2':
13189
0
                                                        switch(s[11]) {
13190
0
                                                        default:
13191
0
                                                            break;
13192
0
                                                        case '\0':
13193
0
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
13194
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13195
0
                                                                               "param %s is repeated", s);
13196
0
                                                                return 0;
13197
0
                                                            }
13198
0
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
13199
0
                                                        }
13200
0
                                                        break;
13201
0
                                                    case '3':
13202
0
                                                        switch(s[11]) {
13203
0
                                                        default:
13204
0
                                                            break;
13205
0
                                                        case '\0':
13206
0
# if !defined(FIPS_MODULE)
13207
0
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
13208
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13209
0
                                                                               "param %s is repeated", s);
13210
0
                                                                return 0;
13211
0
                                                            }
13212
0
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
13213
0
# endif
13214
0
                                                            break;
13215
0
                                                        }
13216
0
                                                        break;
13217
0
                                                    case '4':
13218
0
                                                        switch(s[11]) {
13219
0
                                                        default:
13220
0
                                                            break;
13221
0
                                                        case '\0':
13222
0
# if !defined(FIPS_MODULE)
13223
0
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
13224
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13225
0
                                                                               "param %s is repeated", s);
13226
0
                                                                return 0;
13227
0
                                                            }
13228
0
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
13229
0
# endif
13230
0
                                                            break;
13231
0
                                                        }
13232
0
                                                        break;
13233
0
                                                    case '5':
13234
0
                                                        switch(s[11]) {
13235
0
                                                        default:
13236
0
                                                            break;
13237
0
                                                        case '\0':
13238
0
# if !defined(FIPS_MODULE)
13239
0
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
13240
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13241
0
                                                                               "param %s is repeated", s);
13242
0
                                                                return 0;
13243
0
                                                            }
13244
0
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
13245
0
# endif
13246
0
                                                            break;
13247
0
                                                        }
13248
0
                                                        break;
13249
0
                                                    case '6':
13250
0
                                                        switch(s[11]) {
13251
0
                                                        default:
13252
0
                                                            break;
13253
0
                                                        case '\0':
13254
0
# if !defined(FIPS_MODULE)
13255
0
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
13256
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13257
0
                                                                               "param %s is repeated", s);
13258
0
                                                                return 0;
13259
0
                                                            }
13260
0
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
13261
0
# endif
13262
0
                                                            break;
13263
0
                                                        }
13264
0
                                                        break;
13265
0
                                                    case '7':
13266
0
                                                        switch(s[11]) {
13267
0
                                                        default:
13268
0
                                                            break;
13269
0
                                                        case '\0':
13270
0
# if !defined(FIPS_MODULE)
13271
0
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
13272
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13273
0
                                                                               "param %s is repeated", s);
13274
0
                                                                return 0;
13275
0
                                                            }
13276
0
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
13277
0
# endif
13278
0
                                                            break;
13279
0
                                                        }
13280
0
                                                        break;
13281
0
                                                    case '8':
13282
0
                                                        switch(s[11]) {
13283
0
                                                        default:
13284
0
                                                            break;
13285
0
                                                        case '\0':
13286
0
# if !defined(FIPS_MODULE)
13287
0
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
13288
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13289
0
                                                                               "param %s is repeated", s);
13290
0
                                                                return 0;
13291
0
                                                            }
13292
0
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
13293
0
# endif
13294
0
                                                            break;
13295
0
                                                        }
13296
0
                                                        break;
13297
0
                                                    case '9':
13298
0
                                                        switch(s[11]) {
13299
0
                                                        default:
13300
0
                                                            break;
13301
0
                                                        case '\0':
13302
0
# if !defined(FIPS_MODULE)
13303
0
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
13304
0
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13305
0
                                                                               "param %s is repeated", s);
13306
0
                                                                return 0;
13307
0
                                                            }
13308
0
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
13309
0
# endif
13310
0
                                                            break;
13311
0
                                                        }
13312
0
                                                        break;
13313
0
                                                    }
13314
0
                                                    break;
13315
0
                                                }
13316
0
                                                break;
13317
0
                                            }
13318
0
                                            break;
13319
0
                                        }
13320
0
                                        break;
13321
0
                                    }
13322
0
                                    break;
13323
0
                                }
13324
0
                                break;
13325
0
                            }
13326
0
                            break;
13327
0
                        }
13328
0
                        break;
13329
0
                    }
13330
0
                    break;
13331
0
                }
13332
0
                break;
13333
0
            case 's':
13334
0
                if (ossl_likely(strcmp("altlen", s + 1) == 0)) {
13335
                    /* OSSL_PKEY_PARAM_RSA_PSS_SALTLEN */
13336
0
                    if (ossl_unlikely(r->pss_saltlen != NULL)) {
13337
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13338
0
                                       "param %s is repeated", s);
13339
0
                        return 0;
13340
0
                    }
13341
0
                    r->pss_saltlen = (OSSL_PARAM *)p;
13342
0
                }
13343
0
            }
13344
0
    return 1;
13345
0
}
Unexecuted instantiation: rsa_backend.c:rsapss_all_import_types_decoder
Unexecuted instantiation: rsa_kmgmt.c:rsapss_all_import_types_decoder
Unexecuted instantiation: rsa_ameth.c:rsapss_all_import_types_decoder
13346
#endif
13347
/* End of machine generated */
13348
13349
#define rsapss_all_export_types_st
13350
#define rsapss_all_export_types_decoder
13351
/* Machine generated */
13352
#ifndef rsapss_all_export_types_list
13353
static ossl_unused const OSSL_PARAM rsapss_all_export_types_list[] = {
13354
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_N, NULL, 0),
13355
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_E, NULL, 0),
13356
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_D, NULL, 0),
13357
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR1, NULL, 0),
13358
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR2, NULL, 0),
13359
# if !defined(FIPS_MODULE)
13360
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR3, NULL, 0),
13361
# endif
13362
# if !defined(FIPS_MODULE)
13363
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR4, NULL, 0),
13364
# endif
13365
# if !defined(FIPS_MODULE)
13366
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR5, NULL, 0),
13367
# endif
13368
# if !defined(FIPS_MODULE)
13369
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR6, NULL, 0),
13370
# endif
13371
# if !defined(FIPS_MODULE)
13372
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR7, NULL, 0),
13373
# endif
13374
# if !defined(FIPS_MODULE)
13375
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR8, NULL, 0),
13376
# endif
13377
# if !defined(FIPS_MODULE)
13378
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR9, NULL, 0),
13379
# endif
13380
# if !defined(FIPS_MODULE)
13381
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_FACTOR10, NULL, 0),
13382
# endif
13383
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT1, NULL, 0),
13384
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT2, NULL, 0),
13385
# if !defined(FIPS_MODULE)
13386
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT3, NULL, 0),
13387
# endif
13388
# if !defined(FIPS_MODULE)
13389
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT4, NULL, 0),
13390
# endif
13391
# if !defined(FIPS_MODULE)
13392
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT5, NULL, 0),
13393
# endif
13394
# if !defined(FIPS_MODULE)
13395
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT6, NULL, 0),
13396
# endif
13397
# if !defined(FIPS_MODULE)
13398
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT7, NULL, 0),
13399
# endif
13400
# if !defined(FIPS_MODULE)
13401
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT8, NULL, 0),
13402
# endif
13403
# if !defined(FIPS_MODULE)
13404
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT9, NULL, 0),
13405
# endif
13406
# if !defined(FIPS_MODULE)
13407
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_EXPONENT10, NULL, 0),
13408
# endif
13409
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, NULL, 0),
13410
# if !defined(FIPS_MODULE)
13411
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT2, NULL, 0),
13412
# endif
13413
# if !defined(FIPS_MODULE)
13414
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT3, NULL, 0),
13415
# endif
13416
# if !defined(FIPS_MODULE)
13417
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT4, NULL, 0),
13418
# endif
13419
# if !defined(FIPS_MODULE)
13420
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT5, NULL, 0),
13421
# endif
13422
# if !defined(FIPS_MODULE)
13423
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT6, NULL, 0),
13424
# endif
13425
# if !defined(FIPS_MODULE)
13426
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT7, NULL, 0),
13427
# endif
13428
# if !defined(FIPS_MODULE)
13429
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT8, NULL, 0),
13430
# endif
13431
# if !defined(FIPS_MODULE)
13432
    OSSL_PARAM_BN(OSSL_PKEY_PARAM_RSA_COEFFICIENT9, NULL, 0),
13433
# endif
13434
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_DIGEST, NULL, 0),
13435
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MASKGENFUNC, NULL, 0),
13436
    OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_RSA_MGF1_DIGEST, NULL, 0),
13437
    OSSL_PARAM_int(OSSL_PKEY_PARAM_RSA_PSS_SALTLEN, NULL),
13438
    OSSL_PARAM_END
13439
};
13440
#endif
13441
13442
#ifndef rsapss_all_export_types_st
13443
struct rsapss_all_export_types_st {
13444
    OSSL_PARAM *d;
13445
    OSSL_PARAM *digest;
13446
    OSSL_PARAM *e;
13447
    OSSL_PARAM *maskgenfunc;
13448
    OSSL_PARAM *mgf1_digest;
13449
    OSSL_PARAM *mp.coeffs[0];
13450
# if !defined(FIPS_MODULE)
13451
    OSSL_PARAM *mp.coeffs[1];
13452
# endif
13453
# if !defined(FIPS_MODULE)
13454
    OSSL_PARAM *mp.coeffs[2];
13455
# endif
13456
# if !defined(FIPS_MODULE)
13457
    OSSL_PARAM *mp.coeffs[3];
13458
# endif
13459
# if !defined(FIPS_MODULE)
13460
    OSSL_PARAM *mp.coeffs[4];
13461
# endif
13462
# if !defined(FIPS_MODULE)
13463
    OSSL_PARAM *mp.coeffs[5];
13464
# endif
13465
# if !defined(FIPS_MODULE)
13466
    OSSL_PARAM *mp.coeffs[6];
13467
# endif
13468
# if !defined(FIPS_MODULE)
13469
    OSSL_PARAM *mp.coeffs[7];
13470
# endif
13471
# if !defined(FIPS_MODULE)
13472
    OSSL_PARAM *mp.coeffs[8];
13473
# endif
13474
    OSSL_PARAM *mp.exps[0];
13475
    OSSL_PARAM *mp.exps[1];
13476
# if !defined(FIPS_MODULE)
13477
    OSSL_PARAM *mp.exps[2];
13478
# endif
13479
# if !defined(FIPS_MODULE)
13480
    OSSL_PARAM *mp.exps[3];
13481
# endif
13482
# if !defined(FIPS_MODULE)
13483
    OSSL_PARAM *mp.exps[4];
13484
# endif
13485
# if !defined(FIPS_MODULE)
13486
    OSSL_PARAM *mp.exps[5];
13487
# endif
13488
# if !defined(FIPS_MODULE)
13489
    OSSL_PARAM *mp.exps[6];
13490
# endif
13491
# if !defined(FIPS_MODULE)
13492
    OSSL_PARAM *mp.exps[7];
13493
# endif
13494
# if !defined(FIPS_MODULE)
13495
    OSSL_PARAM *mp.exps[8];
13496
# endif
13497
# if !defined(FIPS_MODULE)
13498
    OSSL_PARAM *mp.exps[9];
13499
# endif
13500
    OSSL_PARAM *mp.factors[0];
13501
    OSSL_PARAM *mp.factors[1];
13502
# if !defined(FIPS_MODULE)
13503
    OSSL_PARAM *mp.factors[2];
13504
# endif
13505
# if !defined(FIPS_MODULE)
13506
    OSSL_PARAM *mp.factors[3];
13507
# endif
13508
# if !defined(FIPS_MODULE)
13509
    OSSL_PARAM *mp.factors[4];
13510
# endif
13511
# if !defined(FIPS_MODULE)
13512
    OSSL_PARAM *mp.factors[5];
13513
# endif
13514
# if !defined(FIPS_MODULE)
13515
    OSSL_PARAM *mp.factors[6];
13516
# endif
13517
# if !defined(FIPS_MODULE)
13518
    OSSL_PARAM *mp.factors[7];
13519
# endif
13520
# if !defined(FIPS_MODULE)
13521
    OSSL_PARAM *mp.factors[8];
13522
# endif
13523
# if !defined(FIPS_MODULE)
13524
    OSSL_PARAM *mp.factors[9];
13525
# endif
13526
    OSSL_PARAM *n;
13527
    OSSL_PARAM *pss_saltlen;
13528
};
13529
#endif
13530
13531
#ifndef rsapss_all_export_types_decoder
13532
static ossl_unused int rsapss_all_export_types_decoder
13533
    (const OSSL_PARAM *p, struct rsapss_all_export_types_st *r)
13534
{
13535
    const char *s;
13536
13537
    memset(r, 0, sizeof(*r));
13538
    if (p != NULL)
13539
        for (; (s = p->key) != NULL; p++)
13540
            switch(s[0]) {
13541
            default:
13542
                break;
13543
            case 'd':
13544
                switch(s[1]) {
13545
                default:
13546
                    break;
13547
                case 'i':
13548
                    if (ossl_likely(strcmp("gest", s + 2) == 0)) {
13549
                        /* OSSL_PKEY_PARAM_RSA_DIGEST */
13550
                        if (ossl_unlikely(r->digest != NULL)) {
13551
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13552
                                           "param %s is repeated", s);
13553
                            return 0;
13554
                        }
13555
                        r->digest = (OSSL_PARAM *)p;
13556
                    }
13557
                    break;
13558
                case '\0':
13559
                    if (ossl_unlikely(r->d != NULL)) {
13560
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13561
                                       "param %s is repeated", s);
13562
                        return 0;
13563
                    }
13564
                    r->d = (OSSL_PARAM *)p;
13565
                }
13566
                break;
13567
            case 'e':
13568
                switch(s[1]) {
13569
                default:
13570
                    break;
13571
                case '\0':
13572
                    if (ossl_unlikely(r->e != NULL)) {
13573
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13574
                                       "param %s is repeated", s);
13575
                        return 0;
13576
                    }
13577
                    r->e = (OSSL_PARAM *)p;
13578
                }
13579
                break;
13580
            case 'm':
13581
                switch(s[1]) {
13582
                default:
13583
                    break;
13584
                case 'g':
13585
                    switch(s[2]) {
13586
                    default:
13587
                        break;
13588
                    case 'f':
13589
                        switch(s[3]) {
13590
                        default:
13591
                            break;
13592
                        case '1':
13593
                            if (ossl_likely(strcmp("-digest", s + 4) == 0)) {
13594
                                /* OSSL_PKEY_PARAM_RSA_MGF1_DIGEST */
13595
                                if (ossl_unlikely(r->mgf1_digest != NULL)) {
13596
                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13597
                                                   "param %s is repeated", s);
13598
                                    return 0;
13599
                                }
13600
                                r->mgf1_digest = (OSSL_PARAM *)p;
13601
                            }
13602
                            break;
13603
                        case '\0':
13604
                            if (ossl_unlikely(r->maskgenfunc != NULL)) {
13605
                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13606
                                               "param %s is repeated", s);
13607
                                return 0;
13608
                            }
13609
                            r->maskgenfunc = (OSSL_PARAM *)p;
13610
                        }
13611
                    }
13612
                }
13613
                break;
13614
            case 'n':
13615
                switch(s[1]) {
13616
                default:
13617
                    break;
13618
                case '\0':
13619
                    if (ossl_unlikely(r->n != NULL)) {
13620
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13621
                                       "param %s is repeated", s);
13622
                        return 0;
13623
                    }
13624
                    r->n = (OSSL_PARAM *)p;
13625
                }
13626
                break;
13627
            case 'r':
13628
                switch(s[1]) {
13629
                default:
13630
                    break;
13631
                case 's':
13632
                    switch(s[2]) {
13633
                    default:
13634
                        break;
13635
                    case 'a':
13636
                        switch(s[3]) {
13637
                        default:
13638
                            break;
13639
                        case '-':
13640
                            switch(s[4]) {
13641
                            default:
13642
                                break;
13643
                            case 'c':
13644
                                switch(s[5]) {
13645
                                default:
13646
                                    break;
13647
                                case 'o':
13648
                                    switch(s[6]) {
13649
                                    default:
13650
                                        break;
13651
                                    case 'e':
13652
                                        switch(s[7]) {
13653
                                        default:
13654
                                            break;
13655
                                        case 'f':
13656
                                            switch(s[8]) {
13657
                                            default:
13658
                                                break;
13659
                                            case 'f':
13660
                                                switch(s[9]) {
13661
                                                default:
13662
                                                    break;
13663
                                                case 'i':
13664
                                                    switch(s[10]) {
13665
                                                    default:
13666
                                                        break;
13667
                                                    case 'c':
13668
                                                        switch(s[11]) {
13669
                                                        default:
13670
                                                            break;
13671
                                                        case 'i':
13672
                                                            switch(s[12]) {
13673
                                                            default:
13674
                                                                break;
13675
                                                            case 'e':
13676
                                                                switch(s[13]) {
13677
                                                                default:
13678
                                                                    break;
13679
                                                                case 'n':
13680
                                                                    switch(s[14]) {
13681
                                                                    default:
13682
                                                                        break;
13683
                                                                    case 't':
13684
                                                                        switch(s[15]) {
13685
                                                                        default:
13686
                                                                            break;
13687
                                                                        case '1':
13688
                                                                            switch(s[16]) {
13689
                                                                            default:
13690
                                                                                break;
13691
                                                                            case '\0':
13692
                                                                                if (ossl_unlikely(r->mp.coeffs[0] != NULL)) {
13693
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13694
                                                                                                   "param %s is repeated", s);
13695
                                                                                    return 0;
13696
                                                                                }
13697
                                                                                r->mp.coeffs[0] = (OSSL_PARAM *)p;
13698
                                                                            }
13699
                                                                            break;
13700
                                                                        case '2':
13701
                                                                            switch(s[16]) {
13702
                                                                            default:
13703
                                                                                break;
13704
                                                                            case '\0':
13705
# if !defined(FIPS_MODULE)
13706
                                                                                if (ossl_unlikely(r->mp.coeffs[1] != NULL)) {
13707
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13708
                                                                                                   "param %s is repeated", s);
13709
                                                                                    return 0;
13710
                                                                                }
13711
                                                                                r->mp.coeffs[1] = (OSSL_PARAM *)p;
13712
# endif
13713
                                                                                break;
13714
                                                                            }
13715
                                                                            break;
13716
                                                                        case '3':
13717
                                                                            switch(s[16]) {
13718
                                                                            default:
13719
                                                                                break;
13720
                                                                            case '\0':
13721
# if !defined(FIPS_MODULE)
13722
                                                                                if (ossl_unlikely(r->mp.coeffs[2] != NULL)) {
13723
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13724
                                                                                                   "param %s is repeated", s);
13725
                                                                                    return 0;
13726
                                                                                }
13727
                                                                                r->mp.coeffs[2] = (OSSL_PARAM *)p;
13728
# endif
13729
                                                                                break;
13730
                                                                            }
13731
                                                                            break;
13732
                                                                        case '4':
13733
                                                                            switch(s[16]) {
13734
                                                                            default:
13735
                                                                                break;
13736
                                                                            case '\0':
13737
# if !defined(FIPS_MODULE)
13738
                                                                                if (ossl_unlikely(r->mp.coeffs[3] != NULL)) {
13739
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13740
                                                                                                   "param %s is repeated", s);
13741
                                                                                    return 0;
13742
                                                                                }
13743
                                                                                r->mp.coeffs[3] = (OSSL_PARAM *)p;
13744
# endif
13745
                                                                                break;
13746
                                                                            }
13747
                                                                            break;
13748
                                                                        case '5':
13749
                                                                            switch(s[16]) {
13750
                                                                            default:
13751
                                                                                break;
13752
                                                                            case '\0':
13753
# if !defined(FIPS_MODULE)
13754
                                                                                if (ossl_unlikely(r->mp.coeffs[4] != NULL)) {
13755
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13756
                                                                                                   "param %s is repeated", s);
13757
                                                                                    return 0;
13758
                                                                                }
13759
                                                                                r->mp.coeffs[4] = (OSSL_PARAM *)p;
13760
# endif
13761
                                                                                break;
13762
                                                                            }
13763
                                                                            break;
13764
                                                                        case '6':
13765
                                                                            switch(s[16]) {
13766
                                                                            default:
13767
                                                                                break;
13768
                                                                            case '\0':
13769
# if !defined(FIPS_MODULE)
13770
                                                                                if (ossl_unlikely(r->mp.coeffs[5] != NULL)) {
13771
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13772
                                                                                                   "param %s is repeated", s);
13773
                                                                                    return 0;
13774
                                                                                }
13775
                                                                                r->mp.coeffs[5] = (OSSL_PARAM *)p;
13776
# endif
13777
                                                                                break;
13778
                                                                            }
13779
                                                                            break;
13780
                                                                        case '7':
13781
                                                                            switch(s[16]) {
13782
                                                                            default:
13783
                                                                                break;
13784
                                                                            case '\0':
13785
# if !defined(FIPS_MODULE)
13786
                                                                                if (ossl_unlikely(r->mp.coeffs[6] != NULL)) {
13787
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13788
                                                                                                   "param %s is repeated", s);
13789
                                                                                    return 0;
13790
                                                                                }
13791
                                                                                r->mp.coeffs[6] = (OSSL_PARAM *)p;
13792
# endif
13793
                                                                                break;
13794
                                                                            }
13795
                                                                            break;
13796
                                                                        case '8':
13797
                                                                            switch(s[16]) {
13798
                                                                            default:
13799
                                                                                break;
13800
                                                                            case '\0':
13801
# if !defined(FIPS_MODULE)
13802
                                                                                if (ossl_unlikely(r->mp.coeffs[7] != NULL)) {
13803
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13804
                                                                                                   "param %s is repeated", s);
13805
                                                                                    return 0;
13806
                                                                                }
13807
                                                                                r->mp.coeffs[7] = (OSSL_PARAM *)p;
13808
# endif
13809
                                                                                break;
13810
                                                                            }
13811
                                                                            break;
13812
                                                                        case '9':
13813
                                                                            switch(s[16]) {
13814
                                                                            default:
13815
                                                                                break;
13816
                                                                            case '\0':
13817
# if !defined(FIPS_MODULE)
13818
                                                                                if (ossl_unlikely(r->mp.coeffs[8] != NULL)) {
13819
                                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13820
                                                                                                   "param %s is repeated", s);
13821
                                                                                    return 0;
13822
                                                                                }
13823
                                                                                r->mp.coeffs[8] = (OSSL_PARAM *)p;
13824
# endif
13825
                                                                                break;
13826
                                                                            }
13827
                                                                            break;
13828
                                                                        }
13829
                                                                        break;
13830
                                                                    }
13831
                                                                    break;
13832
                                                                }
13833
                                                                break;
13834
                                                            }
13835
                                                            break;
13836
                                                        }
13837
                                                        break;
13838
                                                    }
13839
                                                    break;
13840
                                                }
13841
                                                break;
13842
                                            }
13843
                                            break;
13844
                                        }
13845
                                        break;
13846
                                    }
13847
                                    break;
13848
                                }
13849
                                break;
13850
                            case 'e':
13851
                                switch(s[5]) {
13852
                                default:
13853
                                    break;
13854
                                case 'x':
13855
                                    switch(s[6]) {
13856
                                    default:
13857
                                        break;
13858
                                    case 'p':
13859
                                        switch(s[7]) {
13860
                                        default:
13861
                                            break;
13862
                                        case 'o':
13863
                                            switch(s[8]) {
13864
                                            default:
13865
                                                break;
13866
                                            case 'n':
13867
                                                switch(s[9]) {
13868
                                                default:
13869
                                                    break;
13870
                                                case 'e':
13871
                                                    switch(s[10]) {
13872
                                                    default:
13873
                                                        break;
13874
                                                    case 'n':
13875
                                                        switch(s[11]) {
13876
                                                        default:
13877
                                                            break;
13878
                                                        case 't':
13879
                                                            switch(s[12]) {
13880
                                                            default:
13881
                                                                break;
13882
                                                            case '1':
13883
                                                                switch(s[13]) {
13884
                                                                default:
13885
                                                                    break;
13886
                                                                case '0':
13887
                                                                    switch(s[14]) {
13888
                                                                    default:
13889
                                                                        break;
13890
                                                                    case '\0':
13891
# if !defined(FIPS_MODULE)
13892
                                                                        if (ossl_unlikely(r->mp.exps[9] != NULL)) {
13893
                                                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13894
                                                                                           "param %s is repeated", s);
13895
                                                                            return 0;
13896
                                                                        }
13897
                                                                        r->mp.exps[9] = (OSSL_PARAM *)p;
13898
# endif
13899
                                                                        break;
13900
                                                                    }
13901
                                                                    break;
13902
                                                                case '\0':
13903
                                                                    if (ossl_unlikely(r->mp.exps[0] != NULL)) {
13904
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13905
                                                                                       "param %s is repeated", s);
13906
                                                                        return 0;
13907
                                                                    }
13908
                                                                    r->mp.exps[0] = (OSSL_PARAM *)p;
13909
                                                                }
13910
                                                                break;
13911
                                                            case '2':
13912
                                                                switch(s[13]) {
13913
                                                                default:
13914
                                                                    break;
13915
                                                                case '\0':
13916
                                                                    if (ossl_unlikely(r->mp.exps[1] != NULL)) {
13917
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13918
                                                                                       "param %s is repeated", s);
13919
                                                                        return 0;
13920
                                                                    }
13921
                                                                    r->mp.exps[1] = (OSSL_PARAM *)p;
13922
                                                                }
13923
                                                                break;
13924
                                                            case '3':
13925
                                                                switch(s[13]) {
13926
                                                                default:
13927
                                                                    break;
13928
                                                                case '\0':
13929
# if !defined(FIPS_MODULE)
13930
                                                                    if (ossl_unlikely(r->mp.exps[2] != NULL)) {
13931
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13932
                                                                                       "param %s is repeated", s);
13933
                                                                        return 0;
13934
                                                                    }
13935
                                                                    r->mp.exps[2] = (OSSL_PARAM *)p;
13936
# endif
13937
                                                                    break;
13938
                                                                }
13939
                                                                break;
13940
                                                            case '4':
13941
                                                                switch(s[13]) {
13942
                                                                default:
13943
                                                                    break;
13944
                                                                case '\0':
13945
# if !defined(FIPS_MODULE)
13946
                                                                    if (ossl_unlikely(r->mp.exps[3] != NULL)) {
13947
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13948
                                                                                       "param %s is repeated", s);
13949
                                                                        return 0;
13950
                                                                    }
13951
                                                                    r->mp.exps[3] = (OSSL_PARAM *)p;
13952
# endif
13953
                                                                    break;
13954
                                                                }
13955
                                                                break;
13956
                                                            case '5':
13957
                                                                switch(s[13]) {
13958
                                                                default:
13959
                                                                    break;
13960
                                                                case '\0':
13961
# if !defined(FIPS_MODULE)
13962
                                                                    if (ossl_unlikely(r->mp.exps[4] != NULL)) {
13963
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13964
                                                                                       "param %s is repeated", s);
13965
                                                                        return 0;
13966
                                                                    }
13967
                                                                    r->mp.exps[4] = (OSSL_PARAM *)p;
13968
# endif
13969
                                                                    break;
13970
                                                                }
13971
                                                                break;
13972
                                                            case '6':
13973
                                                                switch(s[13]) {
13974
                                                                default:
13975
                                                                    break;
13976
                                                                case '\0':
13977
# if !defined(FIPS_MODULE)
13978
                                                                    if (ossl_unlikely(r->mp.exps[5] != NULL)) {
13979
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13980
                                                                                       "param %s is repeated", s);
13981
                                                                        return 0;
13982
                                                                    }
13983
                                                                    r->mp.exps[5] = (OSSL_PARAM *)p;
13984
# endif
13985
                                                                    break;
13986
                                                                }
13987
                                                                break;
13988
                                                            case '7':
13989
                                                                switch(s[13]) {
13990
                                                                default:
13991
                                                                    break;
13992
                                                                case '\0':
13993
# if !defined(FIPS_MODULE)
13994
                                                                    if (ossl_unlikely(r->mp.exps[6] != NULL)) {
13995
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
13996
                                                                                       "param %s is repeated", s);
13997
                                                                        return 0;
13998
                                                                    }
13999
                                                                    r->mp.exps[6] = (OSSL_PARAM *)p;
14000
# endif
14001
                                                                    break;
14002
                                                                }
14003
                                                                break;
14004
                                                            case '8':
14005
                                                                switch(s[13]) {
14006
                                                                default:
14007
                                                                    break;
14008
                                                                case '\0':
14009
# if !defined(FIPS_MODULE)
14010
                                                                    if (ossl_unlikely(r->mp.exps[7] != NULL)) {
14011
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
14012
                                                                                       "param %s is repeated", s);
14013
                                                                        return 0;
14014
                                                                    }
14015
                                                                    r->mp.exps[7] = (OSSL_PARAM *)p;
14016
# endif
14017
                                                                    break;
14018
                                                                }
14019
                                                                break;
14020
                                                            case '9':
14021
                                                                switch(s[13]) {
14022
                                                                default:
14023
                                                                    break;
14024
                                                                case '\0':
14025
# if !defined(FIPS_MODULE)
14026
                                                                    if (ossl_unlikely(r->mp.exps[8] != NULL)) {
14027
                                                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
14028
                                                                                       "param %s is repeated", s);
14029
                                                                        return 0;
14030
                                                                    }
14031
                                                                    r->mp.exps[8] = (OSSL_PARAM *)p;
14032
# endif
14033
                                                                    break;
14034
                                                                }
14035
                                                                break;
14036
                                                            }
14037
                                                            break;
14038
                                                        }
14039
                                                        break;
14040
                                                    }
14041
                                                    break;
14042
                                                }
14043
                                                break;
14044
                                            }
14045
                                            break;
14046
                                        }
14047
                                        break;
14048
                                    }
14049
                                    break;
14050
                                }
14051
                                break;
14052
                            case 'f':
14053
                                switch(s[5]) {
14054
                                default:
14055
                                    break;
14056
                                case 'a':
14057
                                    switch(s[6]) {
14058
                                    default:
14059
                                        break;
14060
                                    case 'c':
14061
                                        switch(s[7]) {
14062
                                        default:
14063
                                            break;
14064
                                        case 't':
14065
                                            switch(s[8]) {
14066
                                            default:
14067
                                                break;
14068
                                            case 'o':
14069
                                                switch(s[9]) {
14070
                                                default:
14071
                                                    break;
14072
                                                case 'r':
14073
                                                    switch(s[10]) {
14074
                                                    default:
14075
                                                        break;
14076
                                                    case '1':
14077
                                                        switch(s[11]) {
14078
                                                        default:
14079
                                                            break;
14080
                                                        case '0':
14081
                                                            switch(s[12]) {
14082
                                                            default:
14083
                                                                break;
14084
                                                            case '\0':
14085
# if !defined(FIPS_MODULE)
14086
                                                                if (ossl_unlikely(r->mp.factors[9] != NULL)) {
14087
                                                                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
14088
                                                                                   "param %s is repeated", s);
14089
                                                                    return 0;
14090
                                                                }
14091
                                                                r->mp.factors[9] = (OSSL_PARAM *)p;
14092
# endif
14093
                                                                break;
14094
                                                            }
14095
                                                            break;
14096
                                                        case '\0':
14097
                                                            if (ossl_unlikely(r->mp.factors[0] != NULL)) {
14098
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
14099
                                                                               "param %s is repeated", s);
14100
                                                                return 0;
14101
                                                            }
14102
                                                            r->mp.factors[0] = (OSSL_PARAM *)p;
14103
                                                        }
14104
                                                        break;
14105
                                                    case '2':
14106
                                                        switch(s[11]) {
14107
                                                        default:
14108
                                                            break;
14109
                                                        case '\0':
14110
                                                            if (ossl_unlikely(r->mp.factors[1] != NULL)) {
14111
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
14112
                                                                               "param %s is repeated", s);
14113
                                                                return 0;
14114
                                                            }
14115
                                                            r->mp.factors[1] = (OSSL_PARAM *)p;
14116
                                                        }
14117
                                                        break;
14118
                                                    case '3':
14119
                                                        switch(s[11]) {
14120
                                                        default:
14121
                                                            break;
14122
                                                        case '\0':
14123
# if !defined(FIPS_MODULE)
14124
                                                            if (ossl_unlikely(r->mp.factors[2] != NULL)) {
14125
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
14126
                                                                               "param %s is repeated", s);
14127
                                                                return 0;
14128
                                                            }
14129
                                                            r->mp.factors[2] = (OSSL_PARAM *)p;
14130
# endif
14131
                                                            break;
14132
                                                        }
14133
                                                        break;
14134
                                                    case '4':
14135
                                                        switch(s[11]) {
14136
                                                        default:
14137
                                                            break;
14138
                                                        case '\0':
14139
# if !defined(FIPS_MODULE)
14140
                                                            if (ossl_unlikely(r->mp.factors[3] != NULL)) {
14141
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
14142
                                                                               "param %s is repeated", s);
14143
                                                                return 0;
14144
                                                            }
14145
                                                            r->mp.factors[3] = (OSSL_PARAM *)p;
14146
# endif
14147
                                                            break;
14148
                                                        }
14149
                                                        break;
14150
                                                    case '5':
14151
                                                        switch(s[11]) {
14152
                                                        default:
14153
                                                            break;
14154
                                                        case '\0':
14155
# if !defined(FIPS_MODULE)
14156
                                                            if (ossl_unlikely(r->mp.factors[4] != NULL)) {
14157
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
14158
                                                                               "param %s is repeated", s);
14159
                                                                return 0;
14160
                                                            }
14161
                                                            r->mp.factors[4] = (OSSL_PARAM *)p;
14162
# endif
14163
                                                            break;
14164
                                                        }
14165
                                                        break;
14166
                                                    case '6':
14167
                                                        switch(s[11]) {
14168
                                                        default:
14169
                                                            break;
14170
                                                        case '\0':
14171
# if !defined(FIPS_MODULE)
14172
                                                            if (ossl_unlikely(r->mp.factors[5] != NULL)) {
14173
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
14174
                                                                               "param %s is repeated", s);
14175
                                                                return 0;
14176
                                                            }
14177
                                                            r->mp.factors[5] = (OSSL_PARAM *)p;
14178
# endif
14179
                                                            break;
14180
                                                        }
14181
                                                        break;
14182
                                                    case '7':
14183
                                                        switch(s[11]) {
14184
                                                        default:
14185
                                                            break;
14186
                                                        case '\0':
14187
# if !defined(FIPS_MODULE)
14188
                                                            if (ossl_unlikely(r->mp.factors[6] != NULL)) {
14189
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
14190
                                                                               "param %s is repeated", s);
14191
                                                                return 0;
14192
                                                            }
14193
                                                            r->mp.factors[6] = (OSSL_PARAM *)p;
14194
# endif
14195
                                                            break;
14196
                                                        }
14197
                                                        break;
14198
                                                    case '8':
14199
                                                        switch(s[11]) {
14200
                                                        default:
14201
                                                            break;
14202
                                                        case '\0':
14203
# if !defined(FIPS_MODULE)
14204
                                                            if (ossl_unlikely(r->mp.factors[7] != NULL)) {
14205
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
14206
                                                                               "param %s is repeated", s);
14207
                                                                return 0;
14208
                                                            }
14209
                                                            r->mp.factors[7] = (OSSL_PARAM *)p;
14210
# endif
14211
                                                            break;
14212
                                                        }
14213
                                                        break;
14214
                                                    case '9':
14215
                                                        switch(s[11]) {
14216
                                                        default:
14217
                                                            break;
14218
                                                        case '\0':
14219
# if !defined(FIPS_MODULE)
14220
                                                            if (ossl_unlikely(r->mp.factors[8] != NULL)) {
14221
                                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
14222
                                                                               "param %s is repeated", s);
14223
                                                                return 0;
14224
                                                            }
14225
                                                            r->mp.factors[8] = (OSSL_PARAM *)p;
14226
# endif
14227
                                                            break;
14228
                                                        }
14229
                                                        break;
14230
                                                    }
14231
                                                    break;
14232
                                                }
14233
                                                break;
14234
                                            }
14235
                                            break;
14236
                                        }
14237
                                        break;
14238
                                    }
14239
                                    break;
14240
                                }
14241
                                break;
14242
                            }
14243
                            break;
14244
                        }
14245
                        break;
14246
                    }
14247
                    break;
14248
                }
14249
                break;
14250
            case 's':
14251
                if (ossl_likely(strcmp("altlen", s + 1) == 0)) {
14252
                    /* OSSL_PKEY_PARAM_RSA_PSS_SALTLEN */
14253
                    if (ossl_unlikely(r->pss_saltlen != NULL)) {
14254
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
14255
                                       "param %s is repeated", s);
14256
                        return 0;
14257
                    }
14258
                    r->pss_saltlen = (OSSL_PARAM *)p;
14259
                }
14260
            }
14261
    return 1;
14262
}
14263
#endif
14264
/* End of machine generated */
14265
14266
/* clang-format on */
14267
14268
#endif