语法
```
authjtag_config
{
revoke_id = <hex>
spk_revoke_id = <hex>
device_dna = <16-byte hex string>
jtag_timeout = <hex>
authjtag_sign = <signature file>
}
```
描述
指定由 -authenticatedjtag 命令行选项生成的 Authenticated JTAG 消息的属性。使用 BIF-rootpskfile/sskfile 对 Auth JTAG 消息进行签名;对应的 ppkfile/spkfile 会嵌入该消息中。每个分区的密钥覆盖不会影响 Auth JTAG 消息;要更改所用密钥,请更改 BIF-root ppkfile/pskfile/spkfile/sskfile。
对于第二代 Versal AI Edge 系列和第二代 Versal Prime 系列,PPK 和 SPK 始终都会嵌入 Auth JTAG 消息中。
选项为:
- revoke_id
- Auth JTAG 消息本身的撤销 ID。默认值为
0(省略时会记录警告)。有效范围为0–255。注释: 对于 Spartan UltraScale+,有效范围为0–95。 - spk_revoke_id
- Auth JTAG 消息中 SPK 的撤销 ID。有效范围为
0–255。对于 Spartan UltraScale+,有效范围为0–95。注释: 该属性仅适用于第二代 Versal AI Edge 系列、第二代 Versal Prime 系列和 Spartan UltraScale+。它不适用于 Versal 自适应 SoC。 - device_dna
- 该消息绑定到的器件 DNA。必须是一个 16 字节(32 个十六进制字符)的值。设置该值后,会将 Auth JTAG 消息中 Attributes 字的对应掩码位置位。
- jtag_timeout
- 放置在 Auth JTAG 消息中的 32 位 JTAG 超时值。
- authjtag_sign
- 预计算的 Auth JTAG 消息签名文件。当构建主机上 SSK 不可用时,供 HSM/离线签名流程使用。欲知详情,请参阅 Versal 经过身份验证的 JTAG HSM 流程。
支持的架构:versal、versal_2ve_2vm、spartanup。
请参阅 命令参考 中的 authenticatedjtag。
示例
独立的 Auth JTAG BIF(无启动镜像):
```
all:
{
pskfile = primary.lms.prv
ppkfile = primary.lms.pub
sskfile = secondary.lms.prv
spkfile = secondary.lms.pub
authjtag_config
{
revoke_id = 0x23
device_dna = 112233445566778899AABBCCDDEEFF11
jtag_timeout = 0x11223344
}
}
```
Command:
```
bootgen -arch versal_2ve_2vm -image authjtag.bif \
-authenticatedjtag lms-sha256 authJtag-lms-sha256.bin
```
使用 authjtag_config 启动 BIF(一次调用同时生成 BOOT.bin 和 Auth JTAG 镜像):
```
new_bif:
{
id_code = 0x14ca8093
extended_id_code = 0x01
id = 0x2
pskfile = primary.lms.prv
ppkfile = primary.lms.pub
sskfile = secondary.lms.prv
spkfile = secondary.lms.pub
authjtag_config
{
revoke_id = 0x23
device_dna = 112233445566778899AABBCCDDEEFF11
jtag_timeout = 0x11223344
}
image
{
name = pmc_subsys
id = 0x1c000001
partition { id = 0x01, type = bootloader, authentication = lms-sha256, file = plm.elf }
partition { id = 0x09, type = pmcdata, load = 0xf2000000, file = pmc_data.cdo }
}
}
```
Command:
```
bootgen -arch versal_2ve_2vm -image boot.bif -w -o BOOT.bin \
-authenticatedjtag lms-sha256 authJtag-lms-sha256.bin
```