【问题标题】:WebSphere unable to find valid certification path to requested targetWebSphere 无法找到到所请求目标的有效证书路径
【发布时间】:2019-10-04 13:59:38
【问题描述】:

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

javax.net.ssl.SSLHandshakeException:com.ibm.jsse2.util.h:PKIX 路径 构建失败:java.security.cert.CertPathBuilderException:无法 找到请求目标的有效认证路径

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

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

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

所有这些以前都可以正常工作,但我一定是坏了一些东西。我肯定错过了什么。我不明白为什么它不能“找到一个有效的证书路径”到applied.local,因为CN 是apply.local,并且证书在WebSphere 的信任库中。

【问题讨论】:

    标签: ssl ssl-certificate websphere


    【解决方案1】:

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

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

    对我来说没有意义的是,我之前使用 NodeDefaultTrustStore 的管理控制台中的“从端口检索”按钮导入了 Hybris 自签名证书。这曾经可以工作,但现在显然我必须将它也导入到 cacerts 中?

    【讨论】:

    • 这不是一个好的解决方案,因为您正在覆盖 WAS SSL 设置。它应该像以前一样工作。您应该检查 SSL 配置,如果它指向正确的信任库,可能已更改,或者定义了一些自定义 outound ssl 配置。
    猜你喜欢
    • 2017-04-22
    • 2011-11-12
    • 2020-11-11
    • 2011-10-18
    • 2020-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多