11.9. 使用私钥签名内核

如果启用了 UEFI 安全引导机制,您可以通过载入签名的内核在系统上获得增强的安全好处。

先决条件

步骤

  • 在 x64 构架上:

    1. 创建一个签名的镜像:

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

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

    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*