tianmikc 发表于 2019-5-29 16:44:07

stm32f429添加https遇到了bad record mac错误

相关的移植代码:https://www.stmcu.org.cn/document/detail/index/id-215063,这个我基于st公司的代码所做的移植,使用的是他们修改的pollarssl代码,   
移植之后,发现出现如下的问题:
平台:stm32f429ve,512kB Rom,256ram,180MHZ

使用wireshark的时候,出现了如下的错误
http://www.openedv.com/data/attachment/forum/201905/24/104936gdfiy4ze3xx0i3i9.png


然后定位代码,发现出现错误的地方是在如下的函数中
http://www.openedv.com/data/attachment/forum/201905/24/105123stbydaeevceczxdt.png




定位static int ssl_decrypt_buf( ssl_context *ssl )函数,问题进一步确定是在:
http://www.openedv.com/data/attachment/forum/201905/24/105253a4pe6xluh40epl4h.png
然后上面的函数处理后的数据,导致如下的地方直接返回POLARSSL_ERR_SSL_INVALID_MAC:
http://www.openedv.com/data/attachment/forum/201905/24/105420wore2olgo7czkgnk.png
相当于这里卡在了握手环节上面


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






tianmikc 发表于 2019-5-30 16:00:44

请问有会的朋友么?:)能给点提示么?

butterflyspring 发表于 2019-6-26 16:41:01

你的截图看不到,不过建议检查一下TLS的配置,从这个方面入手看看。看起来像是TLS握手的问题。很多时候都跟MBEDTLS_SSL_MAX_CONTENT_LEN这个宏有关,定义的大小不够导致buffer里的数据不全。你用的是
polarssl(现在官方cube库里都换成mbetls了),但应该也有对应的配置项。:)
页: [1]
查看完整版本: stm32f429添加https遇到了bad record mac错误