[Documentation]: Guidance for OEM self-generation of Secure Boot variable contents and append updates
@SochiOgbuanya is already working on this.
Since Dec 16, 2025.
Assessment
This issue has not been assessed yet.
Description
Request Description
Hello,
We're using secureboot_objects to generate our own KEK/db/dbx contents for VMs running on the XCP-ng hypervisor. During this process, we've run into a few issues:
- https://github.com/microsoft/secureboot_objects/commit/e64d1a5c89e5bc851f72297ab8979a5cec0ffd20 has changed all current templates to point to
dbx_info_msft_latest.jsoninstead of recommending to ship an empty dbx by default. Is this an intentional change? - LegacyFirmwareDefaults.toml suggests to use our own signature owner GUID. Yet WHCP instructs that the MS GUID be used for KEK, without a mention of timestamp. So what's the signature owner and timestamp we should use in our generated SB databases (KEK/db/dbx)?
- Self-generated dbx databases are not append-compatible with the signed versions. In other words, even if we shipped our own dbx, Windows will append its own signed database to the dbx variable. This would quickly consume all of the dbx variable's available space and cause subsequent updates to fail. Do you have any guidance on how to avoid this issue?
- Similarly, are the signed versions append-compatible with what Windows uses to update the dbx? Will there be issues with duplicate EFI_SIGNATURE_DATA if the signed version was shipped?
A final note: We hope that the Secure Boot objects could be shipped under a permissive license (e.g. BSD) that allows us to ship these objects in open-source projects.
Are you going to make the change?
Someone else needs to make the change
Do you need maintainer feedback?
Maintainer feedback requested
Anything else?
No response
- Dominant language
- Python
- Stars
- 289
- Forks
- 89
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 7
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/secureboot_objects
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
microsoft/secureboot_objects#471 ·
-
state:needs-owner state:needs-triage type:bug urgency:high
Difficulty 4/5 3-5 days Newbie friendliness 55/100
microsoft/secureboot_objects#467 · 3 comments ·
-
state:needs-triage type:feature-request urgency:low
Difficulty 3/5 1-2 days Newbie friendliness 55/100
microsoft/secureboot_objects#466 ·
-
state:needs-triage type:feature-request urgency:low
Difficulty 4/5 3-5 days Newbie friendliness 48/100
microsoft/secureboot_objects#462 · 3 comments ·
-
state:needs-owner state:needs-triage type:bug urgency:low
Difficulty 3/5 1-2 days Newbie friendliness 68/100
microsoft/secureboot_objects#424 · 6 comments ·
All issues in microsoft/secureboot_objects
Similar issues
-
documentation help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
simonw/sqlite-utils#872 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100