vlrsign
是针对8910平台的签名工具,需要在命令行窗口中运行。
以前版本的
vlrsign.exe
在Windows下既支持命令行模式,也支持直接双击的图形界面模式, 现在的版本只支持命令行模式,不再支持图形界面模式。
选项说明:
-v, --version 显示版本信息
--pw 是使用rsakeygen生成签名秘钥时输入的密码,该密码是读取签名秘钥的口令。
--pn 是使用rsakeygen生成签名秘钥时输入的产品名称,用于检索签名秘钥。
--plen 是针对要签名的对象填充的长度。针对8910平台只有boot.img签名时需要填充,而且填充长度是固定的0xbce0。
--ha 是签名中使用何种hash算法,针对8910平台固定使用Blake2。
--img 指定签名的文件路径和文件名。
--out 指定签名完成后的输出文件路径和文件名。
例子:
vlrsign --pw 12345678 --pn test --plen 0xbce0 --ha Blake2 --img boot.img --out boot.sign.img
vlrsign --pw 12345678 --pn test --ha Blake2 --img fdl2.img --out fdl2.sign.img
vlrsign --pw 12345678 --pn test --ha Blake2 --img ap.img --out ap.sign.img
vlrsign
在执行时需要访问和执行程序相同目录的key.db
文件,这个文件是由rsakeygen
生成的,
包含有签名需要的公私钥对的信息。随工具发布的key.db
只是一个例子,不能在实际产品中使用。在
这个例子中,产品名称是test
,访问这个产品的公私钥对信息的密码是12345678
。在实际使用中,
需要把上面例子中的12345678
替换成实际的密码,test
替换成实际的产品名。
vlrsign
产生的签名对于相同的输入和相同的选项,生成的签名是相同的。因此相同的目录执行多次,
生成的带签名的文件是相同的。
rsakeygen是签名秘钥生成工具,需要在命令行窗口中运行。
以前版本的
rsakeygen.exe
在Windows下既支持命令行模式,也支持直接双击的图形界面模式, 现在的版本只支持命令行模式,不再支持图形界面模式。
选项说明:
-v, --version 显示版本信息
-pw 输入口令,8位ASCII码,以后vlrsign根据读取签名秘钥时回去校验口令是否正确。
-pn 输入产品名称,不超过49个ASCII码,以后vlrsign根据输入的产品名称检索相应的签名秘钥。
rsakeygen
即使输入参数相同,每次产生的公私钥对都是不一样的,产生的key.db
是不同的。
没有办法产生公钥相同的公私钥对。在实际的产品中,生成的公钥(public key)会烧写到终端
的EFUSE中。
rsakeygen
生成的公私钥对以加密的方式保存到和执行程序相同的目录下的key.db
文件,这个
文件包含有敏感信息,因此不能泄露,不能丢失。
key.db
对固件签名,由于公钥和终端EFUSE中的公钥是
相同的,可以通过secure boot检查;当key.db
已经存在时,rsakeygen
可以对不同的产品生成公私钥对,但不能对已有的产品再次
生成公私钥对。