首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有X509TrustManager实现[SOAP 10 ]

没有X509TrustManager实现[SOAP 10 ]
EN

Stack Overflow用户
提问于 2019-04-10 07:53:04
回答 1查看 1.3K关注 0票数 0

我试图使用带有ssl的soap请求节点,在我的示例中,我在文件夹(E:\ .cer )中下载了证明文件,并尝试执行以下一些操作:

代码语言:javascript
复制
mqsireportproperties integrationNodeName -o ComIbmJVMManager -a -e integration_server

mqsichangeproperties integrationNodeName -e integration_server -o ComIbmJVMManager -n truststoreFile -v E:\truststore

mqsichangeproperties integrationNodeName -e integration_server -o ComIbmJVMManager -n truststorePass -v integration_server::truststorePass

mqsisetdbparms IIBOAB -n integration_server::truststorePass -u na -p password

但我有个错误:

Text:CHARACTER:javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException:没有X509TrustManager实现

你能帮帮我吗,谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-04-18 10:56:03

您的问题可能有多种原因,因此我将尝试在这里概述所有的事情:

设置密钥存储库的命令没有指定密钥库/信任库名称。此外,在我的记忆中,您应该在BrokerRegistry上设置它,而不是在ComIbmJVMManager上设置它(但它可能有效),这是一个有效命令的示例:

代码语言:javascript
复制
mqsichangeproperties $BROKERNAME -o BrokerRegistry -n brokerKeystoreFile -v $KEYSTORE_iib_PATH/iib.jks
mqsichangeproperties $BROKERNAME -o BrokerRegistry -n brokerTruststoreFile -v $KEYSTORE_iibTrust_PATH/iibTrust.jks
mqsisetdbparms $BROKERNAME -n brokerTruststore::password -u $KEYSTORE_USER -p $KEYSTORE_PASSWORD
mqsisetdbparms $BROKERNAME -n brokerKeystore::password -u $KEYSTORE_USER-p $KEYSTORE_PASSWORD

此外,您还可能需要http侦听器的以下命令:

代码语言:javascript
复制
mqsichangeproperties $BROKERNAME -b httplistener -o HTTPListener -n enableSSLConnector -v true
mqsichangeproperties $BROKERNAME -b httplistener -o HTTPSConnector -n keystoreFile -v $KEYSTORE_iib_PATH/iib.jks
mqsichangeproperties $BROKERNAME -b httplistener -o HTTPSConnector -n truststoreFile -v $KEYSTORE_iibTrust_PATH/iibTrust.jks
mqsichangeproperties $BROKERNAME -b httplistener -o HTTPSConnector -n keystorePass -v $KEYSTORE_PASSWORD
mqsichangeproperties $BROKERNAME -b httplistener -o HTTPListener  -n startListener -v true

这是它的集成总线部分。您的第二个错误(可能也是最大的错误)是,您不知道什么是密钥存储/信任库。将证书放入存储库并不是密钥存储库。(搜索一下JKS : Java密钥商店)

您可以执行以下操作以在Unix上生成信任库/密钥库:

代码语言:javascript
复制
keystoreName=iibTrust.jks
KEYSTORE_PASSWORD=123qwerty ## DO NOT USE THAT PLEASE
for certificate in `ls *.cer`;
do
    alias=`echo $certificate | rev | cut -d '.' -f 2- | rev | cut -d '_' -f2`
    keytool -importcert -file $certificate -keystore ${keystoreName}.jks -alias $alias -storepass $KEYSTORE_PASSWORD -noprompt
    if [[ $? -ne 0 ]]; then "Unable to add $certificate in keystore $keystoreName.jks";
done    
keytool -list -keystore ${keystoreName}.jks -storepass $KEYSTORE_PASSWORD

我基本上已经复制/粘贴了我的所有脚本,以便在IIB上启用SSL,因此,有了所有这些信息,您应该能够让它工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55607427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档