更新时间:2025-09-28 GMT+08:00
分享

更新桌面安全启动证书

操作场景

制作用户桌面镜像章节制作的私有镜像完成了驱动、软件、系统环境的标准化配置,并通过API接口成功启用安全启动,然而,该镜像中的数字证书仍为2011版本,当证书吊销或失效时可能会导致发放的桌面异常,需要升级至2023版本。2023版本证书不支持直接导入至初始创建的镜像中,其更新必须基于已启用安全启动且携带2011版本证书的原始镜像进行增量刷新,需执行如下操作流程:

  1. 使用制作用户桌面镜像章节制作的镜像新发放一台弹性云服务器。
  2. 在弹性云服务器中完成2023版本证书的更新。
  3. 吊销弹性云服务器中原2011版本证书。
  4. 将弹性云服务器创建为镜像。
  5. 调用接口开启安全启动。

前提条件

获取2023版本证书:

  • 获取平台密钥:在获取证书页面中的“PKpub”参数右侧单击下载“windows oem devices pk.cer”密钥。
  • 获取密钥交换密钥: 在获取证书页面中的“Microsoft Corporation KEK 2K CA 2023”参数右侧单击下载“microsoft corporation kek 2k ca 2023.crt”密钥。
  • 获取签名数据库密钥:在获取证书页面中的“Windows UEFI CA 2023”参数右侧单击下载“windows uefi ca 2023.crt”密钥。

限制与约束

仅如下操作系统版本支持:

  • Windows 11 23H2企业版
  • Windows 11 24H2专业版
  • Windows 11 24H2企业版
  • Windows 11 24H2企业版LTSC

发放弹性云服务器

使用制作用户桌面镜像章节制作的镜像新发放一台弹性云服务器。

  • 发放弹性云服务器时规格请选择S7t或Ac8。
  • 发放弹性云服务器过程中,请勾选可信系统下的“安全启动”和“TPM”。

在云服务器中更新2023版本证书

更新DB证书

