25.3. 在 QEMU 和 libvirt 上载入 HTTPS 引导加密的 CA 证书


当您没有通过固件接口注册证书时,在 Quick EMUlator (QEMU)或 libvirt 虚拟机上加载 HTTPS 引导 CA 证书的 EFI 签名列表。

先决条件

  • 您以 EFI 签名列表格式创建了一个根 CA 签名列表文件,扩展 .esl
  • 在主机系统上具有 root 权限。
  • 虚拟机使用带有 HTTPS 引导支持的 Open Virtual Machine Firmware (OVMF)。
注意

签名列表文件包含 EFI 签名列表格式的 HTTPS 引导证书颁发机构证书。

当 HTTPS 服务器使用主机信任存储中的 CA 证书时,在主机上运行 update-ca-trust,并使用 /etc/pki/ca-trust/extracted/edk2/cacerts.bin 作为 fw_cfg 参数中的文件。

当使用专用 CA 证书时,在通过 fw_cfg 加载前,创建一个带有 .esl 扩展的 EFI 签名列表文件,该文件只包含那个证书。

流程

  • 使用以下方法之一载入 CA 证书:

    • 对于 QEMU,在 qemu-system-x86_64 命令中添加以下参数:

      # qemu-system-x86_64 <existing-qemu-options> -fw_cfg name=etc/edk2/https/cacerts,file=<path-to-root-ca>.esl
    • 对于 libvirt,在虚拟机配置的 domain 元素中添加以下 XML:

      <qemu:commandline>
        <qemu:arg value='-fw_cfg'/>
        <qemu:arg value='name=etc/edk2/https/cacerts,file=<path-to-root-ca>.esl'/>
      </qemu:commandline>
      重要

      name 值必须是 etc/edk2/https/cacerts。这是 EDK2 如何标识 root CA 签名列表。

验证

  • 启动虚拟机并确认 UEFI HTTPS 引导完成,但没有来自配置的 HTTPS 服务器的证书信任错误。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部