完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想用非易失性密钥获取CMAC值(仅验证甚至可以)。我正在使用修改后的“csec_boot_protection_s32k148”项目。初始化 CSEc 模块后,我使用给定的指令加载密钥 ROM RAM:
uint8_t testkey[16] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}; retVal = loadKey(CSEC_KEY_7, testkey, 1, 1); 然后,我从 FLASH 进行调试并尝试使用加载的非易失性密钥 (CSEC_KEY_7) 生成速率/验证 MAC 值: uint8_t input_text[16] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}; statusMAC = CSEC_DRV_GenerateMAC(CSEC_KEY_7, input_text, 128U, cmac, 10U); statusMAC = CSEC_DRV_VerifyMAC(CSEC_KEY_7, input_text, 128U, cmac, 128U, &verifStatus, 10U); 不幸的是,两个 statusMAC 值都返回 0x404,它指的是 STATUS_SEC_KEY_INVALID。 据此,我无法使用 CSEC_KEY_7 获取/验证 CMAC 值。另一方面,我可以按照给定的说明使用纯文本密钥获取并验证 CMAC 值: stat = CSEC_DRV_LoadPlainKey(testkey); statusMAC = CSEC_DRV_GenerateMAC(CSEC_RAM_KEY, input_text, 128U, cmac, 10U); statusMAC = CSEC_DRV_VerifyMAC(CSEC_RAM_KEY, input_text, 128U, cmac, 128U, &verifStatus, 10U); 对于上述给定条件,我得到了真实的 CMAC 值(与使用 AN4235 中提到的 Perl 脚本获得的 CMAC 相比)。简而言之,我无法使用 CSEC_KEY_7、CSEC_KEY_10 等非易失性密钥成功调用 generateMAC 函数。我想使用 CSE_KEY_7 而不是 RAM 密钥来获取它。是否有任何选择或替代方法可以按照我的意愿执行此操作? 谢谢。 PS:经过一番调查后,必须设置 KEY_USAGE,有人可以帮我改变这个吗? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1950个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36509 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
5787 浏览 1 评论
6177 浏览 1 评论
6876 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4288 浏览 0 评论
688浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
669浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
685浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
766浏览 2评论
890浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 02:20 , Processed in 0.841482 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号