Update src/Appwrite/Platform/Modules/Health/Http/Health/Certificate/Get.php

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
Damodar Lohani 2026-01-01 13:15:28 +05:45 committed by GitHub
parent 28aa4e8a8d
commit 4ef906b836
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -72,6 +72,12 @@ class Get extends Action
$streamContextParams = stream_context_get_params($sslSocket);
$peerCertificate = $streamContextParams['options']['ssl']['peer_certificate'];
$certificatePayload = openssl_x509_parse($peerCertificate);
fclose($sslSocket); // Close the socket to prevent resource leak
if ($certificatePayload === false) {
throw new Exception(Exception::HEALTH_INVALID_HOST);
}
$sslExpiration = $certificatePayload['validTo_time_t'];
$status = $sslExpiration < time() ? 'fail' : 'pass';
@ -81,12 +87,11 @@ class Get extends Action
}
$response->dynamic(new Document([
'name' => $certificatePayload['name'],
'subjectSN' => $certificatePayload['subject']['CN'],
'issuerOrganisation' => $certificatePayload['issuer']['O'],
'name' => $certificatePayload['name'] ?? '',
'subjectCN' => $certificatePayload['subject']['CN'] ?? '',
'issuerOrganisation' => $certificatePayload['issuer']['O'] ?? '',
'validFrom' => $certificatePayload['validFrom_time_t'],
'validTo' => $certificatePayload['validTo_time_t'],
'signatureTypeSN' => $certificatePayload['signatureTypeSN'],
'signatureTypeSN' => $certificatePayload['signatureTypeSN'] ?? '',
]), Response::MODEL_HEALTH_CERTIFICATE);
}
}