时间不对为什么会导致https握手连接失败?

最近在Android开发中遇到了因为本地时间不对导致https请求失败,抛出异常:

javax.net.ssl.SSLHandshakeException: Unacceptable certificate

那为什么时间不对会导致https握手出错?

httpssslssl certificate
1
467
已修改
小课
小课2022-05-10 14:08
1 个回答

客户端在建立https握手连接时会获取证书,证书中包含两个属性Not BeforeNot After,通过这两个时间来校验证书是否有效。

Not Before: Apr 21 00:00:00 2022 GMT
Not After : Jul 20 23:59:59 2022 GMT

如果我们本地的时间早于Not Before或者晚于Not After,都会校验不通过,从而导致https连接失败。我们可以通过openssl命令查看证书的属性。

openssl x509 -in certificate_file --text
1
已修改
小课
小课2022-05-10 14:54
你的回答

内容