我使用SOAP Request节点来调用带有HTTPS URL的Web服务。我已经设置了Protocol 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信任服务器的证书呢?
您需要设置包含证书的信任库以验证服务器的证书。这意味着添加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 keytool来创建JKS信任库。