我现在有一批域名,想要一次性检查出那个域名的证书过期了。
证书的过期时间信息可以用浏览器打开查看
不知道用什么方法可以获取到证书信息。
$g = stream_context_create(array("ssl" => array("capture_peer_cert_chain" => true)));
$r = stream_socket_client("ssl://$domain:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $g);
$cont = stream_context_get_params($r);
foreach ($cont["options"]["ssl"]["peer_certificate_chain"] as $value) {
//使用openssl扩展解析证书,这里使用x509证书验证函数
$cerInfo = openssl_x509_parse($value);
echo '<pre>';
print_r($cerInfo);
}
5 回答1.5k 阅读
5 回答1.6k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
2 回答908 阅读✓ 已解决
2 回答908 阅读✓ 已解决
4 回答1.1k 阅读✓ 已解决
最后用的shell解决的。
echo | openssl s_client -connect login.xunlei.com:443 2>/dev/null | openssl x5 09 -noout -dates