安全签名使用指南
about
安全性是物联网解决方案中至关重要的一环,保障设备的安全始终是核心考量。ESP32 系列 SoC(如 ESP32、ESP32-S3、ESP32-C3、ESP32-C6 等)支持安全启动,可确保设备只能运行经过合法签名的固件。
如需了解更多关于安全启动的信息,请参考 ESP IDF 文档。本指南仅介绍如何通过 ESP RainMaker 的安全签名功能启用安全启动,不涉及安全启动原理细节。
如需了解更多安全签名内容,请查阅此文档。
reminder
本用户指南需要用户访问 ESP RainMaker 管理面板。
总体流程
安全签名的整体流程如下:
在管理面板创建签名密钥
- 安全签名的第一步是创建密钥。可通过公有 RainMaker 管理面板 或私有部署的 RainMaker 管理面板完成。
- 进入
Key Management密钥管理页面,点击右上角Generate New Key生成新密钥。 - 输入自定义名称和描述,选择算法并生成。
- 一般建议选择 RSA-3072 作为安全启动 v2 的算法。
(请查阅 IDF 文档确认平台支持的算法。)

密钥生成后,会在列表中显示相关信息。

在固件端生成固件镜像
为支持安全启动,需在 sdkconfig 中启用相应配置:
-
启用硬件安全启动(CONFIG_SECURE_BOOT),设置如下:
-
禁用
CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES,因为签名将在云端完成,设置如下: -
可选:启用 flash 加密
CONFIG_SECURE_FLASH_ENC_ENABLED,设置如下: -
将分区表偏移
CONFIG_PARTITION_TABLE_OFFSET设置为0xC000,如下: -
选择
partitions_4mb_optimised.csv作为分区表CONFIG_PARTITION_TABLE_CUSTOM_FILENAME,设置如下:这是因为默认 RainMaker 分区大小不足。启用安全启动后,镜像体积会因额外代码、填充和签名而增大。
-
使用
idf.py build构建项目。
镜像签名
启用安全启动前,需要对引导加载程序和固件镜像进行签名。
信息
后续 OTA 固件升级时,仅需对固件镜像签名。