Coverage Report

Created: 2026-09-12 06:55

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/openssl41/providers/implementations/signature/dsa_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
#include <string.h>
14
#include <openssl/params.h>
15
#include <openssl/e_os2.h>
16
#include "internal/common.h"
17
#include "prov/proverr.h"
18
19
/* Machine generated */
20
#ifndef dsa_get_ctx_params_list
21
static ossl_unused const OSSL_PARAM dsa_get_ctx_params_list[] = {
22
    OSSL_PARAM_octet_string(OSSL_SIGNATURE_PARAM_ALGORITHM_ID, NULL, 0),
23
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_DIGEST, NULL, 0),
24
    OSSL_PARAM_uint(OSSL_SIGNATURE_PARAM_NONCE_TYPE, NULL),
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 dsa_get_ctx_params_st
33
struct dsa_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 *nonce;
40
};
41
#endif
42
43
#ifndef dsa_get_ctx_params_decoder
44
static ossl_unused int dsa_get_ctx_params_decoder
45
    (const OSSL_PARAM *p, struct dsa_get_ctx_params_st *r)
46
0
{
47
0
    const char *s;
48
49
0
    memset(r, 0, sizeof(*r));
50
0
    if (p != NULL)
51
0
        for (; (s = p->key) != NULL; p++)
52
0
            switch(s[0]) {
53
0
            default:
54
0
                break;
55
0
            case 'a':
56
0
                if (ossl_likely(strcmp("lgorithm-id", s + 1) == 0)) {
57
                    /* OSSL_SIGNATURE_PARAM_ALGORITHM_ID */
58
0
                    if (ossl_unlikely(r->algid != NULL)) {
59
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
60
0
                                       "param %s is repeated", s);
61
0
                        return 0;
62
0
                    }
63
0
                    r->algid = (OSSL_PARAM *)p;
64
0
                }
65
0
                break;
66
0
            case 'd':
67
0
                if (ossl_likely(strcmp("igest", s + 1) == 0)) {
68
                    /* OSSL_SIGNATURE_PARAM_DIGEST */
69
0
                    if (ossl_unlikely(r->digest != NULL)) {
70
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
71
0
                                       "param %s is repeated", s);
72
0
                        return 0;
73
0
                    }
74
0
                    r->digest = (OSSL_PARAM *)p;
75
0
                }
76
0
                break;
77
0
            case 'f':
78
# if defined(FIPS_MODULE)
79
                if (ossl_likely(strcmp("ips-indicator", s + 1) == 0)) {
80
                    /* OSSL_SIGNATURE_PARAM_FIPS_APPROVED_INDICATOR */
81
                    if (ossl_unlikely(r->ind != NULL)) {
82
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
83
                                       "param %s is repeated", s);
84
                        return 0;
85
                    }
86
                    r->ind = (OSSL_PARAM *)p;
87
                }
88
# endif
89
0
                break;
90
0
            case 'n':
91
0
                if (ossl_likely(strcmp("once-type", s + 1) == 0)) {
92
                    /* OSSL_SIGNATURE_PARAM_NONCE_TYPE */
93
0
                    if (ossl_unlikely(r->nonce != NULL)) {
94
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
95
0
                                       "param %s is repeated", s);
96
0
                        return 0;
97
0
                    }
98
0
                    r->nonce = (OSSL_PARAM *)p;
99
0
                }
100
0
            }
101
0
    return 1;
102
0
}
103
#endif
104
/* End of machine generated */
105
106
/* Machine generated */
107
#ifndef dsa_set_ctx_params_list
108
static ossl_unused const OSSL_PARAM dsa_set_ctx_params_list[] = {
109
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_DIGEST, NULL, 0),
110
    OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_PROPERTIES, NULL, 0),
111
    OSSL_PARAM_uint(OSSL_SIGNATURE_PARAM_NONCE_TYPE, NULL),
112
# if defined(FIPS_MODULE)
113
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_KEY_CHECK, NULL),
114
# endif
115
# if defined(FIPS_MODULE)
116
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_DIGEST_CHECK, NULL),
117
# endif
118
# if defined(FIPS_MODULE)
119
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_SIGN_CHECK, NULL),
120
# endif
121
    OSSL_PARAM_END
122
};
123
#endif
124
125
#ifndef dsa_set_ctx_params_st
126
struct dsa_set_ctx_params_st {
127
    OSSL_PARAM *digest;
128
# if defined(FIPS_MODULE)
129
    OSSL_PARAM *ind_d;
130
# endif
131
# if defined(FIPS_MODULE)
132
    OSSL_PARAM *ind_k;
133
# endif
134
# if defined(FIPS_MODULE)
135
    OSSL_PARAM *ind_sign;
136
# endif
137
    OSSL_PARAM *nonce;
138
    OSSL_PARAM *propq;
139
};
140
#endif
141
142
#ifndef dsa_set_ctx_params_decoder
143
static ossl_unused int dsa_set_ctx_params_decoder
144
    (const OSSL_PARAM *p, struct dsa_set_ctx_params_st *r)
