我有一个Java应用程序,直到最近一直运行良好。它开始引发异常:javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
我有此应用程序的几个版本。为了进行编译和运行:一些正在使用我所用的Java 8,一些正在使用对我拥有的Java 11的特定引用,一些正在使用嵌入式Red Hat Java 11 ...每个都使用PKCS12密钥库的副本。因此,假设此文件未损坏。
所有人突然停止了上述异常的工作!
为了使事情更加令人沮丧,在同一台机器上模拟失败的API调用,使用Postman可以顺利通过!
如果重要的话,Java应用程序将使用PKCS12密钥库,该密钥库由keytool从crt + key文件(Postman使用的文件)生成。
有什么想法吗?我确实排好了Java更新,我进行了更新(现在是1.8.0_261)并重新启动-仍然是同样的问题...
更新:管理员与我共享了旧服务器证书和新服务器证书(不确定是否允许这样做吗?)。我能够看到一些小的变化。看起来特别有趣的发行人:
旧:DigiCert SHA2安全服务器CA,DigiCert Inc
新:DigiCert TLS RSA SHA256 2020 CA1,DigiCert Inc
我猜这是新发行人的案例,Java不信任它吗?我可以通过编辑cacerts文件来解决此问题吗?
希望对此有一点启发。所以,我有一种理解的感觉,请:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句