Coverage Report

Created: 2026-02-22 06:11

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/openssl/providers/implementations/signature/rsa_sig.inc
Line
Count
Source
1
/*
2
 * Copyright 2025 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
11
12
/* Machine generated by util/perl/OpenSSL/paramnames.pm */
13
#ifndef rsa_get_ctx_params_list
14
static const OSSL_PARAM rsa_get_ctx_params_list[] = {
15
    OSSL_PARAM_octet_string(OSSL_SIGNATURE_PARAM_ALGORITHM_ID, NULL, 0),
16
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_PAD_MODE, NULL, 0),
17
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_PAD_MODE, NULL),
18
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_DIGEST, NULL, 0),
19
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_MGF1_DIGEST, NULL, 0),
20
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_PSS_SALTLEN, NULL, 0),
21
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_PSS_SALTLEN, NULL),
22
# if defined(FIPS_MODULE)
23
    OSSL_PARAM_uint(OSSL_SIGNATURE_PARAM_FIPS_VERIFY_MESSAGE, NULL),
24
# endif
25
# if defined(FIPS_MODULE)
26
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_APPROVED_INDICATOR, NULL),
27
# endif
28
    OSSL_PARAM_END
29
};
30
#endif
31
32
#ifndef rsa_get_ctx_params_st
33
struct rsa_get_ctx_params_st {
34
    OSSL_PARAM *algid;
35
    OSSL_PARAM *digest;
36
# if defined(FIPS_MODULE)
37
    OSSL_PARAM *ind;
38
# endif
39
    OSSL_PARAM *mgf1;
40
    OSSL_PARAM *pad;
41
    OSSL_PARAM *slen;
42
# if defined(FIPS_MODULE)
43
    OSSL_PARAM *verify;
44
# endif
45
};
46
#endif
47
48
#ifndef rsa_get_ctx_params_decoder
49
static int rsa_get_ctx_params_decoder
50
    (const OSSL_PARAM *p, struct rsa_get_ctx_params_st *r)
51
0
{
52
0
    const char *s;
53
54
0
    memset(r, 0, sizeof(*r));
55
0
    if (p != NULL)
56
0
        for (; (s = p->key) != NULL; p++)
57
0
            switch(s[0]) {
58
0
            default:
59
0
                break;
60
0
            case 'a':
61
0
                if (ossl_likely(strcmp("lgorithm-id", s + 1) == 0)) {
62
                    /* OSSL_SIGNATURE_PARAM_ALGORITHM_ID */
63
0
                    if (ossl_unlikely(r->algid != NULL)) {
64
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
65
0
                                       "param %s is repeated", s);
66
0
                        return 0;
67
0
                    }
68
0
                    r->algid = (OSSL_PARAM *)p;
69
0
                }
70
0
                break;
71
0
            case 'd':
72
0
                if (ossl_likely(strcmp("igest", s + 1) == 0)) {
73
                    /* OSSL_SIGNATURE_PARAM_DIGEST */
74
0
                    if (ossl_unlikely(r->digest != NULL)) {
75
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
76
0
                                       "param %s is repeated", s);
77
0
                        return 0;
78
0
                    }
79
0
                    r->digest = (OSSL_PARAM *)p;
80
0
                }
81
0
                break;
82
0
            case 'f':
83
# if defined(FIPS_MODULE)
84
                if (ossl_likely(strcmp("ips-indicator", s + 1) == 0)) {
85
                    /* OSSL_SIGNATURE_PARAM_FIPS_APPROVED_INDICATOR */
86
                    if (ossl_unlikely(r->ind != NULL)) {
87
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
88
                                       "param %s is repeated", s);
89
                        return 0;
90
                    }
91
                    r->ind = (OSSL_PARAM *)p;
92
                }
93
# endif
94
0
                break;
95
0
            case 'm':
96
0
                if (ossl_likely(strcmp("gf1-digest", s + 1) == 0)) {
97
                    /* OSSL_SIGNATURE_PARAM_MGF1_DIGEST */
98
0
                    if (ossl_unlikely(r->mgf1 != NULL)) {
99
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
100
0
                                       "param %s is repeated", s);
101
0
                        return 0;
102
0
                    }
