我有一个在 WebSphere 中运行的 Java Web 应用程序,它需要调用第三方服务 (IBM) 以获得一些响应。
首先 IBM 给了我一个p12
包含客户端证书的文件,我在 Firefox 中对其进行RestClient
了测试,调用成功,我在RestClient
. 否则,我将获得 403 禁止。因此,这证明了p12
第三方提供的信息是正确的。如果我的陈述有误,请纠正我。
因此,我很高兴地将这个p12
文件导入到我的 CellDefaultKeyStore 中,以测试我的应用程序上的连接。不幸的是,在我导入这个 p12 文件后,节点状态变为“未知”,我什至无法“同步”它们。当我检查服务器日志时,我一直看到
com.ibm.jsse2.util.j: PKIX path building failed: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is:
java.security.cert.CertPathValidatorException: The certificate issued by xxx is not trusted; internal cause is:
java.security.cert.CertPathValidatorException: Certificate chaining error
之后我将其从CellDefaultKeyStore
尝试将其导入中删除NodeDefaultKeyStore
,节点问题消失了,节点可以同步回来,我的应用程序可以成功调用第三方。我认为这已经完成了我今天的工作,但是,这个解决方案并不稳定,它只在某些时候有效,而不是每次都有效。稍后节点状态仍会变为“未知”,或者,如果我运行./stopManager.sh
and ./startManager.sh
,节点问题将立即返回。
我已经尝试运行./stopNode.sh
,./startNode.sh
这 2 个 shell 脚本的日志中没有错误。但是那里的 WAS 控制台 UI 仍然显示状态unknown
,我什至无法停止通过 WAS 控制台启动我的服务器。
起初我认为它可能是显示问题,但如果我p12
从NodeDefaultKeyStore
.
我尝试谷歌,但最终仍然找不到任何线索。我不确定是我的配置还是p12
文件有问题。
我应该参考哪个日志来查看为什么节点状态会变成unknown
,或者我还可以继续调试/解决什么问题?