STM32
直播中

贾桂林

8年用户 1607经验值
私信 关注
[问答]

stm32f429添加https遇到了bad record mac错误怎么解决?

平台:STM32f429ve,512kB Rom,256ram,180MHZ
使用wireshark的时候,出现了如下的错误



然后定位代码,发现出现错误的地方是在如下的函数中





定位static int ssl_decrypt_buf( ssl_context *ssl )函数,问题进一步确定是在:

然后上面的函数处理后的数据,导致如下的地方直接返回POLARSSL_ERR_SSL_INVALID_MAC:

相当于这里卡在了握手环节上面


请问一下各位有没有相关的经验分享一下,不甚感激,确实卡了好多天






回帖(1)

吴藩

2024-4-19 16:00:50
这个错误通常表示在SSL握手期间出现了消息认证码(MAC)错误。主要原因可能是以下几种情况:

1. 数据包损坏:被发送或接收的数据包可能出现了错误,导致MAC无效。可以使用Wireshark进一步分析数据包是否完整和正确。

2. 密钥匹配问题:在TLS握手期间,客户端和服务器之间需要交换密钥,并使用密钥对通信进行加密和解密。如果密钥不匹配,会导致MAC错误。确保客户端和服务器使用相同的密钥。

3. 版本不匹配:客户端和服务器使用不同版本的TLS协议进行通信,可能会导致MAC错误。确保客户端和服务器使用相同的TLS版本。

4. 块加密模式问题:如果使用的加密算法和块加密模式不匹配,也可能导致MAC错误。确保客户端和服务器使用相同的加密算法和块加密模式。

5. 证书问题:如果证书不正确或失效,可能导致MAC错误。确保服务器端的证书正确并且没有过期。

请检查以上可能的原因,并尝试解决问题。如果问题仍然存在,可以进一步分析日志或调试信息来获取更多详细信息。
举报

更多回帖

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