IBM MQIPT SSL握手问题
我们正在将java MQ客户端连接到客户IBM MQ服务器,以连接我们在云前提下有一个MQIPT实例,在非云前提下有一个MQIPT实例。一旦在非云前提下禁用了SSL安全性,我们就可以连接它了。然而,一旦非云前提启用SSL,我们就面临SSL握手问题。证书在我们之间共享 我们无法访问非云环境 我们正在通过Java客户端连接MQIPT。下面是我们在mqipt跟踪中得到的跟踪IBM MQIPT SSL握手问题,ssl,ssl-certificate,ibm-mq,Ssl,Ssl Certificate,Ibm Mq,我们正在将java MQ客户端连接到客户IBM MQ服务器,以连接我们在云前提下有一个MQIPT实例,在非云前提下有一个MQIPT实例。一旦在非云前提下禁用了SSL安全性,我们就可以连接它了。然而,一旦非云前提启用SSL,我们就面临SSL握手问题。证书在我们之间共享 我们无法访问非云环境 我们正在通过Java客户端连接MQIPT。下面是我们在mqipt跟踪中得到的跟踪 当我们不在mq java客户机上设置密码时,我们将得到以下错误 在这种情况下,所有密码都启用了MQIPT Issuer:'CN
Issuer:'CN=*************测试CA****,OU=****,O=*************AG,C=*****'
12:45:13.799 27 1414-2s处理密钥类型:RSA
12:45:13.800 27 1414-2s密钥环中没有RSA证书
12:45:13.800 27 1414-2s处理键类型:DSA
12:45:13.800 27 1414-2s密钥环中没有DSA证书
12:45:13.800 27 1414-2s处理键类型:EC
12:45:13.800 27 1414-2s钥匙圈中无EC证书
12:45:13.800 27 1414-2s警告:没有合适的证书发送到远程服务器
12:45:13.800 27 1414-2s-------}IPTX509KeyManager.chooseClientAlias()rc=0
12:45:14.184 27 1414-2s SSLHandshakeException握手:com.ibm.jsse2.k.a(k.java:7)
MQCPI014协议eyecatcher(16030300)未识别
MQIPT版本-->IBM MQ Internet直通V9.2.0.1
MQIPT配置如下所示
[全球]
CommandPort=1884
RemoteShutDown=true
MinConnectionThreads=5
MaxConnectionThreads=100
IdleTimeout=20
ClientAccess=true
qmgracess=true
HTTP=true
HTTPChunking=false
跟踪=5
ConnectionLog=true
MaxLogFileSize=50
[路线]
名称=路线1
活动=真
ListenerPort=1414
目的地=mq dmz-************
目的港=********
HTTP=true
HTTPS=true
SSLClient=true
SSLClientProtocols=TLSv1.2
SSLClientKeyRing=“钥匙圈PFX文件的路径”
SSLClientKeyRingPW=“密码文件的路径”
HTTPServer=
HTTPServerPort=443
小便器=
SSLClientKeyRing=“与SSLClientKeyRing相同”
SSLClientKeyRingPW=“与SSLClientKeyRingPW相同”
SSLClientCipherSuites=SSL\u ECDHE\u RSA\u与\u AES\u 256\u GCM\u SHA384
用于接受来自MQ客户端的连接、解密、然后重新加密并发送到下一个跃点的设置应如下所示:
[路线]
名称=路线1
活动=真
ListenerPort=1414
目的地=mq dmz-************
目的港=********
HTTP=true
HTTPS=true
SSLClient=true
SSLClientProtocols=TLSv1.2
SSLClientKeyRing=“钥匙圈PFX文件的路径”
SSLClientKeyRingPW=“密码文件的路径”
HTTPServer=
HTTPServerPort=443
小便器=
SSLClientKeyRing=“与SSLClientKeyRing相同”
SSLClientKeyRingPW=“与SSLClientKeyRingPW相同”
SSLClientCipherSuites=SSL\u ECDHE\u RSA\u与\u AES\u 256\u GCM\u SHA384
SSLServer=true
SSLServerProtocols=TLSv1.2
SSLServerKeyRing=“钥匙圈PFX文件的路径”
SSLServerKeyRingPW=“密码文件的路径”
SSLServerCAKeyRing=“与SSLServerKeyRing相同”
SSLServerCAKeyRingPW=“与SSLServerCAKeyRing相同”
SSLServerCipherSuite=SSL\u ECDHE\u RSA\u带AES\u 256\u GCM\u SHA384
您缺少的是从TLS会话的角度配置路由,您可以:
要从MQ客户端应用程序接受TLS连接,您需要将
SSLServer*
等效配置为已配置的SSLClient*
设置。MQIPT版本-->IBM MQ Internet直通V9.2.0.1[全局]CommandPort=1884 RemoteShutDown=true MinConnectionThreads=5 MaxConnectionThreads=100 IdleTimeout=20 ClientAccess=true QMgrAccess=true HTTP=true HTTPChunking=false Trace=5 ConnectionLog=true MaxLogFileSize=50@JoshMc:很抱歉,我的目的不是回滚您的更改,meDone无意中删除了@JoshMcyes的标签,我们使用的是httpwe,我们没有使用代理,因为我们是客户。但是在服务器端,我不知道。只是一个小问题,在一切正常之后,在多次成功连接之后,我们将在mqipt获得sockeTimeout。我们遇到MQRC_连接断开的问题。这不是很常见,但在多次发送或接收消息后,我们会收到此消息。当通道运行时,通道状态中报告的HBINT是什么?在对此的评论中讨论了如何执行IBM MQ java跟踪以及如何查看协商的心跳间隔。你能试试这个找出你的HBINT是什么吗。我猜你的断开连接是在一段时间的不活动之后?目前,我们每3秒钟推送一次消息,在此期间,我们每3秒钟发送一次此问题。我们正在创建连接并推送消息,然后关闭连接。