|
@@ -342,12 +342,13 @@ static size_t sskdf_size(KDF_SSKDF *ctx)
|
|
|
return (len <= 0) ? 0 : (size_t)len;
|
|
|
}
|
|
|
|
|
|
-static int sskdf_derive(void *vctx, unsigned char *key, size_t keylen)
|
|
|
+static int sskdf_derive(void *vctx, unsigned char *key, size_t keylen,
|
|
|
+ const OSSL_PARAM params[])
|
|
|
{
|
|
|
KDF_SSKDF *ctx = (KDF_SSKDF *)vctx;
|
|
|
const EVP_MD *md;
|
|
|
|
|
|
- if (!ossl_prov_is_running())
|
|
|
+ if (!ossl_prov_is_running() || !sskdf_set_ctx_params(ctx, params))
|
|
|
return 0;
|
|
|
if (ctx->secret == NULL) {
|
|
|
ERR_raise(ERR_LIB_PROV, PROV_R_MISSING_SECRET);
|
|
@@ -411,12 +412,13 @@ static int sskdf_derive(void *vctx, unsigned char *key, size_t keylen)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static int x963kdf_derive(void *vctx, unsigned char *key, size_t keylen)
|
|
|
+static int x963kdf_derive(void *vctx, unsigned char *key, size_t keylen,
|
|
|
+ const OSSL_PARAM params[])
|
|
|
{
|
|
|
KDF_SSKDF *ctx = (KDF_SSKDF *)vctx;
|
|
|
const EVP_MD *md;
|
|
|
|
|
|
- if (!ossl_prov_is_running())
|
|
|
+ if (!ossl_prov_is_running() || !sskdf_set_ctx_params(ctx, params))
|
|
|
return 0;
|
|
|
|
|
|
if (ctx->secret == NULL) {
|