mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
Fix DH serializer import calls to use correct selection flags.
Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12698)
This commit is contained in:
parent
835b290016
commit
3fab56631f
@ -63,7 +63,7 @@ static int dh_param_der_data(void *ctx, const OSSL_PARAM params[],
|
||||
|
||||
/* ctx == provctx */
|
||||
if ((dh = dh_new(ctx)) != NULL
|
||||
&& dh_import(dh, OSSL_KEYMGMT_SELECT_ALL_PARAMETERS, params)
|
||||
&& dh_import(dh, OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS, params)
|
||||
&& dh_param_der(ctx, dh, out, cb, cbarg))
|
||||
ok = 1;
|
||||
dh_free(dh);
|
||||
@ -100,7 +100,7 @@ static int dh_param_pem_data(void *ctx, const OSSL_PARAM params[],
|
||||
|
||||
/* ctx == provctx */
|
||||
if ((dh = dh_new(ctx)) != NULL
|
||||
&& dh_import(dh, OSSL_KEYMGMT_SELECT_ALL_PARAMETERS, params)
|
||||
&& dh_import(dh, OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS, params)
|
||||
&& dh_param_pem(ctx, dh, out, cb, cbarg))
|
||||
ok = 1;
|
||||
dh_free(dh);
|
||||
@ -137,7 +137,7 @@ static int dh_param_print_data(void *ctx, const OSSL_PARAM params[],
|
||||
|
||||
/* ctx == provctx */
|
||||
if ((dh = dh_new(ctx)) != NULL
|
||||
&& dh_import(dh, OSSL_KEYMGMT_SELECT_ALL_PARAMETERS, params)
|
||||
&& dh_import(dh, OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS, params)
|
||||
&& dh_param_print(ctx, dh, out, cb, cbarg))
|
||||
ok = 1;
|
||||
dh_free(dh);
|
||||
|
@ -25,6 +25,9 @@
|
||||
#include "prov/provider_ctx.h"
|
||||
#include "encoder_local.h"
|
||||
|
||||
#define DH_SELECT_PRIVATE_IMPORTABLE \
|
||||
(OSSL_KEYMGMT_SELECT_KEYPAIR | OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS)
|
||||
|
||||
static OSSL_FUNC_encoder_newctx_fn dh_priv_newctx;
|
||||
static OSSL_FUNC_encoder_freectx_fn dh_priv_freectx;
|
||||
static OSSL_FUNC_encoder_set_ctx_params_fn dh_priv_set_ctx_params;
|
||||
@ -132,7 +135,7 @@ static int dh_priv_der_data(void *vctx, const OSSL_PARAM params[],
|
||||
DH *dh;
|
||||
|
||||
if ((dh = dh_new(ctx->provctx)) != NULL
|
||||
&& dh_import(dh, OSSL_KEYMGMT_SELECT_KEYPAIR, params)
|
||||
&& dh_import(dh, DH_SELECT_PRIVATE_IMPORTABLE, params)
|
||||
&& dh_priv_der(ctx, dh, out, cb, cbarg))
|
||||
ok = 1;
|
||||
dh_free(dh);
|
||||
@ -178,7 +181,7 @@ static int dh_pem_priv_data(void *vctx, const OSSL_PARAM params[],
|
||||
DH *dh;
|
||||
|
||||
if ((dh = dh_new(ctx->provctx)) != NULL
|
||||
&& dh_import(dh, OSSL_KEYMGMT_SELECT_KEYPAIR, params)
|
||||
&& dh_import(dh, DH_SELECT_PRIVATE_IMPORTABLE, params)
|
||||
&& dh_pem_priv(ctx->provctx, dh, out, cb, cbarg))
|
||||
ok = 1;
|
||||
dh_free(dh);
|
||||
@ -235,7 +238,7 @@ static int dh_priv_print_data(void *vctx, const OSSL_PARAM params[],
|
||||
DH *dh;
|
||||
|
||||
if ((dh = dh_new(ctx->provctx)) != NULL
|
||||
&& dh_import(dh, OSSL_KEYMGMT_SELECT_KEYPAIR, params)
|
||||
&& dh_import(dh, DH_SELECT_PRIVATE_IMPORTABLE, params)
|
||||
&& dh_priv_print(ctx, dh, out, cb, cbarg))
|
||||
ok = 1;
|
||||
dh_free(dh);
|
||||
|
@ -34,6 +34,9 @@ static OSSL_FUNC_encoder_encode_object_fn dh_pub_pem;
|
||||
static OSSL_FUNC_encoder_encode_data_fn dh_pub_print_data;
|
||||
static OSSL_FUNC_encoder_encode_object_fn dh_pub_print;
|
||||
|
||||
#define DH_SELECT_PUBLIC_IMPORTABLE \
|
||||
(OSSL_KEYMGMT_SELECT_PUBLIC_KEY | OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS)
|
||||
|
||||
/* Public key : context */
|
||||
|
||||
/*
|
||||
@ -63,7 +66,7 @@ static int dh_pub_der_data(void *ctx, const OSSL_PARAM params[],
|
||||
|
||||
/* ctx == provctx */
|
||||
if ((dh = dh_new(ctx)) != NULL
|
||||
&& dh_import(dh, OSSL_KEYMGMT_SELECT_KEYPAIR, params)
|
||||
&& dh_import(dh, DH_SELECT_PUBLIC_IMPORTABLE, params)
|
||||
&& dh_pub_der(ctx, dh, out, cb, cbarg))
|
||||
ok = 1;
|
||||
dh_free(dh);
|
||||
@ -104,7 +107,7 @@ static int dh_pub_pem_data(void *ctx, const OSSL_PARAM params[],
|
||||
|
||||
/* ctx == provctx */
|
||||
if ((dh = dh_new(ctx)) != NULL
|
||||
&& dh_import(dh, OSSL_KEYMGMT_SELECT_KEYPAIR, params)
|
||||
&& dh_import(dh, DH_SELECT_PUBLIC_IMPORTABLE, params)
|
||||
&& dh_pub_pem(ctx, dh, out, cb, cbarg))
|
||||
ok = 1;
|
||||
dh_free(dh);
|
||||
@ -144,7 +147,7 @@ static int dh_pub_print_data(void *ctx, const OSSL_PARAM params[],
|
||||
|
||||
/* ctx == provctx */
|
||||
if ((dh = dh_new(ctx)) != NULL
|
||||
&& dh_import(dh, OSSL_KEYMGMT_SELECT_KEYPAIR, params)
|
||||
&& dh_import(dh, DH_SELECT_PUBLIC_IMPORTABLE, params)
|
||||
&& dh_pub_print(ctx, dh, out, cb, cbarg))
|
||||
ok = 1;
|
||||
dh_free(dh);
|
||||
|
Loading…
Reference in New Issue
Block a user