周五晚上,我正在审查一家处理货币交易的公司的网站。没问题。周六早上,试着让我回到网站,但是Chrome和Safari都说他们不信任这个安全证书。我检查过了,验证已经过期了。奇怪的是。

然后今天早上,我再次访问了该网站,证书是有效的,我可以进入( Chrome和Safari)。

然后我注意到了一个怪癖。
由于证书不合格,通知称该证书将于2016年8月13日(周六) 8:59:59 JST到期。
但有了今天的有效证书,通知上说该证书从2016年8月13日格林尼治时间00:00开始有效。
我检查了时差,8:59:59 JST是23:59:59格林尼治时间(注:英国是夏季时间)。

这是浏览器如何检查证书有效性的问题吗?他们是否总是假设过期时间为23:59:59,有效期为00:00:00,但从不检查是否存在时区差异或夏季时差?
发布于 2016-08-14 00:23:41
我的猜测是,网站的证书实际上过期了,然后他们买了一个新的,并在你再次检查之前更换了它。
当Comodo颁发证书时,“有效从”时间追溯到发出证书之日的世界协调时间00:00:00,“有效期到”时间是23:59:59。因此,新的证书可能会在8月13日的任何时候签发。
(这只是科摩罗的特殊政策。其他CA则以不同的方式处理。
现在尝试证明这一点有点晚了,但是您可以在像森塞斯这样的工具上搜索域,看看他们是否有昨天证书的副本。
假设时间表:
发布于 2016-08-13 23:08:40
永远不要检查是否存在时区差异或夏季差异?
证书的过期时间在格林尼治标准时间(UTC)中设置。您看到的是不同浏览器呈现证书过期时间的不同,即Safari将证书转换为JST (可能是您的本地时区),而Chrome则在GMT中显示它。检查本身是通过比较同一时区内的两个时间来完成的,即通常在检查之前将本地时间与GMT进行比较。
他们是否总是假设过期时间是23:59:59,有效期是00:00:00,
过期时间的精度为秒,浏览器以这种方式检查它。另外,一些CA可能会将过期时间设置为23:59:59,而其他CA则不会。
https://security.stackexchange.com/questions/133835
复制相似问题