您好。
请您帮忙查一下这个问题好吗?
环境:
SW32N5_GRAYVIP_1.0.25.0
尝试通过自定义 SEM 任务作业在运行时(用于 OTA)重新安装 SMR。
我做了什么:
添加了一个自定义 SEM 命令,该命令从 Fss_Sem_PerformHSERequests(SEM 任务上下文)触发 SMR 重新安装。
SMR 签名使用 AES-256 CMAC,通过 HSE_SRV_ID_MAC(GenerateMAC)进行,密钥安装在 AES NvmKeyGroup(MuMask = MU_0)中。
HSE 请求通过 Fss_Sem_SendServiceRequest(FSS_SEM_CSSI_MU0, ...) 发送,路径与 PublishSysImage 相同。
问题:
MAC 服务请求已被接受(发送返回 OK),但 HSE 响应为 0xA5AA5317 (HSE_SRV_RSP_KEY_EMPTY)
在初始启动时 SMR 安装过程中,相同的 CMAC 密钥和密钥插槽可以正常工作。
只有当从 SEM 任务(运行时)调用时,它才会返回 KEY_EMPTY。
从同一个 SEM 任务中执行 PublishSysImage(只读,无密钥)操作正常。
问题:
运行时 SMR 重新安装(初始配置之后)是否是受支持的工作流程?如果是这样,建议采取什么方法?
为什么同一个密钥槽在启动时可以正常工作,但在 SEM 任务上下文中却会报告 KEY_EMPTY 错误?启用安全启动后,是否存在 MU/分区或密钥目录访问限制?
你好, @EddiePark
感谢您的帖子,很高兴再次支持您。
据我了解,与 SMR 入口关联的密钥在 SMR 入口成功安装后将无法使用。这可能就是同一密钥在运行时无法正确使用的原因。
BR
陈银