diff --git a/lib/private/Installer.php b/lib/private/Installer.php index 0458c14da8a29..0012ce0eed6d6 100644 --- a/lib/private/Installer.php +++ b/lib/private/Installer.php @@ -296,7 +296,7 @@ public function downloadApp($appId, $allowUnstable = false) { // Check if the signature actually matches the downloaded content $certificate = openssl_get_publickey($app['certificate']); - $verified = (bool)openssl_verify(file_get_contents($tempFile), base64_decode($app['releases'][0]['signature']), $certificate, OPENSSL_ALGO_SHA512); + $verified = openssl_verify(file_get_contents($tempFile), base64_decode($app['releases'][0]['signature']), $certificate, OPENSSL_ALGO_SHA512) === 1; // PHP 8+ deprecates openssl_free_key and automatically destroys the key instance when it goes out of scope if ((PHP_VERSION_ID < 80000)) { openssl_free_key($certificate); diff --git a/lib/private/Security/IdentityProof/Signer.php b/lib/private/Security/IdentityProof/Signer.php index 7431bfe815f14..ab1f62ad6ba25 100644 --- a/lib/private/Security/IdentityProof/Signer.php +++ b/lib/private/Security/IdentityProof/Signer.php @@ -93,12 +93,12 @@ public function verify(array $data): bool { $user = $this->userManager->get($userId); if ($user !== null) { $key = $this->keyManager->getKey($user); - return (bool)openssl_verify( + return openssl_verify( json_encode($data['message']), base64_decode($data['signature']), $key->getPublic(), OPENSSL_ALGO_SHA512 - ); + ) === 1; } }