加签流程
固件的加签流程如下图所示。
该流程具体描述如下:
- 消息发送者(用户)使用GProgrammer工具生成公私钥对(RSA_Public_Key、RSA_Private_Key),用于添加签名、验证签名。消息发送者使用私钥RSA_Private_Key生成加签信息。消息接收者(芯片)用公钥RSA_Public_Key验证签名。
- RSA_Public_Key被存储于Application Image布局中并传递给芯片,eFuse中存储着公钥的HASH值。基于RSA_Public_Key计算生成的HASH值与eFuse中存储的RSA_PUBLIC_KEY_HASH须一致。
- 使用单向散列函数生成固件的摘要,再使用私钥RSA_Private_Key加密该摘要,以生成数字签名。