最近在Android开发中遇到了因为本地时间不对导致https请求失败,抛出异常:
那为什么时间不对会导致https握手出错?
客户端在建立https握手连接时会获取证书,证书中包含两个属性Not Before和Not After,通过这两个时间来校验证书是否有效。
Not Before
Not After
如果我们本地的时间早于Not Before或者晚于Not After,都会校验不通过,从而导致https连接失败。我们可以通过openssl命令查看证书的属性。
内容