乐鑫技术交流
直播中

王健

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

SSL在使用无效的客户端协议进行数据传输期间失败了的原因?

目前尚不清楚SSL库的测试情况如何。
我们的产品不使用 AT 接口。
调用顺序为:

espconn_secure_set_size (1,xxx) - 尝试 2k 到 5k - 2k 适用于小额传输,但不适用于大型传输
espconn_secure_cert_req_enable (1,sector) - 这没问题
espconn_secure_ca_enable (1, 扇区) - 总是崩溃 - 导致重新启动 - 我现在没有使用
espconn_secure_connect ()

请注意,对于大额传输,我们似乎至少需要 5k。这导致
espconn_secure_connect () 失败。
如果我使用小于 5k(例如 4k) - SSL 在使用无效的客户端协议进行数据传输期间失败
(连接成功,我可以进行开机自检 - 在另一端接收,
但是当对方发送时,一切都失败了)。
When I use 4.5k - The system reboots- with crash in "rc4_skip"
小额转账就可以了。

请帮忙 - 我注意到我上次发布的SSL支持没有得到回应。
我注意到您发布了 liblwip.a 源代码。你能发布libssl.a的源代码吗?

回帖(1)

感谢相遇

2024-7-12 17:52:48
SSL在使用无效的客户端协议进行数据传输期间失败的原因可能有以下几点:

1. **缓冲区大小不足**:根据您的描述,当尝试使用小于5k的缓冲区大小时,SSL连接失败。这可能是因为SSL握手过程中需要足够的空间来存储数据。如果缓冲区大小不足,可能导致数据传输过程中出现问题。

2. **证书问题**:在使用`espconn_secure_ca_enable`时,如果证书不正确或者不兼容,可能导致SSL连接失败。请确保您使用的证书是有效的,并且与您的SSL库兼容。

3. **SSL库的测试情况**:如果SSL库没有经过充分的测试,可能存在一些未知的bug或者兼容性问题。这可能导致在使用特定协议或数据传输时出现问题。

4. **网络问题**:网络不稳定或者连接中断可能导致SSL握手失败。请检查您的网络连接是否稳定,并确保在数据传输过程中没有中断。

5. **客户端协议问题**:如果客户端使用的协议与服务器端不兼容,可能导致SSL握手失败。请确保客户端和服务器端使用的协议是一致的。

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

1. **增加缓冲区大小**:根据您的描述,至少需要5k的缓冲区大小。请确保在使用`espconn_secure_set_size`时设置足够的缓冲区大小。

2. **检查证书**:请确保您使用的证书是有效的,并且与您的SSL库兼容。

3. **更新SSL库**:如果可能,请尝试更新您的SSL库到最新版本,以解决可能存在的bug或兼容性问题。

4. **检查网络连接**:确保您的网络连接稳定,并在数据传输过程中没有中断。

5. **检查客户端协议**:确保客户端和服务器端使用的协议是一致的。

6. **调试和日志记录**:启用详细的调试和日志记录,以便更好地了解问题所在,并找到解决方案。

通过以上方法,您应该能够找到导致SSL在使用无效的客户端协议进行数据传输期间失败的原因,并采取相应的措施解决问题。
举报

更多回帖

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