Мне нужно проверить с помощью php-скриптов, чтобы данный веб-сайт содержал сертификат ssl или нет, если он содержит то, что является датой истечения срока действия сертификата.
Есть ли способ получить эту информацию для любого веб-сайта, используя скрипты php?
Если да, то plzzz сообщит мне. Я много раз пробовал Google, но ничего не нашел.
Благодарю.
Да, вы должны получить информацию о сертификате, используя функцию stream_socket_client
встроенную в PHP.
Этот конкретный метод работает хорошо, потому что он фактически не делает HTTP-запрос, поэтому вам не нужно делать fopen
.
$get = stream_context_create(array("ssl" => array("capture_peer_cert" => TRUE))); $read = stream_socket_client("ssl://www.google.com:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $get); $cert = stream_context_get_params($read); var_dump($cert["options"]["ssl"]["peer_certificate"]);
Затем вам нужно будет использовать OpenSSL для работы с информацией о сертификате на данном этапе. Вы можете прочитать о OpenSSL в руководстве по PHP .