145
3.43k
{
146
3.43k
    const char *s;
147
148
3.43k
    memset(r, 0, sizeof(*r));
149
3.43k
    if (p != NULL)
150
1.78k
        for (; (s = p->key) != NULL; p++)
151
891
            switch(s[0]) {
152
0
            default:
153
0
                break;
154
891
            case 'd':
155
891
                switch(s[1]) {
156
0
                default:
157
0
                    break;
158
891
                case 'i':
159
891
                    switch(s[2]) {
160
0
                    default:
161
0
                        break;
162
891
                    case 'g':
163
891
                        switch(s[3]) {
164
0
                        default:
165
0
                            break;
166
891
                        case 'e':
167
891
                            switch(s[4]) {
168
0
                            default:
169
0
                                break;
170
891
                            case 's':
171
891
                                switch(s[5]) {
172
0
                                default:
173
0
                                    break;
174
891
                                case 't':
175
891
                                    switch(s[6]) {
176
0
                                    default:
177
0
                                        break;
178
0
                                    case '-':
179
# if defined(FIPS_MODULE)
180
                                        if (ossl_likely(strcmp("check", s + 7) == 0)) {
181
                                            /* OSSL_SIGNATURE_PARAM_FIPS_DIGEST_CHECK */
182
                                            if (ossl_unlikely(r->ind_d != NULL)) {
183
                                                ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
184
                                                               "param %s is repeated", s);
185
                                                return 0;
186
                                            }
187
                                            r->ind_d = (OSSL_PARAM *)p;
188
                                        }
189
# endif
190
0
                                        break;
191
891
                                    case '\0':
192
891
                                        if (ossl_unlikely(r->digest != NULL)) {
193
0
                                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
194
0
                                                           "param %s is repeated", s);
195
0
                                            return 0;
196
0
                                        }
197
891
                                        r->digest = (OSSL_PARAM *)p;
198
891
                                    }
199
891
                                }
200
891
                            }
201
891
                        }
202
891
                    }
203
891
                }
204
891
                break;
205
891
            case 'k':
206
# if defined(FIPS_MODULE)
207
                if (ossl_likely(strcmp("ey-check", s + 1) == 0)) {
208
                    /* OSSL_SIGNATURE_PARAM_FIPS_KEY_CHECK */
209
                    if (ossl_unlikely(r->ind_k != NULL)) {
210
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
211
                                       "param %s is repeated", s);
212
                        return 0;
213
                    }
214
                    r->ind_k = (OSSL_PARAM *)p;
215
                }
216
# endif
217
0
                break;
218
0
            case 'n':
219
0
                if (ossl_likely(strcmp("once-type", s + 1) == 0)) {
220
                    /* OSSL_SIGNATURE_PARAM_NONCE_TYPE */
221
0
                    if (ossl_unlikely(r->nonce != NULL)) {
222
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
223
0
                                       "param %s is repeated", s);
224
0
                        return 0;
225
0
                    }
226
0
                    r->nonce = (OSSL_PARAM *)p;
227
0
                }
228
0
                break;
229
0
            case 'p':
230
0
                if (ossl_likely(strcmp("roperties", s + 1) == 0)) {
231
                    /* OSSL_SIGNATURE_PARAM_PROPERTIES */
232
0
                    if (ossl_unlikely(r->propq != NULL)) {
233
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
234
0
                                       "param %s is repeated", s);
235
0
                        return 0;
236
0
                    }
237
0
                    r->propq = (OSSL_PARAM *)p;
238
0
                }
239
0
                break;
240
0
            case 's':
241
# if defined(FIPS_MODULE)
242
                if (ossl_likely(strcmp("ign-check", s + 1) == 0)) {
243
                    /* OSSL_SIGNATURE_PARAM_FIPS_SIGN_CHECK */
244
                    if (ossl_unlikely(r->ind_sign != NULL)) {
245
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
246
                                       "param %s is repeated", s);
247
                        return 0;
248
                    }
249
                    r->ind_sign = (OSSL_PARAM *)p;
250
                }
251
# endif
252
0
                break;
253
891
            }
254
3.43k
    return 1;
255
3.43k
}
256
#endif
257
/* End of machine generated */
258
259
/* Machine generated */
260
#ifndef dsa_sigalg_set_ctx_params_list
261
static ossl_unused const OSSL_PARAM dsa_sigalg_set_ctx_params_list[] = {
262
    OSSL_PARAM_octet_string(OSSL_SIGNATURE_PARAM_SIGNATURE, NULL, 0),
263
    OSSL_PARAM_uint(OSSL_SIGNATURE_PARAM_NONCE_TYPE, NULL),
264
# if defined(FIPS_MODULE)
265
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_KEY_CHECK, NULL),
266
# endif
267
# if defined(FIPS_MODULE)
268
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_DIGEST_CHECK, NULL),
269
# endif
270
# if defined(FIPS_MODULE)
271
    OSSL_PARAM_int(OSSL_SIGNATURE_PARAM_FIPS_SIGN_CHECK, NULL),
