IBM MQ:建立 SSL 连接
IBM MQ: Establishing an SSL connection
我们正在努力让 IBM MQ 跨 SSL 工作。
我们已获得远程主机的证书链,并已安装到 Windows 证书存储(本地计算机)中。这些看起来都有效。
我们正在使用以下连接属性:
connectionProperties.Add(MQC.SSL_PEER_NAME_PROPERTY, "other-server.com");
connectionProperties.Add(MQC.SSL_CIPHER_SUITE_PROPERTY, "TLS_RSA_WITH_AES_256_CBC_SHA256"); connectionProperties.Add(MQC.SSL_CIPHER_SPEC_PROPERTY, "TLS_RSA_WITH_AES_256_CBC_SHA256");
connectionProperties.Add(MQC.SSL_CERT_STORE_PROPERTY, "*SYSTEM");
connectionProperties.Add("CertificateLabel", "ibmwebspheremqmywindowsusernamewithoutdomain");
MQEnvironment.SSLCertRevocationCheck = true;
我们已经确定 "CertificateLabel" 是 Windows 说法中的 "Friendly name"。
我们已经证明了未加密的通信和网络级配置。
我们正在使用 8.0.0.7 客户端。
这些是我们遇到的问题:
- 所有安全通信都失败并出现 2538 错误。 (MQRC_HOST_NOT_AVAILABLE, https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.tro.doc/q045380_.htm)
- 将友好名称设置为
ibmwebspheremq
和 ibmwebspheremqmywindowsusername@domain
以及 ibmwebspheremqmywindowsusernamewithoutdomain
未成功
一般问题:
- 我们假设我们可以在 Windows 证书存储中专门安装生成的证书是否正确?
- 2538 错误是否与 SSL 通信有关?它感觉像一个网络错误,尽管在引用的错误文档中有最后一点。
- 我们是否可以在任何地方查找更多信息丰富的错误信息?例如。与 SSL 信任链有关,看看那里是否存在问题?
问题是以下行:
connectionProperties.Add(MQC.SSL_PEER_NAME_PROPERTY, "otherserver.com");
结果是:
- 它需要规范格式,所以
DN=
,等等
- 你甚至不需要那条线
虽然我们一路上确实学到了一些东西:
行:
connectionProperties.Add("CertificateLabel", "ibmwebspheremqmyusername");
是字符串ibmwebspheremq
加上你的Windows用户名(没有你的域)和标签应该设置在您客户端计算机的传出证书的 友好名称 上,不包括用户名。
您的 Windows 证书存储中的各种文件夹很重要。应正确提交中间 CA。
我们正在努力让 IBM MQ 跨 SSL 工作。
我们已获得远程主机的证书链,并已安装到 Windows 证书存储(本地计算机)中。这些看起来都有效。
我们正在使用以下连接属性:
connectionProperties.Add(MQC.SSL_PEER_NAME_PROPERTY, "other-server.com");
connectionProperties.Add(MQC.SSL_CIPHER_SUITE_PROPERTY, "TLS_RSA_WITH_AES_256_CBC_SHA256"); connectionProperties.Add(MQC.SSL_CIPHER_SPEC_PROPERTY, "TLS_RSA_WITH_AES_256_CBC_SHA256");
connectionProperties.Add(MQC.SSL_CERT_STORE_PROPERTY, "*SYSTEM");
connectionProperties.Add("CertificateLabel", "ibmwebspheremqmywindowsusernamewithoutdomain");
MQEnvironment.SSLCertRevocationCheck = true;
我们已经确定 "CertificateLabel" 是 Windows 说法中的 "Friendly name"。
我们已经证明了未加密的通信和网络级配置。
我们正在使用 8.0.0.7 客户端。
这些是我们遇到的问题:
- 所有安全通信都失败并出现 2538 错误。 (MQRC_HOST_NOT_AVAILABLE, https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.tro.doc/q045380_.htm)
- 将友好名称设置为
ibmwebspheremq
和ibmwebspheremqmywindowsusername@domain
以及ibmwebspheremqmywindowsusernamewithoutdomain
未成功
一般问题:
- 我们假设我们可以在 Windows 证书存储中专门安装生成的证书是否正确?
- 2538 错误是否与 SSL 通信有关?它感觉像一个网络错误,尽管在引用的错误文档中有最后一点。
- 我们是否可以在任何地方查找更多信息丰富的错误信息?例如。与 SSL 信任链有关,看看那里是否存在问题?
问题是以下行:
connectionProperties.Add(MQC.SSL_PEER_NAME_PROPERTY, "otherserver.com");
结果是:
- 它需要规范格式,所以
DN=
,等等 - 你甚至不需要那条线
虽然我们一路上确实学到了一些东西:
行:
connectionProperties.Add("CertificateLabel", "ibmwebspheremqmyusername");
是字符串
ibmwebspheremq
加上你的Windows用户名(没有你的域)和标签应该设置在您客户端计算机的传出证书的 友好名称 上,不包括用户名。您的 Windows 证书存储中的各种文件夹很重要。应正确提交中间 CA。