From e46816f030fee96167ddd79157e8b710d51d234e Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Sat, 9 Aug 2025 20:07:23 +0200 Subject: [PATCH] Fix GH-19369: openssl_sign() - support for alias digest algs broken --- ext/openssl/openssl_backend_v3.c | 6 ++++++ ext/openssl/tests/gh19369.phpt | 24 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 ext/openssl/tests/gh19369.phpt diff --git a/ext/openssl/openssl_backend_v3.c b/ext/openssl/openssl_backend_v3.c index 1b00581e7df59..84af6dcde10dd 100644 --- a/ext/openssl/openssl_backend_v3.c +++ b/ext/openssl/openssl_backend_v3.c @@ -713,6 +713,12 @@ zend_string *php_openssl_dh_compute_key(EVP_PKEY *pkey, char *pub_str, size_t pu const EVP_MD *php_openssl_get_evp_md_by_name(const char *name) { + const EVP_MD *dp = (const EVP_MD *) OBJ_NAME_get(name, OBJ_NAME_TYPE_MD_METH); + + if (dp != NULL) { + return dp; + } + return EVP_MD_fetch(PHP_OPENSSL_LIBCTX, name, PHP_OPENSSL_PROPQ); } diff --git a/ext/openssl/tests/gh19369.phpt b/ext/openssl/tests/gh19369.phpt new file mode 100644 index 0000000000000..cef15fb0994f4 --- /dev/null +++ b/ext/openssl/tests/gh19369.phpt @@ -0,0 +1,24 @@ +--TEST-- +GH-19369: openssl_sign with alias algorithms +--EXTENSIONS-- +openssl +--SKIPIF-- + +--FILE-- + +--EXPECT-- +bool(true)