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