Red Hat Training

A Red Hat training course is available for RHEL 8

3.9. 使用私钥签名内核

如果启用了 UEFI 安全引导机制,您可以通过载入签名的内核来获得增强的安全性优势。这部分论述了如何使用现有私钥为内核签名。如果您只需要为内核模块签名,您可以跳过此部分。

先决条件

流程

  • 在 x64 构架中:

    1. 创建签名的镜像:

      # pesign --certificate 'Custom Secure Boot key' \
               --in vmlinuz-version \
               --sign \
               --out vmlinuz-version.signed

      使用 vmlinuz 文件的版本后缀替换 version,将 Custom Secure Boot 密钥 替换为您之前选择的名称。

    2. 可选:检查签名:

      # pesign --show-signature \
               --in vmlinuz-version.signed
    3. 使用签名镜像覆盖未签名的镜像:

      # mv vmlinuz-version.signed vmlinuz-version
  • 在 64 位 ARM 架构中:

    1. 解压缩 vmlinuz 文件:

      # zcat vmlinuz-version > vmlinux-version
    2. 创建签名的镜像:

      # pesign --certificate 'Custom Secure Boot key' \
               --in vmlinux-version \
               --sign \
               --out vmlinux-version.signed
    3. 可选:检查签名:

      # pesign --show-signature \
               --in vmlinux-version.signed
    4. 压缩 vmlinux 文件:

      # gzip --to-stdout vmlinux-version.signed > vmlinuz-version
    5. 删除未压缩的 vmlinux 文件:

      # rm vmlinux-version*