我们正在努力让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用语中的“友好名称”。
我们已经证明了未加密的通信和网络级配置。
我们正在使用8.0.0.7客户端。
这些是我们遇到的问题:
ibmwebspheremq
和ibmwebspheremqmywindowsusername@domain
以及ibmwebspheremqmywindowsusernamewithoutdomain
一般问题:
答案 0 :(得分:1)
问题如下:
connectionProperties.Add(MQC.SSL_PEER_NAME_PROPERTY, "otherserver.com");
原来:
DN=
等等。虽然我们在此过程中确实学到了一些东西:
该行:
connectionProperties.Add("CertificateLabel", "ibmwebspheremqmyusername");
字符串ibmwebspheremq
加上您的 Windows 用户名(没有您的域名)和是否应在友好名称上设置标签>您的客户端计算机的传出证书,不包括用户名。
Windows证书存储区中的各种文件夹非常重要。中间CA应正确归档。