summaryrefslogtreecommitdiffstats
path: root/crypto/evp/kem.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/evp/kem.c')
-rw-r--r--crypto/evp/kem.c15
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,