103
0
                    r->mgf1 = (OSSL_PARAM *)p;
104
0
                }
105
0
                break;
106
0
            case 'p':
107
0
                if (ossl_likely(strcmp("ad-mode", s + 1) == 0)) {
108
                    /* OSSL_SIGNATURE_PARAM_PAD_MODE */
109
0
                    if (ossl_unlikely(r->pad != NULL)) {
110
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
111
0
                                       "param %s is repeated", s);
112
0
                        return 0;
113
0
                    }
114
0
                    r->pad = (OSSL_PARAM *)p;
115
0
                }
116
0
                break;
117
0
            case 's':
118
0
                if (ossl_likely(strcmp("altlen", s + 1) == 0)) {
119
                    /* OSSL_SIGNATURE_PARAM_PSS_SALTLEN */
120
0
                    if (ossl_unlikely(r->slen != NULL)) {
121
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
122
0
                                       "param %s is repeated", s);
123
0
                        return 0;
124
0
                    }
125
0
                    r->slen = (OSSL_PARAM *)p;
126
0
                }
127
0
                break;
128
0
            case 'v':
129
# if defined(FIPS_MODULE)
130
                if (ossl_likely(strcmp("erify-message", s + 1) == 0)) {
131
                    /* OSSL_SIGNATURE_PARAM_FIPS_VERIFY_MESSAGE */
132
                    if (ossl_unlikely(r->verify != NULL)) {
133
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
134
                                       "param %s is repeated", s);
135
                        return 0;
136
                    }
137
                    r->verify = (OSSL_PARAM *)p;
138
                }
139
# endif
140
0
                break;
141
0
            }
142
0
    return 1;
143
0
}
144
#endif
145
/* End of machine generated */
146
147
/* Machine generated by util/perl/OpenSSL/paramnames.pm */
148
#ifndef rsa_set_ctx_params_list
149
static const OSSL_PARAM rsa_set_ctx_params_list[] = {
150
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_DIGEST, NULL, 0),
151
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_PROPERTIES, NULL, 0),
152
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_PAD_MODE, NULL, 0),
153
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_PAD_MODE, NULL),
154
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_MGF1_DIGEST, NULL, 0),
155
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_MGF1_PROPERTIES, NULL, 0),
156
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_PSS_SALTLEN, NULL, 0),
157
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_PSS_SALTLEN, NULL),
158
# if defined(FIPS_MODULE)
159
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_KEY_CHECK, NULL),
160
# endif
161
# if defined(FIPS_MODULE)
162
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_DIGEST_CHECK, NULL),
163
# endif
164
# if defined(FIPS_MODULE)
165
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_RSA_PSS_SALTLEN_CHECK, NULL),
166
# endif
167
# if defined(FIPS_MODULE)
168
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_SIGN_X931_PAD_CHECK, NULL),
169
# endif
170
    OSSL_PARAM_END
171
};
172
#endif
173
174
#ifndef rsa_set_ctx_params_st
175
struct rsa_set_ctx_params_st {
176
    OSSL_PARAM *digest;
177
# if defined(FIPS_MODULE)
178
    OSSL_PARAM *ind_d;
179
# endif
180
# if defined(FIPS_MODULE)
181
    OSSL_PARAM *ind_k;
182
# endif
183
# if defined(FIPS_MODULE)
184
    OSSL_PARAM *ind_slen;
185
# endif
186
# if defined(FIPS_MODULE)
187
    OSSL_PARAM *ind_xpad;
188
# endif
189
    OSSL_PARAM *mgf1;
190
    OSSL_PARAM *mgf1pq;
191
    OSSL_PARAM *pad;
192
    OSSL_PARAM *propq;
193
    OSSL_PARAM *slen;
194
};
195
#endif
196
197
#ifndef rsa_set_ctx_params_decoder
198
static int rsa_set_ctx_params_decoder
199
    (const OSSL_PARAM *p, struct rsa_set_ctx_params_st *r, int *count)
