嵌入式学习小组
直播中

地瓜

13年用户 445经验值
擅长:模拟与电源 能源/照明/显示
私信 关注

为什么ESP32对接腾讯云ASR平台会出现偶发性的签名错误问题呢

为什么ESP32对接腾讯云ASR平台会出现偶发性的签名错误问题呢?怎样去解决这个问题?

回帖(1)

褚溢稚

2021-12-23 11:17:04
对接腾讯云叮当语音识别ASR平台过程中,出现偶发性的签名错误问题,以下是问题分析过程:
1.针对该问题进行详细分析,发现导致签名错误的位置是HMAC-SHA256处理后的数据出现异常
2.怀疑是HMAC-SHA256函数存在BUG,移植HMAC-SHA256和调用ESP-IDF自带HMAC-SHA256函数,仍然存在BUG
3.抓取多组数据,与签名错误数据进行对比,寻找偶发性签名错误差异
4.发现PRINTF出来的HMAC-SHA256数据后半部折半丢失,寻找差异规律,发现根本原因是数据中含有结束符 ''
5.签名ce6dd07b6c8ae92c08ca863a536f562766007c960a22a7a2ac7b5c2edece20c7中存在 '00',8bit作为一个结束符 ''
6.其实签名并没有错误,只是签名数据中存在结束符导致后面处理错误,例如调用printf输出,strlen计算长度等等错误

以上就是对接腾讯叮当云语音识别ASR平台过程中,出现偶发性签名错误的原因,HMAC-SHA256处理后的数据以16进制的形式依次填进以8bit计算的char数据类型的内存单元中,'00' 以8bit作为一个结束符,导致签名数据字符串折半。
举报

更多回帖

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