当我尝试使用错误的设备日期连接到 API 服务器时,我遇到问题,请求会引发互联网连接错误,但存在以下例外情况:
java.security.cert.CertPathValidatorException:响应不可靠:其有效性间隔已过时
java.security.cert.CertPathValidatorException:无法确定吊销状态
但这种行为并非在具有相同日期的所有设备中发生,但它也适用于当前日期前后几乎一天的错误日期范围。
此问题始终发生在 Android 8.0 及更高版本的设备上,但不会发生在 Android 7.0 上。我注意到这个问题是根据错误的日期发生的,但我无法理解其原因。所以我想了解发生了什么及其原因,以及解决此问题的最佳实践。
那些认为证书不可靠的人实际上工作正常。
除了安装具有与设备日期匹配的有效期的服务器端证书之外,没有什么可解决的。禁用证书验证不是一个解决方案,但它很愚蠢 - 因为它会允许过期和撤销的证书,从而破坏 CA。例如:如果有人掌握了私钥,那么在接受吊销的证书时,您将无法吊销该证书。这在专用网络上可能是可以接受的,但在互联网上,你就会搬起石头砸自己的脚。
只需参见浏览器和证书验证,“证书路径验证算法”段落。
Let 's Encrypt免费提供 SSL 证书,有效期为 3 个月。
| 归档时间: |
|
| 查看次数: |
5507 次 |
| 最近记录: |