由于我自己编写的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>