Я пытаюсь использовать TLS для связи через mqtt.У меня установлена Ubuntu в моей системе.Для использования TLS я создал сертификаты, используя следующую ссылку:
http://www.embedded101.com/Blogs/PaoloPatierno/entryid/366/mqtt-over-ssl-tls-with-the-m2mqtt-library-and-the-mosquitto-broker
Я могу создавать сертификаты.Я удалил bind_address
из файла конфигурации.Я начинаю комаров с новым файлом конфигурации с mosquitto -c mosquitto_m2mqtt.conf -v
.Mosquitto запускается, но когда я запускаю команду mosquitto_sub
, я получаю сообщение об ошибке, как показано ниже:
mosquitto -c mosquitto_m2mqtt.conf -v
1551172930: mosquitto version 1.4.8 (build date 2016-09-21 11:21:45+0530) starting
1551172930: Config loaded from mosquitto_m2mqtt.conf.
1551172930: Opening ipv4 listen socket on port 8883.
1551172930: Opening ipv6 listen socket on port 8883.
Enter PEM pass phrase:
1551172960: New connection from 127.0.0.1 on port 8883.
1551172960: OpenSSL Error: error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown
1551172960: OpenSSL Error: error:140940E5:SSL routines:ssl3_read_bytes:ssl handshake failure
1551172960: Socket error on client <unknown>, disconnecting.
В окне, которое я подписываюсь, я получаю сообщение об ошибке, как показано ниже:
mosquitto_sub -p 8883 -q 1 -t sensor/temp --cafile /etc/mosquitto/m2mqtt_srv.crt --tls-version tlsv1 -d
Unable to connect (A TLS error occurred.).
Ниже приведены параметры, добавленные в конфигурационный файл.
port 8883
cafile /etc/mosquitto/m2mqtt_ca.crt
certfile /etc/mosquitto/m2mqtt_srv.crt
keyfile /etc/mosquitto/m2mqtt_srv.key
tls_version tlsv1