Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
1.9.5. 使用私钥签名内核模块
假设您的内核模块已就绪:
使用 Perl 脚本使用您的私钥为内核模块签名:
# perl /usr/src/kernels/$(uname -r)/scripts/sign-file \ sha256 \ my_signing_key.priv\ my_signing_key_pub.der\ my_module.ko
注意Perl 脚本要求您同时提供包含私钥和公钥的文件,以及您要签名的内核模块文件。
您的内核模块采用 ELF 镜像格式,Perl 脚本计算,并将签名直接附加到内核模块文件中的 ELF 镜像中。
modinfo
实用程序可用于显示有关内核模块签名的信息(如果存在)。有关使用modinfo
的详情请参考 第 1.4 节 “显示模块信息”。附加的签名不包含在 ELF 镜像部分,不是 ELF 镜像的一个正式部分。因此,
readelf
等实用程序将无法在内核模块中显示签名。您的内核模块现在可以被加载。请注意,您签名的内核模块也可以在禁用 UEFI 安全引导的系统或非 UEFI 系统中加载。这意味着您不需要同时提供内核模块的签名和未签名版本。