过期的证书会产生 sun.security.validator.ValidatorException 错误吗?

Can an expired certificate generate a sun.security.validator.ValidatorException error?

我目前代表一位正在度假的同事。他负责的一个应用这几天一直报如下错误

Error: IOException sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我做了一些研究,发现它可能与在信任库中找不到的自签名证书有关。

但是之前我什么都没改,一切正常,会不会是证书过期了?过期的证书会产生这样的错误消息吗?如果是这样,我能否以某种方式确定密钥存储文件的到期日期?

它看起来不像是过期的证书。基于 this question 过期的证书应该产生 CertPathValidatorException: timestamp check failed 消息,例如

qtp1735121130-17, handling exception: javax.net.ssl.SSLHandshakeException:
   sun.security.validator.ValidatorException: PKIX path validation failed:
   java.security.cert.CertPathValidatorException: timestamp check failed

您可以查看 How to Analyze Java SSL Errors 文章,看看您还能做什么,归结为使用 -Djava.net.debug 选项和分析日志。

我首先将信任库中的 self-signed 证书与环境中实际使用的证书进行比较。 Self-signed证书很容易发,也许有人发了新版本