From dea7f4d1d8c099d06f1bfbd1827d4a68288e08b4 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Fri, 4 Apr 2025 23:52:27 +0200 Subject: [PATCH] openssl_pkey_free is deprecated --- .../v/0.0.0/app/libraries/snappymail/jwt.php | 40 +++++++------------ 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/snappymail/v/0.0.0/app/libraries/snappymail/jwt.php b/snappymail/v/0.0.0/app/libraries/snappymail/jwt.php index e919455d2..91845c605 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/jwt.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/jwt.php @@ -139,19 +139,13 @@ abstract class JWT throw new \ValueError('Invalid key, reason: ' . \openssl_error_string()); } } - try { - $details = \openssl_pkey_get_details($key); - if (!isset($details['key']) || OPENSSL_KEYTYPE_RSA !== $details['type']) { - throw new \ValueError('Key is not compatible with RSA signatures'); - } - $signature = ''; - if (!\openssl_sign($msg, $signature, $key, 'SHA'.\substr($alg,2))) { - throw new \DomainException('OpenSSL unable to sign data: ' . \openssl_error_string()); - } - } finally { - if ($free_key) { - \openssl_pkey_free($key); - } + $details = \openssl_pkey_get_details($key); + if (!isset($details['key']) || OPENSSL_KEYTYPE_RSA !== $details['type']) { + throw new \ValueError('Key is not compatible with RSA signatures'); + } + $signature = ''; + if (!\openssl_sign($msg, $signature, $key, 'SHA'.\substr($alg,2))) { + throw new \DomainException('OpenSSL unable to sign data: ' . \openssl_error_string()); } return $signature; @@ -193,19 +187,13 @@ abstract class JWT throw new \ValueError('Invalid key, reason: ' . openssl_error_string()); } } - try { - $details = \openssl_pkey_get_details($key); - if (!isset($details['key']) || OPENSSL_KEYTYPE_RSA !== $details['type']) { - throw new \ValueError('Key is not compatible with RSA signatures'); - } - $success = \openssl_verify($msg, $signature, $key, 'SHA'.\substr($alg,2)); - if (-1 == $success) { - throw new \DomainException('OpenSSL unable to verify data: ' . \openssl_error_string()); - } - } finally { - if ($free_key) { - \openssl_pkey_free($key); - } + $details = \openssl_pkey_get_details($key); + if (!isset($details['key']) || OPENSSL_KEYTYPE_RSA !== $details['type']) { + throw new \ValueError('Key is not compatible with RSA signatures'); + } + $success = \openssl_verify($msg, $signature, $key, 'SHA'.\substr($alg,2)); + if (-1 == $success) { + throw new \DomainException('OpenSSL unable to verify data: ' . \openssl_error_string()); } return $success;