需要检查网站是否包含 ssl 证书,如果是,那么使用 php 脚本证书的过期日期是多少

发布于 2024-10-12 21:06:30 字数 144 浏览 2 评论 0原文

我需要检查给定网站的 php 脚本是否包含 ssl 证书,如果它包含,那么证书的过期日期是多少。

有什么方法可以使用 php 脚本获取任何网站的此信息吗?

如果是,请告诉我。我在谷歌上尝试了很多次,但没有找到任何东西。

谢谢。

I need to check with the php scripts to given website contains ssl certificate or not if it contains then what is the expire date of certificate.

Is there any way to get this information for any website using php scripts?

If yes, then plzzz let me know. I have tried so many times on google, but I did not find anything.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倾`听者〃 2024-10-19 21:06:30

是的,您应该能够使用 PHP 内置的 stream_socket_client 函数获取证书信息。

这种特殊的方法效果很好,因为它实际上并不发出 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 来处理证书信息。您可以阅读 PHP 手册中有关 OpenSSL 的信息

Yes, you should be able to get certificate information by using the stream_socket_client function built into PHP.

This particular method works nicely because it doesn't actually make an HTTP request so you don't have to do a 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"]);

You'll then need to use OpenSSL to work the the certificate information at this point. You can read about OpenSSL in the PHP manual.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文