ssl - nodeMCU TLS 证书错误

标签 ssl mqtt tls1.2 esp8266 nodemcu

我正在构建非常简单的 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/

相关文章:

ssl - 使用 PINS 的学校申请是否需要 SSL

ios - 在 XCode 中使用 CocoaMQTT 时 iOS 应用程序出错

node.js - MQTT 嵌入 mosca,无需任何代理

java - 嵌入式 Jetty 响应端口 443 上的 clear http

c++ - C++ 应用程序的 HTTPS 客户端示例

ios - 使用客户端证书和 secp512r1 的 TLS 1.2 连接失败

ssl - 如何使用 SSL 让网站在 Okta 上与 SAML 一起工作

ssl - Jetty 教程中的 SSL 密码

mysql - cPanel SSL 错误 2026 (HY000) : SSL connection error: error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca

azure - MQTT 代理到外界