ssl證書過期怎麼解決(怎麼看SSL證書到期時間)
最近有很多小夥伴私信snca說不知道在哪裡檢視ssl證書有效期,想著在臨期的時候換個OV SSL。其實查詢ssl證書是否過期方法很多,在這裡給大家分享三個方法。
第一種檢視ssl證書有效期
你的站點已經部署了ssl證書,使用者可正常訪問,在這個前提下,我們先開啟站點,看到位址列有一個安全鎖的樣式如下圖所示:
點選後,會向我們展示以下資訊:該網站身份已經過某CA驗證,身份可信,連線加密可信等資料。
我們點選證書資訊,就會有常規資料和詳細資訊。
就可以看到該SSL證書於何時生效、何時過期。
第二種Linux下使用Openssl檢視證書過期時間
用 xshell 或者 putty 工具登入後,進入證書目錄,使用 openssl 命令進行檢視:
# er /mm/ssl/cert
# openssl x509 -in signed.crt -noout -dates
上面改成你自己證書的所在目錄,證書名稱也改成你自己服務端上證書的名稱。
第三種使用程式碼檢視證書過期時間
我想一次性檢視多個域名的SSL有效期,有什麼便捷的方法嗎?
可以使用PHP方式檢視:
下圖僅供參考
/**
* 獲取SSL證書有效期
*/
public function getValidity(){
$domain = "xxx.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:生效時間
end:到期時間