p12文件在Firefox RestClient中工作,但在WebSphere中不工作

时间:2019-04-30 13:51:56

标签: java websphere keystore client-certificates p12

我有一个在WebSphere中运行的Java Web应用程序,需要调用第三方服务(IBM)以获得一些响应。

首先,IBM给了我一个p12文件,该文件包含客户端证书,然后我在Firefox RestClient中对其进行了测试,通话成功,并且在{{1}中得到了响应代码200 }。否则,我将被禁止403。因此,可以证明第三方提供的RestClient是正确的。如果我的说法有误,请纠正我。

因此,我很高兴将此p12文件导入到CellDefaultKeyStore中,以测试应用程序上的连接。不幸的是,导入此p12文件后,节点状态变为“未知”,甚至无法“同步”它们。当我检查服务器日志时,我不断看到

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,则节点问题将立即再次出现。

我尝试运行./startManager.sh./stopNode.sh,这2个shell脚本的日志中没有错误。但是那里的WAS Console UI仍然显示状态为./startNode.sh,我什至无法停止通过WAS Console启动服务器。

起初,我考虑的可能是显示问题,但是如果我从unknown删除p12文件,此问题将解决。

我尝试使用google,但最终仍然找不到任何线索。我不确定是我的配置还是NodeDefaultKeyStore文件有问题。

我应该参考哪个日志来查看为什么节点状态将变为p12,或者我还能继续对此进行调试/故障排除吗?

1 个答案:

答案 0 :(得分:0)

您已收到外部服务的证书,并且希望Websphere中的代码连接到该服务,对吗?默认的单元存储不是放置外部连接的证书的地方。

将其放入“可信”密钥库中。这将告诉WebSphere信任该外部连接证书,从而使您的代码能够与其连接。

您可以通过控制台执行操作,也可以直接在文件上使用iKeyman。

话虽如此,请不要混淆默认密钥库中的默认证书。 @dbreaux在评论中是正确的。