语法
[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
}