diff options
author | Clemens Lang <cllang@redhat.com> | 2022-07-01 15:35:22 +0200 |
---|---|---|
committer | Dmitry Belyavskiy <beldmit@gmail.com> | 2022-08-17 09:20:41 +0200 |
commit | 0185538799803a1a98823f42ac2402ede04f56da (patch) | |
tree | 86e4592ad136cf577b69f664abe270058525ae2e /apps/pkeyparam.c | |
parent | 2b8f687d7627a4b15bba6a820825944185980376 (diff) | |
download | openssl-new-0185538799803a1a98823f42ac2402ede04f56da.tar.gz |
APPS: pkeyparam: Support setting properties
The -provider and -propquery options did not work on pkeyparam. Fix this
and add tests that check that operations that would usually fail with
the FIPS provider work when run with
| -provider default -propquery '?fips!=yes'
See also 30b2c3592e8511b60d44f93eb657a1ecb3662c08, which previously
fixed the same problem in dsaparam and gendsa. See also the initial
report in https://bugzilla.redhat.com/show_bug.cgi?id=2094956.
Signed-off-by: Clemens Lang <cllang@redhat.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/18717)
Diffstat (limited to 'apps/pkeyparam.c')
-rw-r--r-- | apps/pkeyparam.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/apps/pkeyparam.c b/apps/pkeyparam.c index 3722be4bf6..4fefe69e6b 100644 --- a/apps/pkeyparam.c +++ b/apps/pkeyparam.c @@ -100,7 +100,8 @@ int pkeyparam_main(int argc, char **argv) out = bio_open_default(outfile, 'w', FORMAT_PEM); if (out == NULL) goto end; - pkey = PEM_read_bio_Parameters(in, NULL); + pkey = PEM_read_bio_Parameters_ex(in, NULL, app_get0_libctx(), + app_get0_propq()); if (pkey == NULL) { BIO_printf(bio_err, "Error reading parameters\n"); ERR_print_errors(bio_err); @@ -108,7 +109,11 @@ int pkeyparam_main(int argc, char **argv) } if (check) { - ctx = EVP_PKEY_CTX_new(pkey, e); + if (e == NULL) + ctx = EVP_PKEY_CTX_new_from_pkey(app_get0_libctx(), pkey, + app_get0_propq()); + else + ctx = EVP_PKEY_CTX_new(pkey, e); if (ctx == NULL) { ERR_print_errors(bio_err); goto end; |