乐鑫技术交流
直播中

戚歆敦

7年用户 1002经验值
私信 关注
[问答]

ESP8266做出web server,实现https的访问报错了的原因?

参考5a-esp8266_sdk_ssl_user_manual_cn, 把ESP8266做出web server,采用的是自签名的认证,希望实现https的访问,但是报错:SSL/TSL 握手失败

代码如下:

espconn_secure_ca_enable(0x02,450);
espconn_secure_set_default_certificate(default_certificate,default_certificate_len);
espconn_secure_set_default_private_key(default_private_key,default_private_key_len);
espconn_secure_accept(&esp_conn);

所有的发送:espconn_secure_send
                                                                                                                                                      

回帖(1)

马占云

2024-7-9 16:06:57
根据您提供的信息,您正在尝试使用ESP8266创建一个HTTPS Web服务器,并使用自签名证书。但是,在尝试建立SSL/TLS连接时遇到了错误。以下是一些可能的原因和解决方案:

1. 证书格式问题:确保您的自签名证书和私钥是PEM格式。如果它们不是PEM格式,您需要将它们转换为PEM格式。

2. 证书和私钥长度问题:检查`default_certificate_len`和`default_private_key_len`变量是否正确设置。它们应该分别表示证书和私钥的字节长度。

3. 证书和私钥内容问题:确保`default_certificate`和`default_private_key`变量中的内容是正确的。如果内容有误,可能导致SSL/TLS握手失败。

4. 网络问题:检查您的ESP8266设备是否正确连接到网络。如果设备无法访问网络,SSL/TLS握手可能无法完成。

5. 端口问题:确保您的ESP8266设备监听的端口是443,这是HTTPS协议的标准端口。

6. 固件问题:检查您的ESP8266设备是否使用了最新版本的固件。旧版本的固件可能存在已知的SSL/TLS握手问题。

7. 客户端问题:确保您的客户端(如浏览器)接受自签名证书。如果客户端不接受自签名证书,SSL/TLS握手将失败。

8. 调试信息:启用ESP8266的调试功能,以便在出现问题时查看详细的错误信息。这将有助于您确定问题的根本原因。

综上所述,您需要检查证书格式、证书和私钥长度、证书和私钥内容、网络连接、端口设置、固件版本以及客户端设置。同时,启用调试功能以获取更多关于错误的详细信息。希望这些建议能帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分