Skip to content

Secure Boot Recovery

The Microsoft 2011 Secure Boot Certificates used to boot Windows OS and Third Party applications, drivers, option roms, through Secure Boot are expiring on 10/19/2026. New certificates have been created and are available at Keys Required for Secure Boot on all PCs | Learn Microsoft..

This EFI application is used to transition a system from the 2011 certificates to the 2023 certificates.

Files

  • SecureBootRecovery.c
  • Recovery Logic
  • SecureBootRecovery.inf
  • Setup Information
  • Payload/dbUpdate.bin
  • Raw Recovery Payload - This file is an authenticated variable with a payload to update the DB
    • Attributes:
    • NON_VOLATILE | BOOTSERVICE_ACCESS | RUNTIME_ACCESS | TIME_BASED_AUTHENTICATED_WRITE_ACCESS | APPEND_WRITE
    • Note: The signer must have it's public certificate found in the L"KEK" variable
    • Note: The payload found in this repo is the Microsoft Windows Production PCA 2011 signed Windows UEFI CA 2023 DB payload
  • RecoveryPayload.h
  • The C representation of the dbUpdate.bin file auto generated by Helper.py
  • Helper.py
  • Generates RecoveryPayload.h from Payload/dbUpdate.bin

Build

stuart_ci_setup -c .pytool/CISettings.py BUILDMODULE=MsApplicationPkg/SecureBootRecovery/SecureBootRecovery.inf -p MsApplicationPkg
stuart_update -c .pytool/CISettings.py BUILDMODULE=MsApplicationPkg/SecureBootRecovery/SecureBootRecovery.inf -p MsApplicationPkg
stuart_ci_build -c .pytool/CISettings.py BUILDMODULE=MsApplicationPkg/SecureBootRecovery/SecureBootRecovery.inf -p MsApplicationPkg

Update the payload

If the recovery payload needs to be updated, replace the file Payload/dbUpdate.bin with a KEK signed payload.

Then execute:

python helper.py