From 229f7b38f0e1d65e2aac9d227f3963a1a578430b Mon Sep 17 00:00:00 2001 From: Dmitry Belyavskiy Date: Mon, 25 Feb 2019 18:02:33 +0300 Subject: [PATCH] Providing missing accessor to EVP_PKEY.engine Reviewed-by: Nicola Tuveri Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8329) --- crypto/evp/p_lib.c | 5 +++++ include/openssl/evp.h | 1 + util/libcrypto.num | 1 + 3 files changed, 7 insertions(+) diff --git a/crypto/evp/p_lib.c b/crypto/evp/p_lib.c index 9a882e9eec..c6ebfe6462 100644 --- a/crypto/evp/p_lib.c +++ b/crypto/evp/p_lib.c @@ -396,6 +396,11 @@ int EVP_PKEY_set1_engine(EVP_PKEY *pkey, ENGINE *e) pkey->pmeth_engine = e; return 1; } + +ENGINE *EVP_PKEY_get0_engine(const EVP_PKEY *pkey) +{ + return pkey->engine; +} #endif int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key) { diff --git a/include/openssl/evp.h b/include/openssl/evp.h index 72060e7e96..ca7655d5e4 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -1055,6 +1055,7 @@ int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len); int EVP_PKEY_set_alias_type(EVP_PKEY *pkey, int type); # ifndef OPENSSL_NO_ENGINE int EVP_PKEY_set1_engine(EVP_PKEY *pkey, ENGINE *e); +ENGINE *EVP_PKEY_get0_engine(const EVP_PKEY *pkey); # endif int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key); void *EVP_PKEY_get0(const EVP_PKEY *pkey); diff --git a/util/libcrypto.num b/util/libcrypto.num index 711ccd92a3..bf14bbd28d 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4790,3 +4790,4 @@ OSSL_PARAM_get_octet_ptr 4737 3_0_0 EXIST::FUNCTION: OSSL_PARAM_set_octet_ptr 4738 3_0_0 EXIST::FUNCTION: X509_set_sm2_id 4739 3_0_0 EXIST::FUNCTION:SM2 X509_get0_sm2_id 4740 3_0_0 EXIST::FUNCTION:SM2 +EVP_PKEY_get0_engine 4741 3_0_0 EXIST::FUNCTION:ENGINE -- 2.25.1