我使用SOAP Request节点通过HTTPS URL调用Web服务。我已经设置了协议TLSv1.2和URL,但是不幸的是服务器返回了一个错误:
执行SSL套接字操作时发生错误。 javax.net.ssl.SSLHandshakeException:com.ibm.jsse2.util.h:PKIX路径 构建失败:java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl无法建立有效的CertPath。内部 原因是:\ n \ tjava.security.cert.CertPathValidatorException: ***颁发的证书不可信;内部原因是: \ n \ tjava.security.cert.CertPathValidatorException:证书 链接错误
我没有从服务器端获得任何认证,无法将其设置在密钥库中,但是我认为这不是必需的。请问我如何对IIB说服您信任来自服务器的证书?
答案 0 :(得分:1)
您需要设置一个包含证书的信任库,以验证服务器的证书。这意味着添加CA的证书,该证书对服务器的证书进行了签名,或者如果服务器证书是自签名的,则添加服务器证书。
通常,对于SOAP节点,最好在集成服务器级别进行设置:
mqsichangeproperties integrationNodeName -e integration_server -o ComIbmJVMManager
-n truststoreFile
-v c:\truststore\server.truststore
mqsichangeproperties integrationNodeName -e integration_server -o ComIbmJVMManager -n truststorePass
-v integration_server::truststorePass
mqsisetdbparms integrationNodeName -n integration_server::truststorePass -u na -p password
https://www.ibm.com/support/knowledgecenter/SSMKHH_10.0.0/com.ibm.etools.mft.doc/ac56640_.htm
您可以使用MQ附带的IBM密钥管理器应用程序或Java密钥工具来创建JKS信任库。