更新桌面安全启动证书
操作场景
制作用户桌面镜像章节制作的私有镜像完成了驱动、软件、系统环境的标准化配置,并通过API接口成功启用安全启动,然而,该镜像中的数字证书仍为2011版本,当证书吊销或失效时可能会导致发放的桌面异常,需要升级至2023版本。2023版本证书不支持直接导入至初始创建的镜像中,其更新必须基于已启用安全启动且携带2011版本证书的原始镜像进行增量刷新,需执行如下操作流程:
- 使用制作用户桌面镜像章节制作的镜像新发放一台弹性云服务器。
- 在弹性云服务器中完成2023版本证书的更新。
- 吊销弹性云服务器中原2011版本证书。
- 将弹性云服务器创建为镜像。
- 调用接口开启安全启动。
限制与约束
仅如下操作系统版本支持:
- Windows 11 23H2企业版
- Windows 11 24H2专业版
- Windows 11 24H2企业版
- Windows 11 24H2企业版LTSC
在云服务器中更新2023版本证书
更新DB证书
将“Windows UEFI CA 2023”证书添加到 UEFI“安全启动签名数据库”(DB)。 通过将此证书添加到数据库,设备固件将会信任由此证书签名的启动应用程序。
- 通过账号密码登录弹性云服务器。
- 分别执行如下命令更新DB证书。
- 在云服务器中单击“
”,搜索“命令提示符”,右键单击“以管理员身份运行”,打开命令提示行窗口。
执行命令:reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x40 /f
- 在云服务器中单击“
”,搜索“Windows PowerShell”,右键单击“以管理员身份运行”,进入Windows PowerShell运行窗口。
执行命令:Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
- 在“Windows PowerShell”运行窗口中执行如下命令查看DB证书是否更新。
[System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Windows UEFI CA 2023'
结果返回为“True”说明数据库已成功更新。
- 在云服务器中单击“
更新设备上的启动管理器
在设备上安装使用“Windows UEFI CA 2023”证书签名的启动管理器应用程序。
- 在云服务器中单击“
”,搜索“命令提示符”,右键单击“以管理员身份运行”,打开命令提示行窗口。
执行命令:reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x100 /f
- 在云服务器中单击“
”,搜索“Windows PowerShell”,右键单击“以管理员身份运行”,进入Windows PowerShell运行窗口。
执行命令:Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
- 重启云服务器。
检查2023证书是否已更新
检查bootmgfw.efi”文件是否由“Windows UEFI CA 2023”证书签名
吊销2011证书

吊销2011证书之后,由于之前的镜像校验配置的证书为2011,重启之后ECS就会无法正常启动。
- 将“Windows 生产 PCA 2011”证书添加到安全启动 UEFI 禁止列表 (DBX)。
分别执行如下命令:
- 在云服务器中单击“
”,搜索“命令提示符”,右键单击“以管理员身份运行”,打开命令提示行窗口。
执行命令:reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x80 /f
- 在云服务器中单击“
”,搜索“Windows PowerShell”,右键单击“以管理员身份运行”,进入Windows PowerShell运行窗口。
执行命令:Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
- 在云服务器中单击“
- 在云服务器下方菜单栏,右键单击
,选择“运行”,输入“eventvwr.msc”,按回车键。
- 在事件查看器页面依次单击“Windows日志 > 系统”。
- 在事件ID中查看“1037”事件,验证是否已成功应用安装和吊销列表。
删除临时admin用户
- 在云服务器下方菜单栏,右键单击
,选择“运行”,输入“sysdm.cpl”,按回车键,
弹出“系统属性”窗口。
- 在“高级”页签,在“用户配置文件”区域,单击“设置”。
- 在“用户配置文件”页面,选中待删除的用户名的配置文件,单击“删除”。
- 单击“是”。
- 在云服务器下方菜单栏,右键单击
,选择“运行”,输入“compmgmt.msc”,按回车键,
弹出“计算机管理”窗口。
- 在导航树中,选择“本地用户和组 > 用户”。
- 在右边窗格中,右键单击16中创建的admin临时用户,选择“删除”,单击“是”。
- 关闭“计算机管理”窗口
为镜像配置2023版本证书和安全启动
- 参考前提条件中获取2023版本证书。
- 通过账号密码登录弹性云服务器。
- 在本地Windows PC的开始菜单搜索“Windows PowerShell”,单击“以管理员身份运行”,进入Windows PowerShell运行窗口。
- 分别执行如下命令将1获取的证书转换成Base64格式。
- 将“windows oem devices pk.cer”证书转换成Base64格式。
[System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes("windows oem devices pk.cer证书存放路径")) | Out-File -FilePath "windows oem devices pk.base64证书生成路径" -NoNewline
- 将“microsoft corporation kek 2k ca 2023.crt”证书转换成Base64格式。
[System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes("microsoft corporation kek 2k ca 2023.crt证书存放路径")) | Out-File -FilePath "microsoft corporation kek 2k ca 2023.base64证书生成路径" -NoNewline
- 将“windows uefi ca 2023.crt”证书转换成Base64格式。
[System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes("windows uefi ca 2023.crt证书存放路径")) | Out-File -FilePath "windows uefi ca 2023.base64证书生成路径" -NoNewline
以上命令中的3个证书存放路径和3个证书的生成路径需要根据实际情况替换。
以“windows oem devices pk.cer”证书为例:
- 证书存放路径示例:“C:\windows oem devices pk.cer”。
- 证书生成路径示例:“C:\windows oem devices pk.base64”。
- 将“windows oem devices pk.cer”证书转换成Base64格式。
- 调用接口,开启安全启动和VTPM。
- 获取制作镜像章节中的image_id,在弹性云服务器页面左侧导航栏单击“镜像服务”。
- 在镜像服务页面,获取镜像ID,如图1所示。
- 按照以下模板,根据说明进行编辑后备用。
拷贝4中密钥内容时,不拷贝首行“-----BEGIN CERTIFICATE-----”和末尾“-----END CERTIFICATE-----”。
[ { "op": "add", "path": "/__support_tpm", "value": "true" },{ "op": "add", "path": "/__support_secure_boot", "value": "true" }, { "op": "add", "path": "/__platform_key", "value": "$__platform_key" }, { "op": "add", "path": "/__key_exchange_key", "value": "$__key_exchange_key" }, { "op": "add", "path": "/__signature_database", "value": "$__signature_database" } ]
- 通过API Explorer调用接口。