200
0
{
201
0
    const char *s;
202
203
0
    *count = 0;
204
0
    memset(r, 0, sizeof(*r));
205
0
    if (p != NULL)
206
0
        for (; (s = p->key) != NULL; p++)
207
0
            switch(s[0]) {
208
0
            default:
209
0
                break;
210
0
            case 'd':
211
0
                switch(s[1]) {
212
0
                default:
213
0
                    break;
214
0
                case 'i':
215
0
                    switch(s[2]) {
216
0
                    default:
217
0
                        break;
218
0
                    case 'g':
219
0
                        switch(s[3]) {
220
0
                        default:
221
0
                            break;
222
0
                        case 'e':
223
0
                            switch(s[4]) {
224
0
                            default:
225
0
                                break;
226
0
                            case 's':
227
0
                                switch(s[5]) {
228
0
                                default:
229
0
                                    break;
230
0
                                case 't':
231
0
                                    switch(s[6]) {
232
0
                                    default:
233
0
                                        break;
234
0
                                    case '-':
235
# if defined(FIPS_MODULE)
236
                                        if (ossl_likely(strcmp("check", s + 7) == 0)) {
237
                                            /* OSSL_SIGNATURE_PARAM_FIPS_DIGEST_CHECK */
238
                                            if (ossl_unlikely(r->ind_d != NULL)) {
239
                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
240
                                                               "param %s is repeated", s);
241
                                                return 0;
242
                                            }
243
                                            ++*count;
244
                                            r->ind_d = (OSSL_PARAM *)p;
245
                                        }
246
# endif
247
0
                                        break;
248
0
                                    case '\0':
249
0
                                        if (ossl_unlikely(r->digest != NULL)) {
250
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
251
0
                                                           "param %s is repeated", s);
252
0
                                            return 0;
253
0
                                        }
254
0
                                        ++*count;
255
0
                                        r->digest = (OSSL_PARAM *)p;
256
0
                                    }
257
0
                                }
258
0
                            }
259
0
                        }
260
0
                    }
261
0
                }
262
0
                break;
263
0
            case 'k':
264
# if defined(FIPS_MODULE)
265
                if (ossl_likely(strcmp("ey-check", s + 1) == 0)) {
266
                    /* OSSL_SIGNATURE_PARAM_FIPS_KEY_CHECK */
267
                    if (ossl_unlikely(r->ind_k != NULL)) {
268
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
269
                                       "param %s is repeated", s);
270
                        return 0;
271
                    }
272
                    ++*count;
273
                    r->ind_k = (OSSL_PARAM *)p;
274
                }
275
# endif
276
0
                break;
277
0
            case 'm':
278
0
                switch(s[1]) {
279
0
                default:
280
0
                    break;
281
0
                case 'g':
282
0
                    switch(s[2]) {
283
0
                    default:
284
0
                        break;
285
0
                    case 'f':
286
0
                        switch(s[3]) {
287
0
                        default:
288
0
                            break;
289
0
                        case '1':
290
0
                            switch(s[4]) {
291
0
                            default:
292
0
                                break;
293
0
                            case '-':
294
0
                                switch(s[5]) {
295
0
                                default:
296
0
                                    break;
297
0
                                case 'd':
298
0
                                    if (ossl_likely(strcmp("igest", s + 6) == 0)) {
299
                                        /* OSSL_SIGNATURE_PARAM_MGF1_DIGEST */
300
0
                                        if (ossl_unlikely(r->mgf1 != NULL)) {
301
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
302
0
                                                           "param %s is repeated", s);
303
0
                                            return 0;
304
0
                                        }
305
0
                                        ++*count;
306
0
                                        r->mgf1 = (OSSL_PARAM *)p;
307
0
                                    }
308
0
                                    break;
309
0
                                case 'p':
310
0
                                    if (ossl_likely(strcmp("roperties", s + 6) == 0)) {
311
                                        /* OSSL_SIGNATURE_PARAM_MGF1_PROPERTIES */
312
0
                                        if (ossl_unlikely(r->mgf1pq != NULL)) {
313
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
314
0
                                                           "param %s is repeated", s);
315
0
                                            return 0;
316
0
                                        }
317
0
                                        ++*count;
318
0
                                        r->mgf1pq = (OSSL_PARAM *)p;
319
0
                                    }
320
0
                                }
321
0
                            }
322
0
                        }
323
0
                    }
324
0
                }
325
0
                break;
326
0
            case 'p':
