【问题标题】:Implement SSL in IBM MQ in Node js在 Node js 中的 IBM MQ 中实现 SSL
【发布时间】:2021-01-14 16:32:22
【问题描述】:

尝试从 IBM MQ 9 发布和订阅消息,该消息包含用于 SSL 连接的密码套件、用户标识、密码、mykey.kdb 文件。我们能够通过 SSL 与 java 连接。但想对节点 js 做同样的事情。在尝试这样做时,我们得到了SSL_INITIALISATION_ERROR。在AMQERR01.LOG 我们看到下面的错误块:

AMQ6090I:MQM could not display text for error 3456322
COMMENTINSERT3(SSLCIPH(' ') -> SSLCIPH(???))

谁能帮助我使用 NOde js 连接到 MQ?

【问题讨论】:

  • 我们也有 KDB 文件。当我们尝试导入它时,我们得到“SSL_INITIALISATION_ERROR”。我在下面提到了代码 sn-p github.com/ibm-messaging/mq-mqi-nodejs/blob/master/samples/… @JoshMc 的链接
  • KDB 文件命名为 mykey.kdb
  • 在哪里可以找到文件“AMQERR01.LOG”@JoshMc
  • 它的可再发行安装@JoshMc
  • 我在 AMQERR01.LOG 中看到这个“AMQ6090I:MQM 无法显示错误 3456322 的文本”。在错误块中,我可以看到下面的行“COMMENTINSERT3(SSLCIPH('') -> SSLCIPH(???)) @JoshMc

标签: node.js ssl ibm-mq jks


【解决方案1】:

如果您有 TLS 与 Java 一起使用,那么您很可能已经正确配置了服务器。

要在 TLS 模式下运行 Node.js MQ 客户端,需要设置密码规范并识别客户端密钥位置的代码。

  const KEY_REPOSITORY = "../keys/clientkey";
  const CIPHER = "TLS_RSA_WITH_AES_128_CBC_SHA256";


  var cno = new mq.MQCNO();

  // code that sets up cno object
  // like Options and MQCSP credentials


  var cd = new mq.MQCD();
  // And then fill in relevant fields for the MQCD
  // like ChannelName and ConnectionName

  // If running in TLS Mode 
  cd.SSLCipherSpec = CIPHER;
  cd.SSLClientAuth = MQC.MQSCA_OPTIONAL;


  var sco = new mq.MQSCO();

  sco.KeyRepository = KEY_REPOSITORY;
  // And make the CNO refer to the SSL Connection Options
  cno.SSLConfig = sco;

对于 java,您很可能使用 .jks 客户端密钥库。对于基于 MQI 的客户端(Node、Python、Go、C),您需要一个密钥数据库和存储文件。

由于您需要安装 MQI 客户端,您可以运行 runmqakm 工具来创建它们:


runmqakm -keydb -create -db clientkey.kdb -pw tru5tpassw0rd -type pkcs12 -expire 1000 -stash

并将服务器的公钥证书导入客户端密钥数据库

runmqakm -cert -add -label QM1.cert -db clientkey.kdb -pw tru5tpassw0rd -trust enable -file key.crt

请注意,我已调用密钥库并存储 clientkey。您可以随意调用它们,但在您的 node.js 代码集中
sco.KeyRepository = KEY_REPOSITORY;

指向你相当于clientkey

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-28
    • 2020-06-02
    • 2016-02-04
    • 2018-11-09
    • 2018-02-24
    • 1970-01-01
    • 2016-03-24
    • 2021-01-11
    相关资源
    最近更新 更多