我正在构建非常简单的 IoT 项目,但我遇到了 nodeMCU TLS 问题。我的 Raspberry pi 上有 MQTT 代理,所有证书都已正确插入(在同一个树莓上使用 Paho Client 或远程 PC 上的 Mqtt.fx 客户端一切正常),但是当我尝试从我的 ESP8266 连接到 nodeMCU 时,我得到了 SSL握手错误(是的,我为所有提到的客户端使用相同的证书文件)。我的 ESP8266 代码如下所示:
tls.cert.verify([[
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
]])
m:connect(config.HOST, 8883, 1, function(con)
print("Connected to MQTT broker")
register_myself()
-- And then pings each 1000 milliseconds
tmr.stop(6)
tmr.alarm(6, 1000, 1, send_ping)
end, handle_mqtt_error)
我从 m:connect 收到错误代码 -5 (mqtt.CONN_FAIL_SERVER_NOT_FOUND),但是当我使用 Wireshark 分析数据包时,TLS 握手看起来像这样:
- Client Hello
- Server Hello
- Certificate, Server Hello Done
- TLSv1.2 Record Layer: Alert (Level: Fatal, Description: Unknown CA)
同样在 ESPlorer 控制台中有这样一行:E:M 544,我真的不知道那是什么意思。
最佳答案
万一有人遇到同样的事情,我的问题实际上是由我项目其他部分的高内存使用率引起的,我在应用层使用 AES 进行加密,没有它一切都很好。
关于ssl - nodeMCU TLS 证书错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51357327/