Невозможно подключиться к брокеру mqtt с сертификатами SSL в Angular (машинопись) - PullRequest
0 голосов
/ 11 июля 2019

Мне не удается подключиться к брокеру 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, она подключается, и мой клиент автоматически завершает соединение безо всякой причины (закрывается)

...