当前位置: 首页 > Linux

查看ssl证书的三种方法

时间:2023-04-06 03:35:10 Linux

之前网上有个域名用了免费的ssl证书,后来证书过期了想换成Let'sencrypt的免费证书,所以想看看怎么办距离域名ssl证书过期还有很多天。查询证书过期时间的方法还是很简单的。下面使用域名sslforfree.com进行测试,下面简单记录一下步骤。方法一:直接在浏览器上查看此方法。这种方法的前提是你的域名已经指向web服务器,可以在浏览器上正常访问。先用浏览器访问你的站点域名,然后点击地址栏上的锁形图标即可查看。方法二:在服务器端使用Openssl工具查看由于我的服务器是Centos搭建的,使用xshell或者putty工具登录后,进入证书目录,使用openssl命令查看:cd/usr/ssl/certopensslx509-insigned.crt-noout-dates,改成自己的证书所在目录,证书的名字改成自己服务器上证书的名字。方法三:使用php代码方式查看如果您有多个可访问的域名,使用代码方式查看会简单很多,省去您手动一一查看的麻烦。粘贴下面的代码:/**获取证书有效期*/publicfunctiongetValidity(){$domain="sslforfree.com";$context=stream_context_create(array("ssl"=>array("capture_peer_cert_chain"=>true)));$socket=stream_socket_client("ssl://$domain:443",$errno,$errstr,30,STREAM_CLIENT_CONNECT,$context);$context=stream_context_get_params($socket);foreach($context["options"]["ssl"]["peer_certificate_chain"]as$value){//使用openssl扩展解析证书,这里使用x509证书校验函数$cerInfo=openssl_x509_parse($value);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:2018-04-06end:2018-07-05以上$cerInfo信息参数很多,有兴趣的可以打印出来看参考链接:如何查看ssl证书