In the device, the BootROM verifies the FSBL, and either the FSBL or U-Boot verifies the subsequent partitions using the Public key.
- Verify PPK: This step establishes the authenticity of the primary key, which
authenticates the secondary key.
- The boot image reads PPK from AC
- Generate PPK hash
- The system compares the hashed PPK with the PPK hash retrieved from eFUSE
- If they match, the system trusts the primary key. Otherwise, secure boot fails.
- Verify secondary keys: This step confirms the authenticity of the secondary
key, which authenticates the partitions.
- The boot image reads SPK from AC
- Generate SPK hashed
- Get the SPK hash, by verifying the SPK signature stored in AC, using PPK
- Compare hashes from step (b) and step (c)
- If they match, we trust the secondary key; otherwise, secure boot fails
- Verify partitions: This step confirms the authenticity of the partition being
booted.
- The system reads the partition from the boot image.
- Generate hash of the partition.
- Get the partition hash, by verifying the Partition signature stored in AC, using SPK.
- Compare the hashes from step (b) and step (c)
- If they match, the system trusts the partition. Otherwise, secure boot fails.
Figure 1. Verification Flow Diagram

Bootgen can create a authentication certificate in two ways:
- Supply the PSK and SSK. The SPK signature is calculated on-the-fly using these two inputs.
- Supply the PPK and SSK and the SPK signature as inputs. Use this in situations where the PSK is unknown.