【发布时间】:2014-04-10 19:45:04
【问题描述】:
如果存储在 java 信任库中的证书过期,我将/可能会收到哪些例外情况? 我一定会收到访问认证资源的例外情况吗?什么情况下不会有例外?
【问题讨论】:
标签: java ssl certificate truststore
如果存储在 java 信任库中的证书过期,我将/可能会收到哪些例外情况? 我一定会收到访问认证资源的例外情况吗?什么情况下不会有例外?
【问题讨论】:
标签: java ssl certificate truststore
如果信任库中的证书过期,并且没有被具有相同主题和密钥的更新版本替换,它将被丢弃以构建证书路径,因此您将获得 javax.net.ssl.SSLHandshakeException (来自“PKIX 路径构建失败...”)。
如果您查看JSSE Reference Guide (trust manager section),它依赖于CertPath API(它实现了验证日期/时间所需的内容)。
默认的 PKIX 信任管理器实现 RFC 3280,它要求链中的所有证书在当前日期/时间有效。请参阅第 6.1 节:
本节介绍的算法根据当前日期和时间验证证书。
和
(d) 对于 {1, ..., n} 中的所有 x,证书在相关时间有效。
如果你想绕过这个,你可以实现你自己的信任管理器(虽然一般不推荐,因为你会削弱默认算法)。
【讨论】:
我希望系统不会使用过期的证书。所以对于你的代码,它应该表现得好像根本没有找到一样。
【讨论】: