我想用TLS使用下面的包来实现node.js mqtt客户端;node.js使用TLS的mqtt客户端
https://www.npmjs.com/package/mqtt#client
运行MQTT客户机不使用TLS的代码如下;
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
这将无法正常工作,因为经纪人正在使用自签名证书,因此客户端不会相信它。 – hardillb
@ user91579631使用自签名证书时,您可以传递'rejectUnauthorized:false'作为选项。编辑:我将信息添加到答案。 – notion
似乎没有必要让客户知道经纪人使用的证书和密钥。谢谢。 – user781486