我正在按照给出的步骤这里生成密钥以签署我自己编译的内核副本。但是,在这个过程的中途,当我尝试通过运行以下命令验证“主证书是否已使用其私钥签名”时
$ openssl verify ./master-public.pem
失败并显示以下输出:
C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Master Certificate Authority
error 18 at 0 depth lookup: self signed certificate
error ./master-public.pem: verification failed
根据文档的预期输出是:
./master-public.pem: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Master Certificate Authority
error 18 at 0 depth lookup:self signed certificate
OK
显而易见,我不是安全启动相关恶作剧方面的专家,并且花了很长时间试图找出问题所在却没有任何线索。上面提到的网页也没有提供任何帮助。
有人能告诉我为什么会发生此错误,以及如何修复它吗?Ubunutu Wiki 上的说明是否过时了?如果是,是否有可用的最新说明?我想要做的就是编译并运行staging
内核副本并启用安全启动。
答案1
我最终
make bindep-pkg
使用 vanilla TGZ构建我自己的内核 https://kernel.org- 使用 kexec 启动
因此不需要签名:UEFI 启动官方签名的 Ubuntu 内核,然后我的自定义内核作为 cron@reboot
任务从 Linux 用户空间加载。
答案2
给出的步骤这里确实有效。