十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

ssl证书到期时间查询的三种方法

上一篇 / 下一篇  2019-07-03 13:12:48 / 个人分类:其它

文章来源
  • 文章来源:【原创】
之前,有一个域名使用了网上免费的 ssl 证书,然后想在该证书过期后更换为 Let's encrypt 的免费证书,便想查询下该域名 ssl 证书还剩多少天过期。 查询证书到期时间的方法还是很简单的,以下使用 coderschool.cn 这个域名进行测试,下面简单的记录一下步骤。
方法一:直接浏览器上查看 该方法的前提是你的域名已经指向了 web 服务器,在浏览器上可以正常访问。 首先使用浏览器访问你的站点域名,然后单击地址栏上面的锁图标进行查看:

然后点击“证书”进行查看:

上面使用的是 Chrome 浏览器进行查看,其它浏览器应该查看的方法也基本一样。

方法二:在服务端使用 Openssl 工具进行查看 由于我服务端是搭建在 Centos 上,所以用 xshell 或者 putty 工具登录后,进入证书目录,使用 openssl 命令进行查看:

[llmode@cert]# cd /usr/ssl/cert
[llmode@cert]# openssl x509 -in xxx.crt -noout -dates
notBefore=Nov 21 15:13:14 2017 GMT
notAfter=Feb 19 15:13:14 2018 GMT

上面改成你自己证书的所在目录,证书名称也改成你自己服务端上证书的名称。

方法三:使用 php 代码方法进行查看 如果你有多个可访问的域名,那么使用代码的方法进行查看就会容易很多,省得一个一个手动查看。下面贴上代码:

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 '';
 
       // print_r($cerInfo);
 
       if(strpos($cerInfo['name'],$domain)) {
 
           echo  "start:".date("Y-m-d",$cerInfo['validFrom_time_t'])."";
 
           echo "end:".date("Y-m-d",$cerInfo['validTo_time_t']);
 
       }
 
    }
输出内容:
start:2017-11-21
end:2018-02-19

上面的 $cerInfo 信息参数很多,敢兴趣的可以打印出来看下。

上面介绍了几个查看 ssl 证书到期的方法,一般来说最常用的方法就是直接在浏览器上进行查看了,方便快捷。

TAG:

 

评分:0

我来说两句

Open Toolbar