From: Tomas Mraz Date: Tue, 13 Jul 2021 15:41:02 +0000 (+0200) Subject: Make EVP_PKEY_check() be an alias for EVP_PKEY_pairwise_check() X-Git-Tag: openssl-3.0.0-beta2~67 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=11f18ef1f5ea92ba32a3efeb0eaf1af6a1f35e13;p=thirdparty%2Fopenssl.git Make EVP_PKEY_check() be an alias for EVP_PKEY_pairwise_check() The implementation of EVP_PKEY_pairwise_check() is also changed to handle the legacy keys. Fixes #16046 Reviewed-by: Shane Lontis Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/16069) --- diff --git a/crypto/evp/pmeth_check.c b/crypto/evp/pmeth_check.c index 2ecf2d02518..7f3a2e3a1c8 100644 --- a/crypto/evp/pmeth_check.c +++ b/crypto/evp/pmeth_check.c @@ -152,26 +152,12 @@ int EVP_PKEY_private_check(EVP_PKEY_CTX *ctx) return -2; } -int EVP_PKEY_pairwise_check(EVP_PKEY_CTX *ctx) +int EVP_PKEY_check(EVP_PKEY_CTX *ctx) { - EVP_PKEY *pkey = ctx->pkey; - int ok; - - if (pkey == NULL) { - ERR_raise(ERR_LIB_EVP, EVP_R_NO_KEY_SET); - return 0; - } - - if ((ok = try_provided_check(ctx, OSSL_KEYMGMT_SELECT_KEYPAIR, - OSSL_KEYMGMT_VALIDATE_FULL_CHECK)) != -1) - return ok; - - /* not supported for legacy keys */ - ERR_raise(ERR_LIB_EVP, EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE); - return -2; + return EVP_PKEY_pairwise_check(ctx); } -int EVP_PKEY_check(EVP_PKEY_CTX *ctx) +int EVP_PKEY_pairwise_check(EVP_PKEY_CTX *ctx) { EVP_PKEY *pkey = ctx->pkey; int ok; diff --git a/doc/man3/EVP_PKEY_check.pod b/doc/man3/EVP_PKEY_check.pod index dc036714987..1ba656fd221 100644 --- a/doc/man3/EVP_PKEY_check.pod +++ b/doc/man3/EVP_PKEY_check.pod @@ -44,7 +44,7 @@ EVP_PKEY_private_check() validates the private component of the key given by B. -EVP_PKEY_check() validates all components of a key given by B. +EVP_PKEY_check() is an alias for the EVP_PKEY_pairwise_check() function. =head1 NOTES