diff options
Diffstat (limited to 'src/usr.bin/openssl/dh.c')
| -rw-r--r-- | src/usr.bin/openssl/dh.c | 54 |
1 files changed, 2 insertions, 52 deletions
diff --git a/src/usr.bin/openssl/dh.c b/src/usr.bin/openssl/dh.c index a4c02235f2..d7c7d2db91 100644 --- a/src/usr.bin/openssl/dh.c +++ b/src/usr.bin/openssl/dh.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: dh.c,v 1.15 2023/03/06 14:32:05 tb Exp $ */ | 1 | /* $OpenBSD: dh.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 | * |
| @@ -75,7 +75,6 @@ | |||
| 75 | #include <openssl/x509.h> | 75 | #include <openssl/x509.h> |
| 76 | 76 | ||
| 77 | static struct { | 77 | static struct { |
| 78 | int C; | ||
| 79 | int check; | 78 | int check; |
| 80 | char *infile; | 79 | char *infile; |
| 81 | int informat; | 80 | int informat; |
| @@ -87,12 +86,6 @@ static struct { | |||
| 87 | 86 | ||
| 88 | static const struct option dh_options[] = { | 87 | static const struct option dh_options[] = { |
| 89 | { | 88 | { |
| 90 | .name = "C", | ||
| 91 | .desc = "Convert DH parameters into C code", | ||
| 92 | .type = OPTION_FLAG, | ||
| 93 | .opt.flag = &cfg.C, | ||
| 94 | }, | ||
| 95 | { | ||
| 96 | .name = "check", | 89 | .name = "check", |
| 97 | .desc = "Check the DH parameters", | 90 | .desc = "Check the DH parameters", |
| 98 | .type = OPTION_FLAG, | 91 | .type = OPTION_FLAG, |
| @@ -145,7 +138,7 @@ static void | |||
| 145 | dh_usage(void) | 138 | dh_usage(void) |
| 146 | { | 139 | { |
| 147 | fprintf(stderr, | 140 | fprintf(stderr, |
| 148 | "usage: dh [-C] [-check] [-in file] [-inform format]\n" | 141 | "usage: dh [-check] [-in file] [-inform format]\n" |
| 149 | " [-noout] [-out file] [-outform format] [-text]\n\n"); | 142 | " [-noout] [-out file] [-outform format] [-text]\n\n"); |
| 150 | options_usage(dh_options); | 143 | options_usage(dh_options); |
| 151 | } | 144 | } |
| @@ -228,49 +221,6 @@ dh_main(int argc, char **argv) | |||
| 228 | if (i == 0) | 221 | if (i == 0) |
| 229 | printf("DH parameters appear to be ok.\n"); | 222 | printf("DH parameters appear to be ok.\n"); |
| 230 | } | 223 | } |
| 231 | if (cfg.C) { | ||
| 232 | unsigned char *data; | ||
| 233 | int len, l, bits; | ||
| 234 | |||
| 235 | len = BN_num_bytes(DH_get0_p(dh)); | ||
| 236 | bits = BN_num_bits(DH_get0_p(dh)); | ||
| 237 | data = malloc(len); | ||
| 238 | if (data == NULL) { | ||
| 239 | perror("malloc"); | ||
| 240 | goto end; | ||
| 241 | } | ||
| 242 | l = BN_bn2bin(DH_get0_p(dh), data); | ||
| 243 | printf("static unsigned char dh%d_p[] = {", bits); | ||
| 244 | for (i = 0; i < l; i++) { | ||
| 245 | if ((i % 12) == 0) | ||
| 246 | printf("\n\t"); | ||
| 247 | printf("0x%02X, ", data[i]); | ||
| 248 | } | ||
| 249 | printf("\n\t};\n"); | ||
| 250 | |||
| 251 | l = BN_bn2bin(DH_get0_g(dh), data); | ||
| 252 | printf("static unsigned char dh%d_g[] = {", bits); | ||
| 253 | for (i = 0; i < l; i++) { | ||
| 254 | if ((i % 12) == 0) | ||
| 255 | printf("\n\t"); | ||
| 256 | printf("0x%02X, ", data[i]); | ||
| 257 | } | ||
| 258 | printf("\n\t};\n\n"); | ||
| 259 | |||
| 260 | printf("DH *get_dh%d()\n\t{\n", bits); | ||
| 261 | printf("\tDH *dh;\n"); | ||
| 262 | printf("\tBIGNUM *p = NULL, *g = NULL;\n\n"); | ||
| 263 | printf("\tif ((dh = DH_new()) == NULL) return(NULL);\n"); | ||
| 264 | printf("\tp = BN_bin2bn(dh%d_p, sizeof(dh%d_p), NULL);\n", | ||
| 265 | bits, bits); | ||
| 266 | printf("\tg = BN_bin2bn(dh%d_g, sizeof(dh%d_g), NULL);\n", | ||
| 267 | bits, bits); | ||
| 268 | printf("\tif (p == NULL || g == NULL)\n"); | ||
| 269 | printf("\t\t{ BN_free(p); BN_free(q); DH_free(dh); return(NULL); }\n"); | ||
| 270 | printf("\tDH_set0_pqg(dh, p, NULL, g);\n"); | ||
| 271 | printf("\treturn(dh);\n\t}\n"); | ||
| 272 | free(data); | ||
| 273 | } | ||
| 274 | if (!cfg.noout) { | 224 | if (!cfg.noout) { |
| 275 | if (cfg.outformat == FORMAT_ASN1) | 225 | if (cfg.outformat == FORMAT_ASN1) |
| 276 | i = i2d_DHparams_bio(out, dh); | 226 | i = i2d_DHparams_bio(out, dh); |
