使用 TLS 的 node.js mqtt 客户端

2024-01-20

我正在尝试使用下面的包来实现带有 TLS 的 node.js mqtt 客户端;

https://www.npmjs.com/package/mqtt#client https://www.npmjs.com/package/mqtt#client

不使用TLS运行mqtt客户端的代码如下;

var mqtt = require('mqtt')
var client  = mqtt.connect('mqtt://test.mosquitto.org')

client.on('connect', function () {
  client.subscribe('presence')
  client.publish('presence', 'Hello mqtt')
})

client.on('message', function (topic, message) {
  // message is Buffer 
  console.log(message.toString())
  client.end()
})

上面的代码应该如何修改才能在 mqtt 客户端上使用 TLS?

mosca MQTT 代理使用以下命令作为独立运行;

mosca --key ./tls-key.pem --cert ./tls-cert.pem --http-port 3000 --http-bundle --http-static ./ | pino

应该足以改变protocolURL 的一部分mqtts://

mqtts://test.mosquitto.org.

自签名证书

您可以将以下选项传递给connect使用自签名证书时的功能(仅用于测试目的):

mqtt.connect('mqtts://test.mosquitto.org', {
    rejectUnauthorized: false
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 TLS 的 node.js mqtt 客户端 的相关文章

随机推荐