diff options
author | Rich Salz <rsalz@akamai.com> | 2021-02-08 14:03:35 -0500 |
---|---|---|
committer | Pauli <ppzgs1@gmail.com> | 2021-02-12 08:34:17 +1000 |
commit | d0190e11639956677747f6bc7bb5bcd610fd8600 (patch) | |
tree | 65b3b8fa880bd32563f4e59bc82624489673da6d /apps/pkeyutl.c | |
parent | 51e5df0ed01efa47335940425cc8744ecff1b6ae (diff) |
Process digest option after loading providers
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14135)
Diffstat (limited to 'apps/pkeyutl.c')
-rw-r--r-- | apps/pkeyutl.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/apps/pkeyutl.c b/apps/pkeyutl.c index 28c4401745..b70f9935b6 100644 --- a/apps/pkeyutl.c +++ b/apps/pkeyutl.c @@ -117,7 +117,7 @@ int pkeyutl_main(int argc, char **argv) size_t buf_outlen; const char *inkey = NULL; const char *peerkey = NULL; - const char *kdfalg = NULL; + const char *kdfalg = NULL, *digestname = NULL; int kdflen = 0; STACK_OF(OPENSSL_STRING) *pkeyopts = NULL; STACK_OF(OPENSSL_STRING) *pkeyopts_passin = NULL; @@ -244,8 +244,7 @@ int pkeyutl_main(int argc, char **argv) rawin = 1; break; case OPT_DIGEST: - if (!opt_md(opt_arg(), &md)) - goto end; + digestname = opt_arg(); break; } } @@ -256,6 +255,10 @@ int pkeyutl_main(int argc, char **argv) goto opthelp; app_RAND_load(); + if (digestname != NULL) { + if (!opt_md(digestname, &md)) + goto end; + } if (rawin && pkey_op != EVP_PKEY_OP_SIGN && pkey_op != EVP_PKEY_OP_VERIFY) { BIO_printf(bio_err, |