diff options
Diffstat (limited to 'src/usr.bin/openssl/dsaparam.c')
-rw-r--r-- | src/usr.bin/openssl/dsaparam.c | 65 |
1 files changed, 2 insertions, 63 deletions
diff --git a/src/usr.bin/openssl/dsaparam.c b/src/usr.bin/openssl/dsaparam.c index bc9ccd14d8..962f261210 100644 --- a/src/usr.bin/openssl/dsaparam.c +++ b/src/usr.bin/openssl/dsaparam.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: dsaparam.c,v 1.15 2023/03/06 14:32:06 tb Exp $ */ | 1 | /* $OpenBSD: dsaparam.c,v 1.16 2025/01/19 10:24:17 tb Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -80,7 +80,6 @@ | |||
80 | #include <openssl/x509.h> | 80 | #include <openssl/x509.h> |
81 | 81 | ||
82 | static struct { | 82 | static struct { |
83 | int C; | ||
84 | int genkey; | 83 | int genkey; |
85 | char *infile; | 84 | char *infile; |
86 | int informat; | 85 | int informat; |
@@ -92,12 +91,6 @@ static struct { | |||
92 | 91 | ||
93 | static const struct option dsaparam_options[] = { | 92 | static const struct option dsaparam_options[] = { |
94 | { | 93 | { |
95 | .name = "C", | ||
96 | .desc = "Convert DSA parameters into C code", | ||
97 | .type = OPTION_FLAG, | ||
98 | .opt.flag = &cfg.C, | ||
99 | }, | ||
100 | { | ||
101 | .name = "genkey", | 94 | .name = "genkey", |
102 | .desc = "Generate a DSA key", | 95 | .desc = "Generate a DSA key", |
103 | .type = OPTION_FLAG, | 96 | .type = OPTION_FLAG, |
@@ -150,7 +143,7 @@ static void | |||
150 | dsaparam_usage(void) | 143 | dsaparam_usage(void) |
151 | { | 144 | { |
152 | fprintf(stderr, | 145 | fprintf(stderr, |
153 | "usage: dsaparam [-C] [-genkey] [-in file]\n" | 146 | "usage: dsaparam [-genkey] [-in file]\n" |
154 | " [-inform format] [-noout] [-out file] [-outform format]\n" | 147 | " [-inform format] [-noout] [-out file] [-outform format]\n" |
155 | " [-text] [numbits]\n\n"); | 148 | " [-text] [numbits]\n\n"); |
156 | options_usage(dsaparam_options); | 149 | options_usage(dsaparam_options); |
@@ -253,60 +246,6 @@ dsaparam_main(int argc, char **argv) | |||
253 | if (cfg.text) { | 246 | if (cfg.text) { |
254 | DSAparams_print(out, dsa); | 247 | DSAparams_print(out, dsa); |
255 | } | 248 | } |
256 | if (cfg.C) { | ||
257 | unsigned char *data; | ||
258 | int l, len, bits_p; | ||
259 | |||
260 | len = BN_num_bytes(DSA_get0_p(dsa)); | ||
261 | bits_p = BN_num_bits(DSA_get0_p(dsa)); | ||
262 | data = malloc(len + 20); | ||
263 | if (data == NULL) { | ||
264 | perror("malloc"); | ||
265 | goto end; | ||
266 | } | ||
267 | l = BN_bn2bin(DSA_get0_p(dsa), data); | ||
268 | printf("static unsigned char dsa%d_p[] = {", bits_p); | ||
269 | for (i = 0; i < l; i++) { | ||
270 | if ((i % 12) == 0) | ||
271 | printf("\n\t"); | ||
272 | printf("0x%02X, ", data[i]); | ||
273 | } | ||
274 | printf("\n\t};\n"); | ||
275 | |||
276 | l = BN_bn2bin(DSA_get0_q(dsa), data); | ||
277 | printf("static unsigned char dsa%d_q[] = {", bits_p); | ||
278 | for (i = 0; i < l; i++) { | ||
279 | if ((i % 12) == 0) | ||
280 | printf("\n\t"); | ||
281 | printf("0x%02X, ", data[i]); | ||
282 | } | ||
283 | printf("\n\t};\n"); | ||
284 | |||
285 | l = BN_bn2bin(DSA_get0_g(dsa), data); | ||
286 | printf("static unsigned char dsa%d_g[] = {", bits_p); | ||
287 | for (i = 0; i < l; i++) { | ||
288 | if ((i % 12) == 0) | ||
289 | printf("\n\t"); | ||
290 | printf("0x%02X, ", data[i]); | ||
291 | } | ||
292 | free(data); | ||
293 | printf("\n\t};\n\n"); | ||
294 | |||
295 | printf("DSA *get_dsa%d()\n\t{\n", bits_p); | ||
296 | printf("\tBIGNUM *p = NULL, *q = NULL, *g = NULL;\n"); | ||
297 | printf("\tDSA *dsa;\n\n"); | ||
298 | printf("\tif ((dsa = DSA_new()) == NULL) return(NULL);\n"); | ||
299 | printf("\tp = BN_bin2bn(dsa%d_p, sizeof(dsa%d_p), NULL);\n", | ||
300 | bits_p, bits_p); | ||
301 | printf("\tq = BN_bin2bn(dsa%d_q, sizeof(dsa%d_q), NULL);\n", | ||
302 | bits_p, bits_p); | ||
303 | printf("\tg = BN_bin2bn(dsa%d_g, sizeof(dsa%d_g), NULL);\n", | ||
304 | bits_p, bits_p); | ||
305 | printf("\tif (p == NULL || q == NULL || g == NULL)\n"); | ||
306 | printf("\t\t{ BN_free(p); BN_free(q); BN_free(g); DSA_free(dsa); return(NULL); }\n"); | ||
307 | printf("\tDSA_set0_pqg(dsa, p, q, g);\n"); | ||
308 | printf("\treturn(dsa);\n\t}\n"); | ||
309 | } | ||
310 | if (!cfg.noout) { | 249 | if (!cfg.noout) { |
311 | if (cfg.outformat == FORMAT_ASN1) | 250 | if (cfg.outformat == FORMAT_ASN1) |
312 | i = i2d_DSAparams_bio(out, dsa); | 251 | i = i2d_DSAparams_bio(out, dsa); |