21.8. 通过在 MOK 列表中添加公钥在目标系统中注册公钥
您必须在系统上验证您的公钥以进行内核或内核模块访问,并将其注册到目标系统的平台密钥环(.platform)中。当 RHEL 10 在启用了安全引导机制的基于 UEFI 的系统上引导时,内核会从 db key 数据库导入公钥,并从 dbx 数据库排除撤销的密钥。
Machine Owner Key (MOK)工具允许扩展 UEFI 安全引导密钥数据库。当在启用了安全引导机制的 UEFI 系统上引导 RHEL 10 时,MOK 列表上的密钥与来自安全引导数据库的密钥一起被添加到平台密钥环(.platform)中。MOK 密钥的列表以同样的方式被安全且持久地存储,但它是独立于安全引导数据库的工具。
MOK 工具被 shim、MokManager、GRUB 和为基于 UEFI 的系统启用安全密钥管理和身份验证的 mokutil 工具支持。
要在您的系统上获得内核模块的身份验证服务,请考虑请求您的系统厂商将公钥合并到其工厂固件镜像中的 UEFI 安全引导密钥数据库中。
先决条件
- 您已生成了一个公钥和私钥对,并了解公钥的有效日期。详情请参阅生成公钥和私钥对。
步骤
将您的公钥导出到
sb_cert.cer文件中:certutil -d /etc/pki/pesign \ -n 'Custom Secure Boot key' \ -Lr \ > sb_cert.cer# certutil -d /etc/pki/pesign \ -n 'Custom Secure Boot key' \ -Lr \ > sb_cert.cerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将您的公钥导入到 MOK 列表中:
mokutil --import sb_cert.cer
# mokutil --import sb_cert.cerCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 输入此 MOK 注册请求的新密码。
重启机器。
shim引导装载程序会注意到待处理的 MOK 密钥注册请求,并启动MokManager.efi,以使您从 UEFI 控制台完成注册。选择
Enroll MOK,在提示时输入之前与此请求关联的密码,并确认注册。您的公钥已添加到 MOK 列表中,这是永久的。
密钥位于 MOK 列表中后,它将会在启用 UEFI 安全引导时自动将其传播到此列表上的
.platform密钥环中。