[PATCH v6 0/3] binman: Fix preload signing with encrypted FIT
Yan WANG
yan.wang at softathome.com
Tue Apr 14 15:15:55 CEST 2026
This series improves the reliability and efficiency of binman preload
header generation and test it against an encrypted FIT image signed with
a preload header.
When a preload header references other entries (e.g. an encrypted FIT)
through the collection etype, the referenced entries may be rebuilt
multiple times during binman processing. This becomes problematic when
the referenced entry produces non-deterministic output, such as FIT
encryption using random IVs or timestamps, since rebuilding the entry
changes the data.
This series ensures that referenced entries are built only once and that
preload signing is performed after all data is collected. It also avoids
unnecessary repacking or repeated signing operations by the preload.
The changes include:
* generate preload header placeholders in ObtainContents() and sign
data only once in ProcessContentsUpdate()
* mark referenced entries as build_done in the collection etype to
avoid rebuilding data
* add a functional test for signing an encrypted FIT with a preload
header
Changes in v6:
- set build_done only when required=True, so it happens during
ProcessContents() rather than ObtainContents()
Paul HENRYS (2):
binman: Generate preload header and sign data only once
tools: binman: Test signing an encrypted FIT with a preload header
yan wang (1):
binman: collection: Set build_done on referenced entries
tools/binman/etype/collection.py | 9 ++-
tools/binman/etype/pre_load.py | 9 +--
tools/binman/etype/section.py | 5 +-
tools/binman/ftest.py | 21 +++++++
.../test/security/pre_load_fit_encrypted.dts | 63 +++++++++++++++++++
5 files changed, 97 insertions(+), 10 deletions(-)
create mode 100644 tools/binman/test/security/pre_load_fit_encrypted.dts
--
2.25.1
More information about the U-Boot
mailing list