auth_params - 2023.2 简体中文

Bootgen 用户指南 (UG1283)

Document ID
UG1283
Release Date
2023-10-18
Version
2023.2 简体中文

语法

[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:在不对分区进行身份验证的情况下用于对头文件进行验证。
注释:
  1. ppk_select 针对每个镜像都唯一。
  2. 每个分区都可有专用的 spk_select 和 spk_id。
  3. spk-efuse id 在整个镜像内唯一,但 user-efuse id 可因分区而异。
  4. 分区范围外的 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                                                   
}