gpt4 book ai didi

java - PKIX 证书路径错误 : ok with java, 不适用于 Tomcat

转载 作者:行者123 更新时间:2023-11-28 22:48:26 26 4
gpt4 key购买 nike

我们使用 Java JDK 1.8.0_112、Tomcat 8.0.32 和 Liferay 框架 7.0-GA4。

我们必须向某个 HTTPS URL 发送 POST 请求。

使用一个简单的 Java 类,所有代码都在 main 函数中,一切正常。

使用 Tomcat(带有 Liferay 框架)它不起作用,我们得到以下异常。

 PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException

使用 SSL 调试启动选项 (-Djavax.net.debug=trustmanager,SSL) 我们可以看到在这两种情况下使用的信任库确实相同:/usr/java/jdk1.8.0_112/jre/lib/security/cacerts.

Java console/main function app中请求URL的代码和Tomcat运行的代码完全一致(使用java.net.HttpURLConnection)。

如果我尝试用“https://google.com”替换我请求的 URL,它在主函数和 Web 应用程序代码中都有效。

我很迷茫:如果证书确实无效,为什么它可以使用 java MyClass 工作?如果证书有效,为什么它在网络应用程序中不起作用?

最佳答案

也许您的 tomcat 应用程序服务器(失败)运行的 JRE 版本与您的单元测试所使用的 JRE 版本不同?

也许它使用的是与强密码不兼容的先前版本,即使我们可以确保使用相同的 keystore 文件,它也会失败。在这种情况下,您只需确保 JRE 版本相同即可。

看看https://www.java.com/en/jre-jdk-cryptoroadmap.html查看 JRE 版本和密码算法之间的详细文档和兼容性矩阵。

关于java - PKIX 证书路径错误 : ok with java, 不适用于 Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49068333/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com