概述
SecureBoot签名工具主要是对固件中的各级启动代码进行签名。
支持
芯片
RK3308|
RK3326|RK3399|
RK3328|
RK3228h|
RK3229|
rk3368|RK3228|
RK3288|
RK3128|
RK3126|
RK3188|
RK3036|
RK1808|RK
PX30
1. 签名前的准备工作
1.1 了解芯片与Key的关系
芯片 | Key |
3188/3036 | 1024 |
3228h/3368/3228/3288/3229/3128/3126 | 2048 |
3399/3328/3308/3326/1808/px30 | 2048 Pem(OpenSSL兼容) |
使用1024key的芯片内部没有加解密模块是采用软件进行计算,使用2048key的芯片内部是第一代加解密模块,使用2048 pem key的芯片是最新的加解密模块。
1.2 签名方案与芯片的关系
芯片 | 签名方案 | 安全级别 |
3228h/3368/3228/3288/3229/3128/3126 | 摘要:sha256 (big);签名:rsa 2048(不填充) | 低 |
3399/3328 | 摘要:sha256;签名:rsa 2048(不填充) | 中 |
3308/3326/1808/px30 | 摘要:sha256;签名:rsa 2048(Pss填充) | 高 |
1.3 生成rsa key pair
步骤1:选择key 类型,然后点击"Generate Key pairs"
1.4 key格式相互转换
secureboot签名工具支持两种格式的rsa key,一种是选择2048生成的bin格式key pair,另一种是选择2048 pem生成的pem格式的key pair,openssl工具可以直接使用。
两种格式间的相互转换可以通过高级功能下的"Bin2Pem"和"Pem2Bin"来完成,激活高级功能通过按"Ctrl+RK"键
2. 固件签名
2.1 签名update.img
步骤1:选择芯片
选择完芯片后会自动配置下面信息:
Sign:表示是硬件加解密还是软件,hard为硬件,soft为软件
SHA:表示采用的sha256摘要是大端还是小端,小端是标准sha256算法,大端则需要先对明文进行4字节倒序后再云计算摘要
PSS:表示是否采用pss填充后再进行rsa 2048计算
步骤2:点击"Load Key"加载rsa key pair,先选择私钥再选择公钥
步骤3:点击"Sign
firmware",选择update.img后开始固件签名过程
更多详细内容请下载附件查看