带有 SSL 的 IBM IIB 10 SOAPRequest 节点

IBM IIB 10 SOAPRequest node with SSL

我使用 SOAP 请求节点通过 HTTPS URL 调用 Web 服务。我已经设置了协议 TLSv1.2 和 URL 但不幸的是服务器返回了一个错误:

An error occurred whilst performing an SSL socket operation. javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: PKIX path building failed: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is: \n\tjava.security.cert.CertPathValidatorException: The certificate issued by *** is not trusted; internal cause is: \n\tjava.security.cert.CertPathValidatorException: Certificate chaining error

我没有从服务器端获得任何证书来将其设置在密钥库中,但我认为不需要。请问如何告诉 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 密钥工具来创建 JKS 信任库。