【发布时间】:2019-11-18 04:20:32
【问题描述】:
在将 ESP32 与 AWS IOT 连接时出现以下错误:- (错误附后) 我浏览了许多链接,但无法解决问题。 我已经生成了有效的证书:-
aws-root-ca.pem
证书.pem.crt
private.pem.key
E (5446) aws_iot: failed! mbedtls_ssl_handshake returned -0x2700
E (5446) aws_iot: Unable to verify the server's certificate.
E (5456) subpub: Error(-4) connecting to a39wjx7wm5wvia-ats.iot.us-east-2.amazonaws.com:8883
【问题讨论】:
-
嗨,您找到解决此问题的方法了吗?我面临同样的错误。我仅将 aws iot mqtt 用作库,我没有尝试连接到亚马逊服务器。问题是,我可以使用 mosquitto_pub 和 mosquitto_sub 连接到 mosquitto 代理,甚至可以从另一台笔记本电脑(Rpi 中的 mosquitto 代理),但是当涉及到 ESP32 时,我得到了错误的证书(在 mosquitto 代理中)和同样的消息你已张贴。唯一要做的就是检查我通过 mosquitto_pub/sub cmd 连接时使用的 --unsecure 选项并将其应用到 esp32 中。
-
我只是来这里说我找到了解决方案。所以这对任何可能面临这个问题的人都有帮助。我的错误是通用名称,所有认证(CA、代理、客户端)都应该是相同的,并且应该是您的代理 ip(我使用了 mDns(在我的情况下为 www.raspberrypi.local)但仍然没有工作,使用 192.168.x.x 格式),如果您想跳过此验证,只需禁用 isSSLHostnameVerify (= false),这样您就不需要它了。问题调用握手失败(这就是为什么它是连接失败消息(-4))并且 mosquitto 将显示错误的证书。谢谢