|
...
|
...
|
@@ -61,23 +61,28 @@ class DomainInfo extends Command |
|
|
|
* @time :2023/9/11 15:07
|
|
|
|
*/
|
|
|
|
public function updateDomainSsl($domain){
|
|
|
|
$context = stream_context_create([
|
|
|
|
'ssl' => [
|
|
|
|
'capture_peer_cert' => true,
|
|
|
|
'capture_peer_cert_chain' => false,
|
|
|
|
],
|
|
|
|
]);
|
|
|
|
$stream = stream_socket_client('ssl://'.$domain.':443', $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);
|
|
|
|
if(!$stream) {
|
|
|
|
die("Failed to connect: $errno - $errstr");
|
|
|
|
try {
|
|
|
|
$context = stream_context_create([
|
|
|
|
'ssl' => [
|
|
|
|
'capture_peer_cert' => true,
|
|
|
|
'capture_peer_cert_chain' => false,
|
|
|
|
],
|
|
|
|
]);
|
|
|
|
$stream = stream_socket_client('ssl://'.$domain.':443', $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);
|
|
|
|
if(!$stream) {
|
|
|
|
die("Failed to connect: $errno - $errstr");
|
|
|
|
}
|
|
|
|
$remote_cert = stream_context_get_params($stream)['options']['ssl']['peer_certificate'];
|
|
|
|
if(!$remote_cert) {
|
|
|
|
die("Failed to retrieve certificate");
|
|
|
|
}
|
|
|
|
$valid_from = date('Y-m-d H:i:s', openssl_x509_parse($remote_cert)['validFrom_time_t']);
|
|
|
|
$valid_to = date('Y-m-d H:i:s', openssl_x509_parse($remote_cert)['validTo_time_t']);
|
|
|
|
fclose($stream);
|
|
|
|
}catch (\Exception $e){
|
|
|
|
$valid_from = '';
|
|
|
|
$valid_to = '';
|
|
|
|
}
|
|
|
|
$remote_cert = stream_context_get_params($stream)['options']['ssl']['peer_certificate'];
|
|
|
|
if(!$remote_cert) {
|
|
|
|
die("Failed to retrieve certificate");
|
|
|
|
}
|
|
|
|
$valid_from = date('Y-m-d H:i:s', openssl_x509_parse($remote_cert)['validFrom_time_t']);
|
|
|
|
$valid_to = date('Y-m-d H:i:s', openssl_x509_parse($remote_cert)['validTo_time_t']);
|
|
|
|
fclose($stream);
|
|
|
|
return ['from'=>$valid_from,'to'=>$valid_to];
|
|
|
|
}
|
|
|
|
|
...
|
...
|
|