使用 C++ API 将 mq 客户端连接到具有加密通道的 mq 服务器
Posted
技术标签:
【中文标题】使用 C++ API 将 mq 客户端连接到具有加密通道的 mq 服务器【英文标题】:Connecting mq client to mq server with encrypted channel using C++ API 【发布时间】:2020-09-16 18:05:52 【问题描述】:我有一个旧应用程序使用 C++ API 从 MQ 客户端访问 MQ 服务器。此 API 如何用于通过服务器连接通道添加加密?我找不到将证书提供给 imqChannel 对象的位置。
【问题讨论】:
【参考方案1】:你没有提供任何不能帮助你的代码,所以我只能提供一些大方向。
您可以这样指定密码:
pchannel->setSslCipherSpecification("TLS_RSA_WITH_AES_256_CBC_SHA256");
您可以像这样指定kdb
和sth
文件的位置:
(请注意,在此示例中,它希望找到两个文件,/tmp/key.kdb
和 /tmp/key.sth
)
manager.setKeyRepository("/tmp/key");
您还可以使用mqclient.ini
或设置MQSSLKEYR
环境变量以非编程方式指定密钥存储库的位置,如果您对这些选项评论感兴趣,我将展开此答案。
【讨论】:
没有代码,因为没有尝试编写任何代码,因为我不知道如何开始: manager.setKeyRepository 是缺失的部分。我们正在研究非编程版本,但当我们需要支持不同的队列管理器而不是我们无法控制时,共享环境是个绊脚石。无论如何,感谢您提供的信息。 @jmucchiello C++ API 已由 IBM 稳定,其功能不再支持 MQ。他们建议您使用 C++ 中的普通 C API。您可以将mqclient.ini
放在进程的当前工作目录中,MQ 会首先查看那里。您可以使用它来进行特定于进程的配置
我很清楚 C++ API 的状态。我的问题的第四个词是“遗产”是有原因的。您是否有提出该建议的 URL?我想撕掉 C++ API,但因为它是一个遗留应用程序...... yada yada
这里有几个链接:ibm.com/support/knowledgecenter/en/SSFKSJ_9.2.0/…、***.com/questions/57101776/…、***.com/questions/20062808/…、share.confex.com/share/116/webprogram/Handout/Session8875/… 的第 5 页。以上是关于使用 C++ API 将 mq 客户端连接到具有加密通道的 mq 服务器的主要内容,如果未能解决你的问题,请参考以下文章
将 Java 客户端 (JMS) 连接到 IBM MQ 时出现问题
在 C# 中连接到 Websphere MQ 有效,但在 C++ 中失败,代码为 2058 (MQRC_Q_MGR_NAME_ERROR)
无法使用 Spring Boot 连接到具有多个 SSL 证书的多个 IBM MQ 通道
Amazon MQ 客户端使用哪个 TLS/SSL 版本连接到代理?