BadSSLは、このUrl https://revoked.badssl.com/にSSL無効化証明書があることを示します。 PHPでSSL証明書が失効したのはなぜですか?
は、SSL証明書の有効期限が2019-09-11 12:00:00
$url = "https://revoked.badssl.com/";
$orignal_parse = parse_url($url, PHP_URL_HOST);
$get = stream_context_create(array("ssl" => array("capture_peer_cert" => TRUE)));
$read = stream_socket_client("ssl://".$orignal_parse.":443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $get);
$cert = stream_context_get_params($read);
$certinfo = openssl_x509_parse($cert['options']['ssl']['peer_certificate']);
$validFrom = date('Y-m-d H:i:s', $certinfo['validFrom_time_t']);
$validTo = date('Y-m-d H:i:s', $certinfo['validTo_time_t']);
$current = date('Y-m-d H:i:s', time());
$validFrom = 2016-09-02 00:00:00
$validTo = 2019-09-11 12:00:00
$current = 2017-02-20 19:00:00
$validFrom > $current : False
$validTo < $current : False
に設定されている私は$validFrom > $current OR $validTo < $current
場合は証明書が失効していることを考えました。これはそうではありません。
PHP & cURLライブラリでは、証明書の失効をチェックすることはできません。所有者が証明書を改ざんして取り消した場合、その証明書はわかりません。それが正しいか?
期限切れの外で証明書を取り消すことはできますか? – Bytewave
はい! @pedrofbで示されるように、Revoked!= Expired。 – LeMoussel