327
0
                switch(s[1]) {
328
0
                default:
329
0
                    break;
330
0
                case 'a':
331
0
                    if (ossl_likely(strcmp("d-mode", s + 2) == 0)) {
332
                        /* OSSL_SIGNATURE_PARAM_PAD_MODE */
333
0
                        if (ossl_unlikely(r->pad != NULL)) {
334
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
335
0
                                           "param %s is repeated", s);
336
0
                            return 0;
337
0
                        }
338
0
                        ++*count;
339
0
                        r->pad = (OSSL_PARAM *)p;
340
0
                    }
341
0
                    break;
342
0
                case 'r':
343
0
                    if (ossl_likely(strcmp("operties", s + 2) == 0)) {
344
                        /* OSSL_SIGNATURE_PARAM_PROPERTIES */
345
0
                        if (ossl_unlikely(r->propq != NULL)) {
346
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
347
0
                                           "param %s is repeated", s);
348
0
                            return 0;
349
0
                        }
350
0
                        ++*count;
351
0
                        r->propq = (OSSL_PARAM *)p;
352
0
                    }
353
0
                }
354
0
                break;
355
0
            case 'r':
356
# if defined(FIPS_MODULE)
357
                if (ossl_likely(strcmp("sa-pss-saltlen-check", s + 1) == 0)) {
358
                    /* OSSL_SIGNATURE_PARAM_FIPS_RSA_PSS_SALTLEN_CHECK */
359
                    if (ossl_unlikely(r->ind_slen != NULL)) {
360
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
361
                                       "param %s is repeated", s);
362
                        return 0;
363
                    }
364
                    ++*count;
365
                    r->ind_slen = (OSSL_PARAM *)p;
366
                }
367
# endif
368
0
                break;
369
0
            case 's':
370
0
                switch(s[1]) {
371
0
                default:
372
0
                    break;
373
0
                case 'a':
374
0
                    if (ossl_likely(strcmp("ltlen", s + 2) == 0)) {
375
                        /* OSSL_SIGNATURE_PARAM_PSS_SALTLEN */
376
0
                        if (ossl_unlikely(r->slen != NULL)) {
377
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
378
0
                                           "param %s is repeated", s);
379
0
                            return 0;
380
0
                        }
381
0
                        ++*count;
382
0
                        r->slen = (OSSL_PARAM *)p;
383
0
                    }
384
0
                    break;
385
0
                case 'i':
386
# if defined(FIPS_MODULE)
387
                    if (ossl_likely(strcmp("gn-x931-pad-check", s + 2) == 0)) {
388
                        /* OSSL_SIGNATURE_PARAM_FIPS_SIGN_X931_PAD_CHECK */
389
                        if (ossl_unlikely(r->ind_xpad != NULL)) {
390
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
391
                                           "param %s is repeated", s);
392
                            return 0;
393
                        }
394
                        ++*count;
395
                        r->ind_xpad = (OSSL_PARAM *)p;
396
                    }
397
# endif
398
0
                    break;
399
0
                }
400
0
                break;
401
0
            }
402
0
    return 1;
403
0
}
404
#endif
405
/* End of machine generated */
406
407
/* Machine generated by util/perl/OpenSSL/paramnames.pm */
408
#ifndef rsa_set_ctx_params_no_digest_list
409
static const OSSL_PARAM rsa_set_ctx_params_no_digest_list[] = {
410
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_PAD_MODE, NULL, 0),
411
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_PAD_MODE, NULL),
412
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_MGF1_DIGEST, NULL, 0),
413
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_MGF1_PROPERTIES, NULL, 0),
414
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_PSS_SALTLEN, NULL, 0),
415
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_PSS_SALTLEN, NULL),
416
# if defined(FIPS_MODULE)
417
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_KEY_CHECK, NULL),
418
# endif
419
# if defined(FIPS_MODULE)
420
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_DIGEST_CHECK, NULL),
421
# endif
422
# if defined(FIPS_MODULE)
423
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_RSA_PSS_SALTLEN_CHECK, NULL),
424
# endif
425
# if defined(FIPS_MODULE)
426
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_SIGN_X931_PAD_CHECK, NULL),
427
# endif
428
    OSSL_PARAM_END
