21.9. 使用私钥签名内核
如果启用了 UEFI 安全引导机制,您可以通过载入签名的内核在系统上获得增强的安全好处。
先决条件
- 您已生成了一个公钥和私钥对,并了解公钥的有效日期。详情请参阅生成公钥和私钥对。
- 您已在目标系统上注册了公钥。详情请查看在 MOK 列表中添加公钥在目标系统中注册公钥。
- 您有一个可用于签名的 ELF 格式的内核镜像。
步骤
在 x64 构架上:
创建一个签名的镜像:
# pesign --certificate 'Custom Secure Boot key' \ --in vmlinuz-version \ --sign \ --out vmlinuz-version.signed
使用
vmlinuz
文件的版本后缀替换version
,使用您之前选择的名称替换Custom Secure Boot key
。可选:检查签名:
# pesign --show-signature \ --in vmlinuz-version.signed
使用签名镜像覆盖未签名的镜像:
# mv vmlinuz-version.signed vmlinuz-version
在 64 位 ARM 架构上:
解压缩
vmlinuz
文件:# zcat vmlinuz-version > vmlinux-version
创建一个签名的镜像:
# pesign --certificate 'Custom Secure Boot key' \ --in vmlinux-version \ --sign \ --out vmlinux-version.signed
可选:检查签名:
# pesign --show-signature \ --in vmlinux-version.signed
压缩
vmlinux
文件:# gzip --to-stdout vmlinux-version.signed > vmlinuz-version
删除未压缩的
vmlinux
文件:# rm vmlinux-version*