ESP8266与mosquitto失败TLS握手

时间:2017-10-13 14:18:33

标签: arduino mqtt esp8266 mosquitto

我想建立从ESP8266到mosquitto MQTT服务器的TLS连接。

我正在使用Adafruit example INO和WiFiClientSecure,它成功连接到我的Wifi可以与其他MQTT服务器一起使用(例如iot.eclipse.org:8883)

正当我试图连接到我自己的mosquitto实例时,它失败了 在mosquitto日志中显示:

  

OpenSSL错误:错误:1408A10B:SSL例程:SSL3_GET_CLIENT_HELLO:版本号错误

我的mosquitto.conf看起来像这样

pid_file /var/run/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
allow_anonymous false
listener 51883
password_file /etc/mosquitto/pwfile

conf.d包含:

cafile /etc/letsencrypt/live/<my-domain>/fullchain.pem
certfile /etc/letsencrypt/live/<my-domain>/fullchain.pem
keyfile /etc/letsencrypt/live/<my-domain>/privkey.pem

使用let的加密生成证书 - 来自MQTT-Dash(Adnroid App)的连接完美运行。

我无法弄清楚WiFiClientSecure正在使用哪个TLS版本或如何定义它。

1 个答案:

答案 0 :(得分:0)

今天看到question这个问题,看来你可能不得不指定一个tls_version才能让事情发挥作用

listener 8883
certfile /etc/letsencrypt/live/home.kamidesigns.be/cert.pem
cafile /etc/letsencrypt/live/home.kamidesigns.be/chain.pem
keyfile /etc/letsencrypt/live/home.kamidesigns.be/privkey.pem
tls_version tlsv1.2