429
};
430
#endif
431
432
#ifndef rsa_set_ctx_params_no_digest_st
433
struct rsa_set_ctx_params_no_digest_st {
434
# if defined(FIPS_MODULE)
435
    OSSL_PARAM *ind_d;
436
# endif
437
# if defined(FIPS_MODULE)
438
    OSSL_PARAM *ind_k;
439
# endif
440
# if defined(FIPS_MODULE)
441
    OSSL_PARAM *ind_slen;
442
# endif
443
# if defined(FIPS_MODULE)
444
    OSSL_PARAM *ind_xpad;
445
# endif
446
    OSSL_PARAM *mgf1;
447
    OSSL_PARAM *mgf1pq;
448
    OSSL_PARAM *pad;
449
    OSSL_PARAM *slen;
450
};
451
#endif
452
453
#ifndef rsa_set_ctx_params_no_digest_decoder
454
static int rsa_set_ctx_params_no_digest_decoder
455
    (const OSSL_PARAM *p, struct rsa_set_ctx_params_no_digest_st *r, int *count)
456
0
{
457
0
    const char *s;
458
459
0
    *count = 0;
460
0
    memset(r, 0, sizeof(*r));
461
0
    if (p != NULL)
462
0
        for (; (s = p->key) != NULL; p++)
463
0
            switch(s[0]) {
464
0
            default:
465
0
                break;
466
0
            case 'd':
467
# if defined(FIPS_MODULE)
468
                if (ossl_likely(strcmp("igest-check", s + 1) == 0)) {
469
                    /* OSSL_SIGNATURE_PARAM_FIPS_DIGEST_CHECK */
470
                    if (ossl_unlikely(r->ind_d != NULL)) {
471
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
472
                                       "param %s is repeated", s);
473
                        return 0;
474
                    }
475
                    ++*count;
476
                    r->ind_d = (OSSL_PARAM *)p;
477
                }
478
# endif
479
0
                break;
480
0
            case 'k':
481
# if defined(FIPS_MODULE)
482
                if (ossl_likely(strcmp("ey-check", s + 1) == 0)) {
483
                    /* OSSL_SIGNATURE_PARAM_FIPS_KEY_CHECK */
484
                    if (ossl_unlikely(r->ind_k != NULL)) {
485
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
486
                                       "param %s is repeated", s);
487
                        return 0;
488
                    }
489
                    ++*count;
490
                    r->ind_k = (OSSL_PARAM *)p;
491
                }
492
# endif
493
0
                break;
494
0
            case 'm':
495
0
                switch(s[1]) {
496
0
                default:
497
0
                    break;
498
0
                case 'g':
499
0
                    switch(s[2]) {
500
0
                    default:
501
0
                        break;
502
0
                    case 'f':
503
0
                        switch(s[3]) {
504
0
                        default:
505
0
                            break;
506
0
                        case '1':
507
0
                            switch(s[4]) {
508
0
                            default:
509
0
                                break;
510
0
                            case '-':
511
0
                                switch(s[5]) {
512
0
                                default:
513
0
                                    break;
514
0
                                case 'd':
515
0
                                    if (ossl_likely(strcmp("igest", s + 6) == 0)) {
516
                                        /* OSSL_SIGNATURE_PARAM_MGF1_DIGEST */
517
0
                                        if (ossl_unlikely(r->mgf1 != NULL)) {
518
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
519
0
                                                           "param %s is repeated", s);
520
0
                                            return 0;
521
0
                                        }
522
0
                                        ++*count;
523
0
                                        r->mgf1 = (OSSL_PARAM *)p;
524
0
                                    }
525
0
                                    break;
526
0
                                case 'p':
527
0
                                    if (ossl_likely(strcmp("roperties", s + 6) == 0)) {
528
                                        /* OSSL_SIGNATURE_PARAM_MGF1_PROPERTIES */
529
0
                                        if (ossl_unlikely(r->mgf1pq != NULL)) {
530
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
531
0
                                                           "param %s is repeated", s);
532
0
                                            return 0;
533
0
                                        }
534
0
                                        ++*count;
535
0
                                        r->mgf1pq = (OSSL_PARAM *)p;
536
0
                                    }
537
0
                                }
538
0
                            }
539
0
                        }
