Secure Boot certificate update failures or warnings in VMware virtual machines as Microsoft Secure Boot certificates approach expiration.
One or more of the following symptoms may be present:
"Updated Secure Boot certificates are available on this device but have not yet been applied to the firmware. Review the published guidance to complete the update and maintain full protection. This device signature information is included here."The Secure Boot updated failed to update KEK 2023 with error invalid access to memory location.Important Note:
Follow the remediation actions mentioned below to update the Platform Key:
| Scenario | Secure Boot | vTPM | Remediation Action | ||
| ESXi 8.0 U3i (P08) and lower builds & ESX 7.x | ESXi 8.0 U3j (P09) | ESX 9.x | |||
| 1 | Disabled | Disabled | No Action | SilentPK Update Note: This is optional as Secureboot & vTPM are disabled | No Action |
| 2 | Enabled | Disabled | Manual Update from vUEFI interface | SilentPK Update | Manual Update from vUEFI interface |
| 3 | Enabled | Enabled | Manual Update from vUEFI interface | Manual Update from VMX Configuration (preferred for Non Windows VMs) | Manual Update from VMX Configuration (preferred for Non Windows VMs) |
| 4 | Disabled | Enabled | No Action | No Action | No Action |
PowerShell method to list the Secure boot and vTPM status.
Connect-VIServerConnect-VIServer -Server <vc_fqdn / ip_address> -User <username>Get-VM | Where-Object {$_.ExtensionData.Config.BootOptions.EfiSecureBootEnabled -eq $true} | Select NameGet-VM | Where-Object { $_.ExtensionData.Config.Hardware.Device | Where-Object { $_.GetType().Name -eq "VirtualTPM" } }Note: Sample PowerShell script “SecureBootExportVMList.ps1” attached to this KB can be used to export all the VMs list from a vCenter Server in a CSV format as below:
mokutil --pk$pk = Get-SecureBootUEFI -Name PK
$bytes = $pk.Bytes
$cert = $bytes[44..($bytes.Length-1)]
[IO.File]::WriteAllBytes("PK.der", $cert)
certutil -dump PK.derPS C:\> $pk = Get-SecureBootUEFI -Name PK
PS C:\> $bytes = $pk.Bytes
PS C:\> $cert[44..($bytes.Length-1)]
Cannot index into a null array.
At line:1 char:1
+ $cert[44..($bytes.Length-1)]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArray00" as below, which also means that the Platform Key (PK) is invalid.PS C:\> certutil -dump PK.der
00 .
CertUtil: -dump command completed successfully.
PS C:\>$bytes.Length
45Schedule a restart of the Virtual Machines, and the Platform Key (PK) will be updated automatically during the reboot. Sample PowerShell method mentioned below can be used to restart multiple Virtual Machines.
Connect-VIServerConnect-VIServer -Server <vc_fqdn / ip_address> -User <username>Get-VM <VM Name>| Restart-VMGuest -Confirm:$falseGet-Cluster <my-cluster> | Get-VM | Restart-VMGuest -Confirm:$falseNote: Sample PowerShell script “RestartMultipleVMs.ps1” attached to the KB can be used to restart multiple VMs by entering the VM Names in a Text file. Script will initiate the Guest OS reboot of these VMs by connecting to vCenter Server and export the status in a CSV file as below:
CAUTION: If a vTPM is present and disk encryption software (such as BitLocker on Windows or LUKS on Linux) is sealed to specific TPM PCR registers, preparatory steps are required before performing the key update. These steps include creating a VM snapshot, saving the recovery key (for BitLocker-type solutions), or temporarily disabling TPM-sealed disk encryption.
Note: Below steps are recommended only for Linux Virtual Machines with vTPM Enabled. For Windows VMs, Broadcom recommends to wait for an automated solution to become available in a future release.
Connect-VIServer -Server <vc_fqdn / ip_address> -User <username>Get-VM <VM Name> | New-AdvancedSetting -Name 'uefi.secureBoot.PK.resetOnce' -Value "TRUE" -Confirm:$falseGet-Cluster <my-cluster> | Get-VM | New-AdvancedSetting -Name 'uefi.secureBoot.PK.resetOnce' -Value "TRUE" -Confirm:$falseNote: Sample PowerShell script “AddResetOnceVMAdvancedParam.ps1” attached to the KB can be used to add ResetOnce Advanced Parameter on multiple VMs by entering the VM List in a text file. Script will add the Advanced config on Powered Off VMs and export the status in a CSV file as below:
Note: This sample script will give a Warning before proceeding with adding advanced configuration as below:
Q: What is UEFI Secure Boot, and how does it work in vSphere VMs?
UEFI Secure Boot is a firmware-based security feature that ensures a virtual machine boots only with trusted, digitally signed software by enforcing a cryptographic chain of trust from firmware to OS loader. In VMware vSphere VMs, this is implemented in the virtual UEFI (vUEFI) firmware, which validates each boot component using Secure Boot databases stored in virtual NVRAM: the Platform Key (PK) establishes the root of trust, the Key Exchange Key (KEK) authorizes updates, the DB contains allowed signatures, and the DBX lists revoked ones. During boot, the firmware verifies the bootloader (e.g., Windows Boot Manager), which in turn verifies subsequent components, preventing execution of untrusted code. The Secure Boot state persists with the VM (including across vMotion), integrates with vTPM for measured boot (e.g., PCR7 for BitLocker and VBS), and supports authenticated updates—often delivered via OS-Driven authenticated writes or firmware update capsules —to maintain trust over time.
SecureBoot Trust Delegation Model
Platform Ownership (PK)
│
▼
Delegated Update Authority (KEK)
│
▼
Operational Trust Lists (DB / DBX)
Q: What are the original certificates stored in vUEFI PK, KEK and DB databases?
For vSphere VMs, Secure Boot certificates are initialized by the host at the first VM power-on and remain static for the life of the VM unless updated. The following table outlines the default certificate set based on the ESX version and VM HW Version used at the time of VM creation.
| ESX Version and VM HW Version at VM creation | vUEFI database | Certificate | Expiration date |
|---|---|---|---|
| PK | Windows OEM Devices PK | Sep 2038 |
KEK | Microsoft Corporation KEK 2K CA 2023 | Mar 2038 | |
| Microsoft Corporation KEK CA 2011 | Jun 2026 | ||
DB
| Windows UEFI CA 2023 | Jun 2035 | |
Microsoft UEFI CA 2023 | Jun 2038 | ||
Microsoft Windows Production PCA 2011 | Oct 2026 | ||
Microsoft Corporation UEFI CA 2011 | Jun 2026 | ||
VMware Certificate | Dec 2019 | ||
VMware Secure Boot Signing | Oct 2037 | ||
8.0 U2 and 8.0 U3, up to 8.0 P08 release AND VM HW Version 14 or newer | PK | VMW.NULLPK | N/A |
KEK | Microsoft Corporation KEK 2K CA 2023 | Mar 2038 | |
| Microsoft Corporation KEK CA 2011 | Jun 2026 | ||
DB | Windows UEFI CA 2023 | Jun 2035 | |
Microsoft UEFI CA 2023 | Jun 2038 | ||
Microsoft Windows Production PCA 2011 | Oct 2026 | ||
Microsoft Corporation UEFI CA 2011 | Jun 2026 | ||
VMware Certificate | Dec 2019 | ||
VMware Secure Boot Signing | Oct 2037 | ||
Note: Secure Boot support for vSphere VMs was introduced starting with HW Version 13. | PK | VMW.NULLPK | N/A |
KEK | Microsoft Corporation KEK CA 2011 | Jun 2026 | |
DB | Microsoft Windows Production PCA 2011 | Oct 2026 | |
Microsoft Corporation UEFI CA 2011 | Jun 2026 | ||
VMware Certificate | Dec 2019 | ||
VMware Secure Boot Signing | Oct 2037 | ||
| VM HW Version 12 or earlier on any ESX version | N/A: Secure Boot is not supported on VM Hardware Version 12 or earlier. | ||
Q: What is the Microsoft Secure Boot Certificates expiration and transition?
Refer to the official Microsoft documentation: Secure Boot Certificate Updates Guidance
Q: Are Secure Boot-enabled ESX hosts impacted by the Microsoft Secure Boot Certificates expiration?
This KB specifically covers vSphere Virtual Machines. For information regarding physical ESX hosts and the Secure Boot certificate expiration, refer to KB Secure Boot Certificate Expirations: Guidance for ESX Host Secure Boot.
Q: What vSphere VMs are affected by this transition, and how?
| Current PK Certificate | Secure Boot Status | Affected by this certificate transition? | vTPM Status | Will Broadcom's automated PK update solution apply? | Rationale |
| VMW.NULLPK | Enabled | Yes | Disabled | Yes | Update VMW.NULLPK to the Windows OEM Devices PK certificate to facilitate KEK updates. |
| Enabled |
|
| |||
| Disabled | No | Disabled | Yes | Update VMW.NULLPK to the Windows OEM Devices PK certificate to ensure PK readiness if Secure Boot is enabled in the future. | |
| Enabled | No | No automated PK updates to avoid the risk of breaking vTPM-based applications. |
Q: Does upgrading an older VM to Hardware Version 13+ automatically enable Secure Boot?
No. Upgrading the VM Hardware Version of an existing VM does not automatically enable Secure Boot. Secure Boot must be explicitly enabled in the VM's boot options. Therefore, simply upgrading a VM to VM Hardware Version 13 or newer does not automatically put it at risk of Secure Boot failures.
Q: What will happen to my Secure Boot-enabled VMs if I cannot update KEK and DB certificates prior to their expiration?
Q: Who is responsible for updating PK, KEK, and DB for Secure Boot-enabled VMs?
Broadcom's Responsibility:
VMware is taking the lead on ensuring the presence of the Windows OEM Devices PK certificate in the virtual firmware to facilitate KEK update. Our goal is to minimize operational overhead through automated delivery mechanisms for VMs running on major ESX versions currently under General Support.
Customer's Responsibility:
Q: How should I handle the Secure Boot certificate transition for virtual appliances?
From a technical perspective, the Secure Boot certificate transition for virtual appliances is identical to that of regular VMs. However, we highly recommend working with your specific appliance provider before making any changes. You should understand your virtual appliance's Secure Boot baseline, vTPM dependencies, application state, and overall maintenance strategy to determine the best path.
By default, for vSphere/VCF management appliances (e.g., vCenter Server), Secure Boot is disabled, so you can safely skip these VMs.
Q: How should I handle the Secure Boot certificate transition for VM templates?
The approach depends on the type of template you are using, as Secure Boot certificate inheritance behaves differently:
Q: How can I identify VMs that have secure boot enabled?
You can identify VMs with Secure Boot enabled using either the vSphere Client or VMware PowerCLI.
EfiSecureBootEnabled property. Running the following simple PowerCLI command will list all VMs in your environment and their Secure Boot status:PowerShellGet-VM | Select-Object Name, @{N="SecureBootEnabled";E={$_.ExtensionData.Config.BootOptions.EfiSecureBootEnabled}}(To filter and only show VMs where it is enabled, you can append | Where-Object {$_.SecureBootEnabled -eq $true} to the command).Q: How can I update PK?
You should always update PK using VMware-supported methods. All methods below require VM Hardware Version 14 or newer. (Note: Secure Boot support was introduced in Hardware Version 13, but updating PK requires the virtual NVRAM capabilities of Hardware Version 14+). VMware currently provides, or plans to provide, the following four update methods:
We will update this KB when the planned patches become available.
Q: How can I identify VMs that are lacking the Windows OEM Devices PK certificate?
We will update this KB when the planned patches become available and will also provide the sample script here.
Q: What are the VMware-recommended PK update workflow and detailed steps for vSphere 8.x and 9.x?
To minimize operational effort for PK updates for VMs across a cluster containing various VM types, we recommend proceeding in the following order:
For VMs running HW Version 14 or newer:
For VMs running HW Version 13:
We will keep this KB updated with detailed steps for each workflow as the planned patches enabling these PK updates become available.
Q: Will there be future patch for vSphere 7.x version?
As vSphere 7 is beyond its End of General Support date, no automated update tools will be available. Customers remaining on vSphere 7 must perform manual updates for existing and newly created VMs referencing Manual Update of the Secure Boot Platform Key in Virtual Machines or upgrade to a supported version of vSphere to utilize the automation methods.
Q: When can I update PK?
After reviewing the answers to the above questions, you should decide on your update window based on the specific tools you choose to use and the availability of the required patches, as described above.
Q: How can I update KEK and DB?
Q: How can I check if the Microsoft 2023 certificates are present in the vUEFI KEK and DB databases?
The new 2023 KEK certificate is Microsoft Corporation KEK 2K CA 2023. Additionally, Microsoft issued three new 2023 DB certificates: Windows UEFI CA 2023, Microsoft UEFI CA 2023, and Microsoft Option ROM UEFI CA 2023.
Note: The Microsoft Option ROM UEFI CA 2023 certificate is optional and is primarily used to sign third-party Option ROMs (typically found on networking or graphics PCIe passthrough devices), see the subsequent FAQ for guidance on how to handle this specific certificate.
While you should always refer to your OS vendor's official documentation for validation, you can generally use the methods described in the Resolution section of this KB to check the KEK database, and use the following OS-native methods to check your DB database:
For Windows: You can verify the DB certificates natively using PowerShell. Running the following command in an elevated prompt will return True if the certificate is present:
PowerShell
([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Windows UEFI CA 2023')
For Linux: You can use native tools like efitools or mokutil to read Secure Boot variables in plain text. For instance, running the following commands will print the DB lists, allowing you to confirm the presence of the 2023 DB certificates:
Bash
# Using efitools: sudo efi-readvar -v db
# Or using mokutil: mokutil --db
Q: How does the omission of the Microsoft Option ROM UEFI CA 2023 from vSphere VMs affect the Secure Boot certificate transition?
Currently, the Microsoft Option ROM UEFI CA 2023 certificate is not automatically initialized into the vUEFI DB during VM creation.
If you plan to upgrade the firmware of your passthrough device, you must first consult your hardware vendor to understand if the new device firmware solely relies on the Microsoft Option ROM UEFI CA 2023 certificate for Secure Boot verification. If so, this certificate must be present in the VM’s vUEFI DB before the firmware upgrade is performed.
For VMs that require this certificate, we recommend the following steps to add the Microsoft Option ROM UEFI CA 2023 certificate to the vUEFI DB prior to a passthrough device firmware upgrade:
Q: When can I update KEK?
Q: When can I update DB?
Q: When will the Microsoft 2011 DB certificates be forced into revocation?
Certificate revocation means it is explicitly removed from the DB or added to the DBX. We are not currently aware of any near-term timeline for a forced revocation from our OS partners, consult your OS vendor for this.
Change Log: