Мне не удается подключиться к брокеру mqtt с сертификатами SSL (cert.pem, key.pem и ca.pem).
Я работал с библиотекой paho mqtt без сертификатов, и она работает без проблем.
Я видел, что библиотека paho включает в connectionOptions логический параметр useSSL, но он не включает никаких параметров для указания сертификатов, которые я хочу использовать в соединении.
Кроме того, я попытался использовать библиотеку mqtt.js в своем проекте машинописи (угловой), и она не работает.
Машинописное соединение через библиотеку paho
const options: ConnectionOptions = {
invocationContext: { host: requestUrl, clientId: this.clientId },
timeout: 3,
mqttVersion: 3,
cleanSession: true,
useSSL: true,
onSuccess: this.mqttOnConnect,
keepAliveInterval: 3,
onFailure: function (failureMessage) {
console.log('Connection failed: ' + failureMessage.errorCode + 'Retrying');
},
reconnect: true,
};
this.client.connect(options);
mqtt-клиент Javascript с библиотекой mqtt.js
`var options = {
//port: PORT,
//host: HOST,
key: KEY,
cert: CERT,
// The CA list will be used to determine if server is authorized
ca: TRUSTED_CA_LIST,
clientId: clientId_Var,
rejectUnauthorized: true,
connectTimeout: 30 * 1000,
keepalive: 10 * 1000,
protocol: 'wss',
}`
var client = mqtt.connect('wss://IP:8084', options)
client.on('connect', function () {
console.log('Connected')
client.subscribe('topic1')
client.publish('topic2', 'message payload')
client.on('message', function (topic, message) {
console.log(message)
})
client.on('close', function () {
console.log(clientId_Var + ' disconnected')
})
client.on('error', function (err) {
console.log(err)
client.end()
})
Если я использую библиотеку mqtt.js, она подключается, и мой клиент автоматически завершает соединение безо всякой причины (закрывается)