创建安全连接

时间:2014-07-30 10:29:34

标签: c# ssl ssl-certificate ibm-mq mq

我赢得了与MQ合作的服务。

但我希望它使用ssl通道和数据库与公钥/私钥(为此)

请你解释一下如何做到这一点。

P.S。我不是很擅长MQ

现在我使用此代码连接到MQ

                        MQEnvironment.Hostname = ConfigurationManager.AppSettings["HostnameIN"];
                        MQEnvironment.Channel = ConfigurationManager.AppSettings["ChannelIN"];
                        MQEnvironment.Port = int.Parse(ConfigurationManager.AppSettings["PortIN"]);
                        Environment.SetEnvironmentVariable("MQCCSID", ConfigurationManager.AppSettings["MQCCSID"]);
                        var mqQueueManagerName = ConfigurationManager.AppSettings["QueueManagerNameIN"];
                        var mqQueueName = ConfigurationManager.AppSettings["QueueNameIN"];
                        const int openOptions = MQC.MQOO_BROWSE | MQC.MQOO_INPUT_AS_Q_DEF;
                        var qMgr = new MQQueueManager(mqQueueManagerName);
                        var getOptions = new MQGetMessageOptions();

并使用此

获取所有消息
using (var mqQueue = qMgr.AccessQueue(mqQueueName, openOptions))
                        {
                            try
                            {
                                //while (mqQueue.CurrentDepth>0)
                                while (true)
                                {
                                    var message = new MQMessage();
                                    //message.Version = 2;
                                    getOptions.Options = MQC.MQGMO_WAIT | MQC.MQGMO_BROWSE_NEXT;
                                    mqQueue.Get(message, getOptions);
                                    mqMessages.Add(message);
                                }
                            }

1 个答案:

答案 0 :(得分:3)

为了将MQ设置为在您正在使用的通道上使用SSL,您根本不需要进行任何应用程序更改 - 您只需要在队列管理器上配置要使用的通道即可SSL。客户端,JVM和队列管理器中的库将处理为您建立安全连接的过程。因此理论上,您需要做的就是更改MQSC / MQ资源管理器,这将在通道上配置SSL。

建议您阅读IBM知识中心的以下页面。它为将客户端安全地连接到队列管理器的各种方法提供了许多方案: http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.sce.doc/q014220_.htm