540
0
                    }
541
0
                }
542
0
                break;
543
0
            case 'p':
544
0
                if (ossl_likely(strcmp("ad-mode", s + 1) == 0)) {
545
                    /* OSSL_SIGNATURE_PARAM_PAD_MODE */
546
0
                    if (ossl_unlikely(r->pad != NULL)) {
547
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
548
0
                                       "param %s is repeated", s);
549
0
                        return 0;
550
0
                    }
551
0
                    ++*count;
552
0
                    r->pad = (OSSL_PARAM *)p;
553
0
                }
554
0
                break;
555
0
            case 'r':
556
# if defined(FIPS_MODULE)
557
                if (ossl_likely(strcmp("sa-pss-saltlen-check", s + 1) == 0)) {
558
                    /* OSSL_SIGNATURE_PARAM_FIPS_RSA_PSS_SALTLEN_CHECK */
559
                    if (ossl_unlikely(r->ind_slen != NULL)) {
560
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
561
                                       "param %s is repeated", s);
562
                        return 0;
563
                    }
564
                    ++*count;
565
                    r->ind_slen = (OSSL_PARAM *)p;
566
                }
567
# endif
568
0
                break;
569
0
            case 's':
570
0
                switch(s[1]) {
571
0
                default:
572
0
                    break;
573
0
                case 'a':
574
0
                    if (ossl_likely(strcmp("ltlen", s + 2) == 0)) {
575
                        /* OSSL_SIGNATURE_PARAM_PSS_SALTLEN */
576
0
                        if (ossl_unlikely(r->slen != NULL)) {
577
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
578
0
                                           "param %s is repeated", s);
579
0
                            return 0;
580
0
                        }
581
0
                        ++*count;
582
0
                        r->slen = (OSSL_PARAM *)p;
583
0
                    }
584
0
                    break;
585
0
                case 'i':
586
# if defined(FIPS_MODULE)
587
                    if (ossl_likely(strcmp("gn-x931-pad-check", s + 2) == 0)) {
588
                        /* OSSL_SIGNATURE_PARAM_FIPS_SIGN_X931_PAD_CHECK */
589
                        if (ossl_unlikely(r->ind_xpad != NULL)) {
590
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
591
                                           "param %s is repeated", s);
592
                            return 0;
593
                        }
594
                        ++*count;
595
                        r->ind_xpad = (OSSL_PARAM *)p;
596
                    }
597
# endif
598
0
                    break;
599
0
                }
600
0
                break;
601
0
            }
602
0
    return 1;
603
0
}
604
#endif
605
/* End of machine generated */
606
607
/* Machine generated by util/perl/OpenSSL/paramnames.pm */
608
#ifndef rsa_sigalg_set_ctx_params_list
609
static const OSSL_PARAM rsa_sigalg_set_ctx_params_list[] = {
610
    OSSL_PARAM_octet_string(OSSL_SIGNATURE_PARAM_SIGNATURE, NULL, 0),
611
    OSSL_PARAM_END
612
};
613
#endif
614
615
#ifndef rsa_sigalg_set_ctx_params_st
616
struct rsa_sigalg_set_ctx_params_st {
617
    OSSL_PARAM *sig;
618
};
619
#endif
620
621
#ifndef rsa_sigalg_set_ctx_params_decoder
622
static int rsa_sigalg_set_ctx_params_decoder
623
    (const OSSL_PARAM *p, struct rsa_sigalg_set_ctx_params_st *r)
624
0
{
625
0
    const char *s;
626
627
0
    memset(r, 0, sizeof(*r));
628
0
    if (p != NULL)
629
0
        for (; (s = p->key) != NULL; p++)
630
0
            if (ossl_likely(strcmp("signature", s + 0) == 0)) {
631
                /* OSSL_SIGNATURE_PARAM_SIGNATURE */
632
0
                if (ossl_unlikely(r->sig != NULL)) {
633
0
                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
634
0
                                   "param %s is repeated", s);
635
0
                    return 0;
636
0
                }
637
0
                r->sig = (OSSL_PARAM *)p;
638
0
            }
639
0
    return 1;
640
0
}
641
#endif
642
/* End of machine generated */