乐鑫技术交流
直播中

半导体开发

11年用户 920经验值
擅长:可编程逻辑
私信 关注
[问答]

使用libmbedtls构建固件,无法再使用ssl连接到服务器,为什么?

我正在运行:

AT版本:1.3.0.0(Jul 14, 2016 18:54:01)
SDK版本:2.0.0(656edbf)
编译时间:2017年5月25日 21:01:48

我已经按照 sdk 指南中的说明使用 libmbedtls 构建固件,并且它运行正常。 问题是我无法再使用ssl连接到服务器。我已经尝试了上述和较新的 2.1.0 SDK 版本,两者都带有 mbedtls。两者都不起作用并给我:“错误”

从那以后,我又回到了使用 libssl 和 ssl 正常工作,但它没有 TLS 1.2。

如果有人能帮助我,我会很高兴的。 作为参考,我正在使用https://github.com/ekstrand/esp8266wifi/作为带有纳米与ESP8266通信的包装器。

回帖(1)

陈伟

2024-7-16 17:49:10
在使用libmbedtls构建固件时,无法连接到SSL服务器的问题可能有以下几个原因:

1. **配置问题**:确保在编译固件时正确配置了libmbedtls。检查Makefile或相关配置文件,确保已正确包含libmbedtls库。

2. **证书问题**:SSL连接需要服务器的证书。确保已正确加载并配置了服务器证书。如果证书格式不正确或证书链不完整,可能导致连接失败。

3. **协议版本问题**:您提到使用libssl时没有TLS 1.2,而libmbedtls支持TLS 1.2。确保您的服务器支持TLS 1.2,并且您的固件已正确配置以使用TLS 1.2。

4. **固件版本问题**:您提到使用的是AT版本1.3.0.0和SDK版本2.0.0。这些版本可能存在已知的bug或不兼容问题。尝试使用更新的固件和SDK版本,例如您提到的2.1.0 SDK版本。

5. **代码问题**:检查您的代码,确保在使用libmbedtls时正确实现了SSL连接。可能需要修改代码以适应libmbedtls的API。

6. **网络问题**:检查您的网络连接,确保设备可以访问服务器。网络问题可能导致连接失败。

为了解决这个问题,您可以尝试以下步骤:

1. 确保已正确配置libmbedtls库。
2. 检查并确保服务器证书正确加载和配置。
3. 确保服务器支持TLS 1.2,并在固件中配置使用TLS 1.2。
4. 尝试使用更新的固件和SDK版本。
5. 检查并修改代码以适应libmbedtls的API。
6. 检查网络连接并确保设备可以访问服务器。

希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能更好地帮助您。
举报

更多回帖

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