如何使用C#从使用CCDT和SSL的客户端连接到使用C#的远程队列管理器(WebSphere MQ Server)

时间:2014-11-25 01:48:19

标签: c#-4.0 certificate ssl-certificate keystore client-certificates

我是IBM WebSphere MQ的新手。

我的要求(如下):

1)我想使用KeyType作为CMS创建和配置客户端证书,服务器证书,证书申请,证书颁发机构,密钥库。

2)完成上述操作后,我需要为SSL配置远程队列管理器(TLS_RSA_WITH_AES_128_CBC_SHA256)

2)我将使用C#.NET代码使用CCDT方法进行连接。

我正在寻找以上的示例程序(如果有的话)。

谢谢&问候, KJK

1 个答案:

答案 0 :(得分:1)

我假设你已经有了你的CCDT文件,所以示例代码

public void TestSSLConnectionWithCCDT()
        {
            try
            {
                Environment.SetEnvironmentVariable("MQCHLLIB", @"D:\MQCCDT\QM_SSLConnect\");
                Environment.SetEnvironmentVariable("MQCHLTAB", "AMQCLCHL.TAB");

                Hashtable props = new Hashtable();
                props.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT);
                props.Add(MQC.SSL_CERT_STORE_PROPERTY, sslKeyRepository);
                MQQueueManager qMgr = new MQQueueManager("QM_SSLConnect", props);

                MQQueue queue1 = qMgr.AccessQueue("XYZ", MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING);
                MQMessage msg = new MQMessage();
                msg.WriteUTF("Test Message");
                queue1.Put(msg);
            }
            catch (MQException ex)
            {
                Console.WriteLine("WebSphere MQ error occurred: {0}", ex.ToString());
            }
            catch (System.Exception ex)
            {
                Console.WriteLine("System error occurred: {0}", ex.ToString());
            }
        }

您可以使用自签名证书测试传输级安全性。有关详细信息,请参阅链接http://2freeclear.wordpress.com/2014/11/29/transport-level-security-with-ibm-websphere-mq-in-net-environment/