Получить данные SSL-сертификата

Получить данные сертификата (например имя или дату истечения) можно через код ниже.

$context = stream_context_create([
  'ssl' => [
    'capture_peer_cert' => true,
    'verify_peer'       => false,
    'verify_peer_name'  => false
  ]
]);

$fp = stream_socket_client('ssl://know-online.com:443', $errorCode, $errorMessage, 30, STREAM_CLIENT_CONNECT, $context);
if (!$fp) {
  throw new Exception('Домен не найден');
}

$cert = stream_context_get_params($fp);
if (empty($errorCode)) {
  $data = openssl_x509_parse($cert['options']['ssl']['peer_certificate']);

  $data['issuer']['O']; // Имя сертификата (Let's Encrypt)
  date('d.m.Y H:i', $data['validTo_time_t']); // Дата истечения сертификата
}