Я настроил брокера Mosquitto с использованием доверенных сертификатов CA (Go Daddy). Я могу подключиться к нему с помощью окна MQTT через wss, а также mqtts, установив «Тип сертификата SSL / TLS» на «Сертификат сервера, подписанный CA». Но когда я пытаюсь подключиться с помощью mqtt-client, используя nodejs, появляется следующая ошибка:
« не удалось проверить первый сертификат ». Код ошибки: « UNABLE_TO_VERIFY_LEAF_SIGNATURE »
Я проверил свой файл конфигурации npm. Для ключа «ca» установлено значение null, что означает, что он будет ссылаться на сертификаты root в своем хранилище, но по-прежнему не сможет подключиться.
код:
let MQTT = require('mqtt');
const options = {
port: 8883,
clientId: "test_POC",
protocol: 'mqtts',
}
let client = MQTT.connect('mqtts://xxxx.com',options);
client.on("connect", ()=>{
console.log("Connected to broker "+ client.clientId);
publishToTopic("test_poc", "Hi!");
});
client.on("error", (error)=>{
console.log("Can't connect " + error);
});