Как я могу скомпилировать и подписать Grub так, как это позволяет Secure Boot?
Поскольку скомпилированный мной файл.efi Grub2 не прошел проверку подписи кода (например, сертификат подписи кода EV), и теперь моя программа (файл.efi) не может загружать компьютеры, на которых включена безопасная загрузка!
Мой вопрос в том, может ли EV Code Signing Certificate решить эту проблему? Есть ли другие решения, чтобы это исправить?
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>