Merge pull request #45322 from nextcloud/backport/45321/stable29

[stable29] fix: Correctly check result of function
This commit is contained in:
Joas Schilling 2024-05-16 10:16:37 +02:00 committed by GitHub
commit 2fdfcbd28d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 3 additions and 3 deletions

View file

@ -280,7 +280,7 @@ class Installer {
// 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);

View file

@ -74,12 +74,12 @@ class Signer {
$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;
}
}