From: Pauli Date: Fri, 26 Feb 2021 00:05:46 +0000 (+1000) Subject: core: add param argument to KDF derive call X-Git-Tag: openssl-3.0.0-alpha13~118 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a9603292fb77349ba144f38612d88af07107396a;p=thirdparty%2Fopenssl.git core: add param argument to KDF derive call Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/14310) --- diff --git a/doc/man7/provider-kdf.pod b/doc/man7/provider-kdf.pod index 4d3d91a4e7b..0b13537e8d4 100644 --- a/doc/man7/provider-kdf.pod +++ b/doc/man7/provider-kdf.pod @@ -24,7 +24,8 @@ provider-kdf - The KDF library E-E provider functions /* Encryption/decryption */ int OSSL_FUNC_kdf_reset(void *kctx); - int OSSL_FUNC_kdf_derive(void *kctx, unsigned char *key, size_t keylen); + int OSSL_FUNC_kdf_derive(void *kctx, unsigned char *key, size_t keylen, + const OSSL_PARAM params[]); /* KDF parameter descriptors */ const OSSL_PARAM *OSSL_FUNC_kdf_gettable_params(void *provctx); @@ -108,7 +109,8 @@ I parameter and return the duplicate copy. OSSL_FUNC_kdf_reset() initialises a KDF operation given a provider side KDF context in the I parameter. -OSSL_FUNC_kdf_derive() performs the KDF operation. +OSSL_FUNC_kdf_derive() performs the KDF operation after processing the +I as per OSSL_FUNC_kdf_set_ctx_params(). The I parameter contains a pointer to the provider side context. The resulting key of the desired I should be written to I. If the algorithm does not support the requested I the function must diff --git a/include/openssl/core_dispatch.h b/include/openssl/core_dispatch.h index 97939a46fe8..d4f34557a6b 100644 --- a/include/openssl/core_dispatch.h +++ b/include/openssl/core_dispatch.h @@ -374,7 +374,7 @@ OSSL_CORE_MAKE_FUNC(void *, kdf_dupctx, (void *src)) OSSL_CORE_MAKE_FUNC(void, kdf_freectx, (void *kctx)) OSSL_CORE_MAKE_FUNC(void, kdf_reset, (void *kctx)) OSSL_CORE_MAKE_FUNC(int, kdf_derive, (void *kctx, unsigned char *key, - size_t keylen)) + size_t keylen, const OSSL_PARAM params[])) OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, kdf_gettable_params, (void *provctx)) OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, kdf_gettable_ctx_params, (void *kctx, void *provctx))