272
# endif
273
    OSSL_PARAM_END
274
};
275
#endif
276
277
#ifndef dsa_sigalg_set_ctx_params_st
278
struct dsa_sigalg_set_ctx_params_st {
279
# if defined(FIPS_MODULE)
280
    OSSL_PARAM *ind_d;
281
# endif
282
# if defined(FIPS_MODULE)
283
    OSSL_PARAM *ind_k;
284
# endif
285
# if defined(FIPS_MODULE)
286
    OSSL_PARAM *ind_sign;
287
# endif
288
    OSSL_PARAM *nonce;
289
    OSSL_PARAM *sig;
290
};
291
#endif
292
293
#ifndef dsa_sigalg_set_ctx_params_decoder
294
static ossl_unused int dsa_sigalg_set_ctx_params_decoder
295
    (const OSSL_PARAM *p, struct dsa_sigalg_set_ctx_params_st *r)
296
1.00k
{
297
1.00k
    const char *s;
298
299
1.00k
    memset(r, 0, sizeof(*r));
300
1.00k
    if (p != NULL)
301
2.01k
        for (; (s = p->key) != NULL; p++)
302
1.00k
            switch(s[0]) {
303
0
            default:
304
0
                break;
305
0
            case 'd':
306
# if defined(FIPS_MODULE)
307
                if (ossl_likely(strcmp("igest-check", s + 1) == 0)) {
308
                    /* OSSL_SIGNATURE_PARAM_FIPS_DIGEST_CHECK */
309
                    if (ossl_unlikely(r->ind_d != NULL)) {
310
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
311
                                       "param %s is repeated", s);
312
                        return 0;
313
                    }
314
                    r->ind_d = (OSSL_PARAM *)p;
315
                }
316
# endif
317
0
                break;
318
0
            case 'k':
319
# if defined(FIPS_MODULE)
320
                if (ossl_likely(strcmp("ey-check", s + 1) == 0)) {
321
                    /* OSSL_SIGNATURE_PARAM_FIPS_KEY_CHECK */
322
                    if (ossl_unlikely(r->ind_k != NULL)) {
323
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
324
                                       "param %s is repeated", s);
325
                        return 0;
326
                    }
327
                    r->ind_k = (OSSL_PARAM *)p;
328
                }
329
# endif
330
0
                break;
331
0
            case 'n':
332
0
                if (ossl_likely(strcmp("once-type", s + 1) == 0)) {
333
                    /* OSSL_SIGNATURE_PARAM_NONCE_TYPE */
334
0
                    if (ossl_unlikely(r->nonce != NULL)) {
335
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
336
0
                                       "param %s is repeated", s);
337
0
                        return 0;
338
0
                    }
339
0
                    r->nonce = (OSSL_PARAM *)p;
340
0
                }
341
0
                break;
342
1.00k
            case 's':
343
1.00k
                switch(s[1]) {
344
0
                default:
345
0
                    break;
346
1.00k
                case 'i':
347
1.00k
                    switch(s[2]) {
348
0
                    default:
349
0
                        break;
350
1.00k
                    case 'g':
351
1.00k
                        switch(s[3]) {
352
0
                        default:
353
0
                            break;
354
1.00k
                        case 'n':
355
1.00k
                            switch(s[4]) {
356
0
                            default:
357
0
                                break;
358
0
                            case '-':
359
# if defined(FIPS_MODULE)
360
                                if (ossl_likely(strcmp("check", s + 5) == 0)) {
361
                                    /* OSSL_SIGNATURE_PARAM_FIPS_SIGN_CHECK */
362
                                    if (ossl_unlikely(r->ind_sign != NULL)) {
363
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
364
                                                       "param %s is repeated", s);
365
                                        return 0;
366
                                    }
367
                                    r->ind_sign = (OSSL_PARAM *)p;
368
                                }
369
# endif
370
0
                                break;
371
1.00k
                            case 'a':
372
1.00k
                                if (ossl_likely(strcmp("ture", s + 5) == 0)) {
373
                                    /* OSSL_SIGNATURE_PARAM_SIGNATURE */
374
1.00k
                                    if (ossl_unlikely(r->sig != NULL)) {
375
0
                                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
376
0
                                                       "param %s is repeated", s);
377
0
                                        return 0;
378
0
                                    }
379
1.00k
                                    r->sig = (OSSL_PARAM *)p;
380
1.00k
                                }
381
1.00k
                            }
382
1.00k
                        }
383
1.00k
                    }
384
1.00k
                }
385
1.00k
            }
386
1.00k
    return 1;
387
1.00k
}
388
#endif
389
/* End of machine generated */