语法
[auth_params] ppk_select=<0|1>; spk_id <32-bit spk id>;/ spk_select=<spk-efuse/user-efuse>; auth_header
描述
身份验证参数可指定其他配置,例如用于对启动镜像中的分区进行身份验证的 PPK 和 SPK。此 bif 参数的实参包括:
- ppk_select:选择要使用的 PPK。选项为 0(默认值)或 1。
- spk_id:指定可使用或撤销的 SPK。请参阅 含增强型 RSA 密钥撤销的用户 eFUSE 支持。默认值为 0x00。注释: 虽然头文件与 FSBL 采用不同 SPK,但这两者将共享相同的 SPK ID。
如果仅使用 auth_params 字段,并且其中提供了 SPK ID,那么此 SPK ID 会传输至启动和应用分区。如果在启动和应用分区中都使用 SPK ID,那么启动/镜像头文件分区中的 SPK ID 会被覆盖,并使用应用 SPK。这意味着 Bootgen 在确保头文件与 FSBL 具有相同 SPK ID 的过程中,会选择为其提供的最新版本的 SPK ID。
- spk_select:用于区分 spk 和 user eFUSE。选项包括 spk-efuse(默认值)和 user_efuse。
- header_auth:在不对分区进行身份验证的情况下用于对头文件进行验证。
注释:
- ppk_select 针对每个镜像都唯一。
- 每个分区都可有专用的 spk_select 和 spk_id。
- spk-efuse id 在整个镜像内唯一,但 user-efuse id 可因分区而异。
- 分区范围外的 spk_select/spk_id 用于头文件以及不采用这些规格作为分区属性的任何其他分区。
示例
样本 BIF 1 - test.bif
all: { [auth_params]ppk_select=0;spk_id=0x4 [pskfile] primary.pem [sskfile]secondary.pem [bootloader, authentication=rsa]fsbl.elf }
样本 BIF 2 - test.bif
all: { [auth_params] ppk_select=0;spk_select=spk-efuse;spk_id=0x22 [pskfile] primary.pem [sskfile] secondary.pem [bootloader, authentication = rsa] fsbl.elf }
样本 BIF 3 - test.bif
all: { [auth_params] ppk_select=1; spk_select= user-efuse; spk_id=0x22; header_auth [pskfile] primary.pem [sskfile] secondary.pem [destination_cpu=a53-0] test.elf }
样本 BIF 4 - test.bif
all: { [auth_params] ppk_select=1;spk_select=user-efuse;spk_id=0x22 [pskfile] primary.pem [sskfile] secondary0.pem /* FSBL - Partition-0) */ [ bootloader, destination_cpu = a53-0, authentication = rsa, spk_id = 0x3, spk_select = spk-efuse, sskfile = secondary1.pem ] fsbla53.elf /* Partition-1 */ [ destination_cpu = a53-1, authentication = rsa, spk_id = 0x24, spk_select = user-efuse, sskfile = secondary2.pem ] hello.elf }