无法使用Angular中的SSL证书(打字稿)连接到mqtt代理

时间:2019-07-11 10:41:20

标签: angular typescript client mqtt paho

我无法使用SSL证书(cert.pem,key.pem和ca.pem)连接到mqtt代理。

我一直在使用没有证书的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.js库的Javascript mqtt客户端

`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库,它将进行连接,并且我的客户端会无故自动终止连接(触发关闭)

0 个答案:

没有答案