以下のパッケージを使用してTLSを使用してnode.js mqttクライアントを実装しようとしています。node.js TLSを使用するmqttクライアント
https://www.npmjs.com/package/mqtt#client
TLSなしMQTTクライアントを実行するためのコードは次の通りです。上記のコードは、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()
})
?
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