X-Git-Url: https://git.openssl.org/?a=blobdiff_plain;f=apps%2Fdhparam.c;h=982b2db54936003aafe818b43dfd368852bde824;hb=f4d8b29a26cc3ee0ef37e2073c192bdbb2b796c4;hp=d3f96e61d27fca61a11ade0dc0de744e7544d4bf;hpb=fe75766c9c2919f649df7b3ad209df2bc5e56dd0;p=openssl.git diff --git a/apps/dhparam.c b/apps/dhparam.c index d3f96e61d2..982b2db549 100644 --- a/apps/dhparam.c +++ b/apps/dhparam.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -34,7 +34,7 @@ static EVP_PKEY *dsa_to_dh(EVP_PKEY *dh); static int gendh_cb(EVP_PKEY_CTX *ctx); typedef enum OPTION_choice { - OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, + OPT_COMMON, OPT_INFORM, OPT_OUTFORM, OPT_IN, OPT_OUT, OPT_ENGINE, OPT_CHECK, OPT_TEXT, OPT_NOOUT, OPT_DSAPARAM, OPT_2, OPT_3, OPT_5, @@ -158,8 +158,8 @@ int dhparam_main(int argc, char **argv) } else if (argc != 0) { goto opthelp; } - app_RAND_load(); - + if (!app_RAND_load()) + goto end; if (g && !num) num = DEFBITS; @@ -217,11 +217,7 @@ int dhparam_main(int argc, char **argv) } } - if (!EVP_PKEY_paramgen(ctx, &tmppkey)) { - BIO_printf(bio_err, "Error, %s generation failed\n", alg); - goto end; - } - + tmppkey = app_paramgen(ctx, alg); EVP_PKEY_CTX_free(ctx); ctx = NULL; if (dsaparam) { @@ -277,10 +273,9 @@ int dhparam_main(int argc, char **argv) */ keytype = "DHX"; /* - * BIO_reset() returns 0 for success for file BIOs only!!! - * This won't work for stdin (and never has done) - * TODO: We should fix this at some point - */ + * BIO_reset() returns 0 for success for file BIOs only!!! + * This won't work for stdin (and never has done) + */ if (BIO_reset(in) == 0) done = 0; } @@ -396,7 +391,7 @@ static EVP_PKEY *dsa_to_dh(EVP_PKEY *dh) err: EVP_PKEY_CTX_free(ctx); - OSSL_PARAM_BLD_free_params(params); + OSSL_PARAM_free(params); OSSL_PARAM_BLD_free(tmpl); BN_free(bn_p); BN_free(bn_q);