假设我们有一个网站的 SSL 证书。根据网络浏览器,该证书将于明天(2011 年 12 月 10 日)到期。
好的,但是这忽略了时区。它到底什么时候会过期?
- 服务器当地时间 00:00(例如 ET)
- 用户浏览网站的当地时间 00:00(无论何处)
- 00:00(世界标准时间)
?
(问题背景:一位管理员喜欢等到证书到期前的最后一天才去设置新证书。为什么?他说是为了“从中获取最大价值”。我不太明白这个逻辑,也许他应该提前几天更换它?但无论如何,我很担心/好奇,在我们当地时间 00:00 之前,证书是否会对部分/所有用户停止工作。)
答案1
几乎所有证书供应商都会在前一个证书到期前一个月左右续订证书,续订期限为一年(或任何时间段)。因此,如果您的证书有效期为 2010 年 12 月 10 日至 2011 年 12 月 10 日;您可以在 11 月获得新证书,其有效期为 2011 年 11 月 20 日至 2012 年 12 月 10 日。这样,您就不必担心“从中获得最大价值”。
为了回答这个问题,证书指定了精确到分钟的时间,并包含时区。
您可以输入您的公共证书openssl x509 -in Certificate_File.pem -text
,它将输出有效期范围。以下内容来自我去年的个人网站:
Not Before: Apr 20 20:48:59 2010 GMT
Not After : Jun 5 01:52:13 2011 GMT
答案2
如果您想从客户端测试响应或者您手边没有证书文件本身:
# echo | openssl s_client -connect www.example.tld:443 2>/dev/null | openssl x509 -noout -dates
notBefore=Oct 2 22:56:44 2018 GMT
notAfter=Dec 31 22:56:44 2018 GMT
(和其他答案一样,它会显示 TZ(带有日期/时间戳)
您也可以尝试这个 BASH 脚本它负责文件和站点..