ssl - 在 MQ 窗口上更新证书后 channel 未运行

标签 ssl ibm-mq

我们正在尝试将新更新的证书导入生产环境中 MQ 窗口中的 keystore ,但 channel 将在部署证书后重新绑定(bind)状态。看起来我们的队列管理器没有从以下错误中读取证书。证书的颁发者以前和现在都是一样的。使用的证书是 rootCA5、serverCA5 和个人证书。当我们放回旧证书时, channel 工作正常。我已经检查了 ssl 文件夹和 keystore 的权限,它们都很好。寻找一些有值(value)的建议,因为我们的旧证书将于明天到期。我们使用的 MQ 版本是 MQ7.1.0.7。

我们试图在 qm.ini 文件中添加以下参数,昨天我们遇到了同样的问题。

SSL:
OCSPAuthentication=OPTIONAL
OCSPCheckExtensions=NO

队列管理器的 AMQERR01.LOG 中记录了以下错误:

10/18/2017 19:29:45 - Process(3084.1) User(4055TMQU) Program(runmqchl.exe)
                      Host(abcdefgh) Installation(Installation1)
                      VRMF(7.1.0.7) QMgr(QMPDBP)

AMQ9642: No SSL or TLS certificate for channel 'xxxxxx.yyyyyy'.

EXPLANATION:
The channel 'xxxxxx.yyyyyy' did not supply a certificate to use during SSL
or TLS handshaking, but a certificate is required by the remote queue manager. 

The remote host is 'abcdefgh (10.x.x.x)(1415)'. 

The channel did not start.
ACTION:
Ensure that the key repository of the local queue manager or MQ client contains
a certificate which is associated with the queue manager or client.
Alternatively, if appropriate, change the remote channel definition so that its
SSLCAUTH attribute is set to OPTIONAL and it has no SSLPEER value set. 

最佳答案

对于 IBM MQ v7.5 和更低版本,队列管理器证书的标签必须是与折叠成小写的队列管理器名称连接的精确字符串 ibmwebspheremq

根据您发布的错误,我可以看到队列管理器名称是 QMPDBP,因此请检查证书的标签是否与字符串 ibmwebspheremqqmpdbp

匹配

请注意,对于 IBM MQ v8.0 及更高版本,您可以通过设置队列管理器 CERTLABL 属性告诉队列管理器要使用的证书标签的名称,这默认为与什么匹配的值在 v7.5 及更低版本中是必需的。

例如:

ALTER QMGR CERTLABL('DifferentLabel`)

关于ssl - 在 MQ 窗口上更新证书后 channel 未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46824300/

相关文章:

c# - 我从哪里获得 x509 证书?

c# - Websphere MQ & .NET - WriteString() 属性使消息太长

c# - 不连续读取来自 IBM MQ Queue 的消息

java - 如何查找 IBM websphere MQ 7 的 MCA 用户 ID

docker - 在Windows Docker下运行的IBM MQ客户端

由于 ssl 证书,laravel 电子邮件验证在生产中不起作用

docker - Nginx 代理管理器 502 Bad Gateway 错误仅在 https 模式下

javax.net.ssl.SSLException : SSL handshake aborted Connection reset by peer while calling webservice Android

c - 用C语言检测SSL协议(protocol)

java - 通过来自 Java 客户端的 SSL channel 与 IBM MQ 的 SSL 连接