Page 1 of 1

在ESP32-C3中,安全启动v2支持三个密钥签名的提交,请问具体怎么操作?

Posted: Sat May 07, 2022 1:00 pm
by wangshuoran
IDFv4.3.2版本中,在安全启动V2的文档中提到"How To Enable Secure Boot V2",但是在其中只有指定密钥,没有提到密钥烧录的位置。

那么我想烧录三个密钥,具体的步骤是什么?

Re: 在ESP32-C3中,安全启动v2支持三个密钥签名的提交,请问具体怎么操作?

Posted: Mon May 09, 2022 1:13 pm
by ESP_WangYX
Hi,ESP32C3 支持最多三个签名,这些签名信息统一存储在固件的 4096 bytes 签名块中。
谈到签名,必须了解的是签名的机制,即数字签名的一些使用方法。数字签名使用私钥进行签名,私钥进行颁发公钥,然后公钥校验签名。
如果需要启用三个签名,则签名的三个私钥请保存好。并在初次使能 secure boot v2 的时候使用命令对 bootloader.bin 进行签名。
对 bootloader.bin 的第一个签名,可以通过 menuconfig 里选中的签名文件来自动执行。其他的第二、第三个签名,目前需要手动来执行追加,具体的命令为 `espsecure.py sign_data -k secure_boot_signing_key2.pem -v 2 –append_signatures -o signed_bootloader.bin build/bootloader/bootloader.bin`.。这里可以详细地阅读 这里的说明:https://docs.espressif.com/projects/esp ... tiple-keys
在初次使能 secure boot v2 时,设备若检测到有三个签名信息,会自动将签名校验的相关数据写到 efuse 存储区域。这不需要手动操作。
当然,也可以手动操作,但我们建议使用自动的方式。
手动操作可以使用 espefuse.py 这个烧录 efuse 的工具,具体的使用方法建议运行 espefuse.py -h 来详细了解下说明,也可直接参考文档:
https://docs.espressif.com/projects/esp ... index.html
希望能帮助到您。