完善资料让更多小伙伴认识你,还能领取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,有人可以帮我改变这个吗? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
2139个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
37409 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
6802 浏览 1 评论
7831 浏览 1 评论
7665 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
5089 浏览 0 评论
1584浏览 2评论
关于NINA-W132 Wi-Fi模块SPI通信遇到的疑问求解
1224浏览 2评论
如何在MPC PowerPC MCU上首次刷写后禁用BDM?
769浏览 1评论
将HFREFR和LFREFR寄存器值设置为错误的值来将故障注入CMU,但CMU_ISR值始终为零,为什么?
760浏览 1评论
将SPSDK for FRDM-MCX-W71 SDK与VS一起安装时出现hidapi构建错误怎么解决?
701浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 17:07 , Processed in 0.659064 second(s), Total 41, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
532