diff options
Diffstat (limited to 'crypto/evp/kem.c')
-rw-r--r-- | crypto/evp/kem.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/crypto/evp/kem.c b/crypto/evp/kem.c index 353c51a3ff..a4183e8311 100644 --- a/crypto/evp/kem.c +++ b/crypto/evp/kem.c @@ -16,7 +16,8 @@ #include "internal/provider.h" #include "evp_local.h" -static int evp_kem_init(EVP_PKEY_CTX *ctx, int operation) +static int evp_kem_init(EVP_PKEY_CTX *ctx, int operation, + const OSSL_PARAM params[]) { int ret = 0; EVP_KEM *kem = NULL; @@ -79,7 +80,7 @@ static int evp_kem_init(EVP_PKEY_CTX *ctx, int operation) ret = -2; goto err; } - ret = kem->encapsulate_init(ctx->op.encap.kemprovctx, provkey); + ret = kem->encapsulate_init(ctx->op.encap.kemprovctx, provkey, params); break; case EVP_PKEY_OP_DECAPSULATE: if (kem->decapsulate_init == NULL) { @@ -87,7 +88,7 @@ static int evp_kem_init(EVP_PKEY_CTX *ctx, int operation) ret = -2; goto err; } - ret = kem->decapsulate_init(ctx->op.encap.kemprovctx, provkey); + ret = kem->decapsulate_init(ctx->op.encap.kemprovctx, provkey, params); break; default: ERR_raise(ERR_LIB_EVP, EVP_R_INITIALIZATION_ERROR); @@ -104,9 +105,9 @@ static int evp_kem_init(EVP_PKEY_CTX *ctx, int operation) return ret; } -int EVP_PKEY_encapsulate_init(EVP_PKEY_CTX *ctx) +int EVP_PKEY_encapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]) { - return evp_kem_init(ctx, EVP_PKEY_OP_ENCAPSULATE); + return evp_kem_init(ctx, EVP_PKEY_OP_ENCAPSULATE, params); } int EVP_PKEY_encapsulate(EVP_PKEY_CTX *ctx, @@ -133,9 +134,9 @@ int EVP_PKEY_encapsulate(EVP_PKEY_CTX *ctx, out, outlen, secret, secretlen); } -int EVP_PKEY_decapsulate_init(EVP_PKEY_CTX *ctx) +int EVP_PKEY_decapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]) { - return evp_kem_init(ctx, EVP_PKEY_OP_DECAPSULATE); + return evp_kem_init(ctx, EVP_PKEY_OP_DECAPSULATE, params); } int EVP_PKEY_decapsulate(EVP_PKEY_CTX *ctx, |