如何以安全启动允许的方式编译和签署 Grub?

如何以安全启动允许的方式编译和签署 Grub?

由于我自己编写的Grub2的.efi文件没有经过代码签名(例如EV代码签名证书),导致现在我的程序(.efi文件)无法启动开启了Secure Boot的电脑!

我的问题是 EV 代码签名证书能解决这个问题吗?还有其他解决方案可以解决这个问题吗?

答案1

使用以下命令生成新的 rsa 密钥和证书对openssl

openssl req -new -x509 -sha256 -newkey rsa:<BITS> 
            -keyout <PRIVATE_KEY_PATH> 
            -outform PEM 
            -out <CRT_CERTIFICATE_PATH>


然后使用(或者里面sbsign的签名文件):linux-headers/usr/src

sbsign --key <PRIVATE_KEY> --cert <CRT_CERTIFICATE>
       --output <SIGNED_GRUB_PATH>
       <UNSIGNED_GRUB_PATH>


生成DER证书并导入到固件中:

openssl x509 -in <CRT_CERTIFICATE_PATH>
             -outform DER
             -out <DER_CERTIFICATE_PATH>

sudo mokutil --import <DER_CERTIFICATE_PATH>

相关内容