Как я могу скомпилировать и подписать 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>
Другие вопросы по тегам