突如其来的"unable to find valid certification path to requested target"
Sudden "unable to find valid certification path to requested target"
我有一个 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 文件来解决这个问题吗?
希望对此有所了解。所以,我有点理解的感觉,请:)
我有一个 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 文件来解决这个问题吗?
希望对此有所了解。所以,我有点理解的感觉,请:)