summaryrefslogtreecommitdiffstats
path: root/crypto/encode_decode/encoder_pkey.c
diff options
context:
space:
mode:
authorTomas Mraz <tomas@openssl.org>2021-03-30 17:41:03 +0200
committerTomas Mraz <tomas@openssl.org>2021-04-01 14:43:11 +0200
commit78043fe898f4dac862a515f9a1b1bbe6dda22951 (patch)
treed225c147ebc0c8e74ffeb501de6af50039dc2f49 /crypto/encode_decode/encoder_pkey.c
parent5050fd5b3b7d18eec966469726180efb6c72c594 (diff)
Add "save-parameters" encoder parameter
The parameter makes the dsa key encoder to skip saving the DSA key parameters similarly to what the legacy dsa key encoder did. Fixes #14362 Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/14746)
Diffstat (limited to 'crypto/encode_decode/encoder_pkey.c')
-rw-r--r--crypto/encode_decode/encoder_pkey.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/crypto/encode_decode/encoder_pkey.c b/crypto/encode_decode/encoder_pkey.c
index 713aa44131..0c2207f54d 100644
--- a/crypto/encode_decode/encoder_pkey.c
+++ b/crypto/encode_decode/encoder_pkey.c
@@ -327,6 +327,14 @@ OSSL_ENCODER_CTX *OSSL_ENCODER_CTX_new_for_pkey(const EVP_PKEY *pkey,
&& OSSL_ENCODER_CTX_set_selection(ctx, selection)
&& ossl_encoder_ctx_setup_for_pkey(ctx, pkey, selection, propquery)
&& OSSL_ENCODER_CTX_add_extra(ctx, libctx, propquery)) {
+ OSSL_PARAM params[2] = { OSSL_PARAM_END, OSSL_PARAM_END };
+ int save_parameters = pkey->save_parameters;
+
+ params[0] = OSSL_PARAM_construct_int(OSSL_ENCODER_PARAM_SAVE_PARAMETERS,
+ &save_parameters);
+ /* ignoring error as this is only auxiliary parameter */
+ (void)OSSL_ENCODER_CTX_set_params(ctx, params);
+
OSSL_TRACE_BEGIN(ENCODER) {
BIO_printf(trc_out, "(ctx %p) Got %d encoders\n",
(void *)ctx, OSSL_ENCODER_CTX_get_num_encoders(ctx));