WebSphere 找不到所请求目标的有效认证路径



我有一个 WebSphere 9 服务器,用于在我的笔记本电脑上测试 Web 应用程序。我还在我的笔记本电脑上在Tomcat下运行Hybris(也用于测试(。我编写了一个Java Web应用程序来测试Hybris中的打孔函数,它在我的WebSphere服务器上运行。它一直在工作,但我不得不重新安装 WebSphere。从那时起,当我尝试在 WebSphere 中运行我的 Web 应用程序时,我在 WebSphere 中收到此错误:

javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: PKIX path 构建失败:java.security.cert.CertPathBuilder异常:无法 查找所请求目标的有效证书路径

每当我的应用程序尝试发布到 Hybris 时。

在 WebSphere 的管理控制台中,我使用"从端口接收"按钮将来自 Hybris 的自签名证书获取到 WebSphere 中的 nodedefaultTrustStore 中。Hybris 位于我的笔记本电脑上的 apply.local:9002,证书如下所示:

CN=applied.local, OU=applied.local, O=applied.local,

L=applied.local, ST=WI, C=us 有效期从 2019 年 7 月 17 日 至 2022 年 4 月 11 日。

所有这些以前都有效,但我一定破坏了什么。我一定错过了什么。我不明白为什么它不能"找到有效的证书路径"到 apply.local,因为 CN 是 apply.local,并且证书位于 WebSphere 的信任存储区中。

我让它工作,但我不知道为什么我必须这样做才能让它工作。如果有人能解释为什么 - 那就太好了。无论如何,这是我所做的:

  1. 向 WebSphere 添加了自定义变量以定义 cacerts 的位置,但默认值应该有效,因此不确定这是否有任何影响。在管理控制台中,应用程序服务器> server1> Java 和进程管理、进程定义、Java 虚拟机、客户属性:javax.net.ssl.truststore(WebSphere 中 cacerts 的路径(、javax.net.ssl.truststoretype jks 和 javax.net.ssl.trustStorePassword changeit。
  2. 使用浏览器将 Hybris 使用的自签名证书导出到文件中。
  3. 使用 Ikeyman 将证书导入到证书中。(在 IBM 的页面中有有关如何执行此操作的说明(。
  4. 重新启动 WebSphere 和 Hybris,并从 WebSphere 发布到 Hybris 再次工作。

对我来说没有意义的是,我之前使用 NodeDefaultTrustStore 管理控制台中的"从端口检索"按钮导入了 Hybris 自签名证书。这曾经有效,但现在显然我也必须将其导入到cacerts中,或者相反?

相关内容

最新更新