将“Windows UEFI CA 2023”证书添加到 UEFI“安全启动签名数据库”(DB)。 通过将此证书添加到数据库,设备固件将会信任由此证书签名的启动应用程序。

  1. 通过账号密码登录弹性云服务器。
  2. 分别执行如下命令更新DB证书。

    1. 在云服务器中单击“”,搜索“命令提示符”,右键单击“以管理员身份运行”,打开命令提示行窗口。

    执行命令:reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x40 /f

    1. 在云服务器中单击“”,搜索“Windows PowerShell”,右键单击“以管理员身份运行”,进入Windows PowerShell运行窗口。

    执行命令:Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"

    1. 在“Windows PowerShell”运行窗口中执行如下命令查看DB证书是否更新。

    [System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Windows UEFI CA 2023'

    结果返回为“True”说明数据库已成功更新。

更新设备上的启动管理器

在设备上安装使用“Windows UEFI CA 2023”证书签名的启动管理器应用程序。

  1. 在云服务器中单击“”,搜索“命令提示符”,右键单击“以管理员身份运行”,打开命令提示行窗口。

    执行命令:reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x100 /f

  1. 在云服务器中单击“”,搜索“Windows PowerShell”,右键单击“以管理员身份运行”,进入Windows PowerShell运行窗口。

    执行命令:Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"

  2. 重启云服务器。

检查2023证书是否已更新

检查bootmgfw.efi”文件是否由“Windows UEFI CA 2023”证书签名

  1. 在云服务器中单击“”,搜索“命令提示符”,单击“以管理员身份运行”,打开命令提示行窗口。
  2. 以管理员身份装载 EFI 分区,以做好检查准备。

    执行命令:mountvol s: /s

  3. 将bootmgfw.efi配置文件拷贝至C盘,以便查看。

    执行命令:copy S:\EFI\Microsoft\Boot\bootmgfw.efi c:\bootmgfw_2023.efi

  4. 右键单击文件 C:\bootmgfw_2023.efi,单击“属性”,然后选择 “数字签名” 选项卡。
  5. 单击“详细信息”,然后单击“查看证书(V)”。
  6. 在弹出的证书详情页面单击“证书路径”页签,如下所示。

    如查看的证书非2023版本,请重新执行121~5步骤。

吊销2011证书

吊销2011证书之后,由于之前的镜像校验配置的证书为2011,重启之后ECS就会无法正常启动。

  1. 将“Windows 生产 PCA 2011”证书添加到安全启动 UEFI 禁止列表 (DBX)

    分别执行如下命令:

    1. 在云服务器中单击“”,搜索“命令提示符”,右键单击“以管理员身份运行”,打开命令提示行窗口。

    执行命令:reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x80 /f

    1. 在云服务器中单击“”,搜索“Windows PowerShell”,右键单击“以管理员身份运行”,进入Windows PowerShell运行窗口。

    执行命令:Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"

  2. 在云服务器下方菜单栏,右键单击,选择“运行”,输入“eventvwr.msc”,按回车键。
  3. 在事件查看器页面依次单击“Windows日志 > 系统”。
  4. 在事件ID中查看“1037”事件,验证是否已成功应用安装和吊销列表。

删除临时admin用户

  • 临时用户为16章节中创建的用户。
  • Windows系统的本地用户可以登录使用该镜像创建的每台Windows桌面,出于安全考虑,建议根据实际需求删除Windows系统中不必要的本地用户。
  1. 在云服务器下方菜单栏,右键单击,选择“运行”,输入“sysdm.cpl”,按回车键,

    弹出“系统属性”窗口。

  2. 在“高级”页签,在“用户配置文件”区域,单击“设置”。

  3. 在“用户配置文件”页面,选中待删除的用户名的配置文件,单击“删除”。
  4. 单击“是”。
  5. 在云服务器下方菜单栏,右键单击,选择“运行”,输入“compmgmt.msc”,按回车键,

    弹出“计算机管理”窗口。

  6. 在导航树中,选择“本地用户和组 > 用户”。
  7. 在右边窗格中,右键单击16中创建的admin临时用户,选择“删除”,单击“是”。
  8. 关闭“计算机管理”窗口

制作镜像

  1. 在弹性云服务器列表页面,在待创建镜像的云服务器操作列“更多 > 镜像/备份 > 创建镜像”。
  2. 镜像创建完成后,单击左侧导航栏的“镜像服务”查看。

为镜像配置2023版本证书和安全启动

  1. 参考前提条件中获取2023版本证书。
  2. 通过账号密码登录弹性云服务器。
  3. 在本地Windows PC的开始菜单搜索“Windows PowerShell”,单击“以管理员身份运行”,进入Windows PowerShell运行窗口。
  4. 分别执行如下命令将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”。

  5. 调用接口,开启安全启动和VTPM。

    1. 获取制作镜像章节中的image_id,在弹性云服务器页面左侧导航栏单击“镜像服务”。
    2. 在镜像服务页面,获取镜像ID,如图1所示。
      图1 镜像ID
    3. 按照以下模板,根据说明进行编辑后备用。
      以下参数取值需要进行替换:
      • $__platform_key替换为4中生成的“windows oem devices pk.base64”证书中的内容。
      • $__key_exchange_key替换为4中生成的“microsoft corporation kek 2k ca 2023.base64”证书中的内容。
      • $__signature_database替换为4中生成的“windows uefi ca 2023.base64”证书中的内容。

      拷贝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"  
        }
      ]
    1. 通过API Explorer调用接口。
      1. 根据实际情况下拉选择“Region”。
      2. 输入image_id,镜像ID为5.b中获取的值。
      3. 单击“切换为文本输入”,并输入5.c中的编辑好的内容。
      4. 单击“调试”,如图2所示。
        图2 调用接口

后续操作

使用镜像在云桌面管理控制台发放桌面。

云桌面支持定时定点创建桌面快照,创建桌面快照主要目的是为了实现数据的快速备份和恢复,当出现个人误操作、软件不兼容、系统崩溃或故障、软件冲突等问题时,通过快照恢复功能可以让您的桌面快速恢复到之前的状态,避免数据丢失和工作中断。

相关文档