UEFI セキュア ブート データベースに X.509 証明書を追加しますか?

UEFI セキュア ブート データベースに X.509 証明書を追加しますか?

最近、ASUS Z87-K マザーボードを搭載したカスタム デスクトップ PC に Fedora 20 をインストールしました。よく知られているバグがいくつかあるため、GeForce 630 用の NVIDIA 専用ドライバーをインストールし、nouveau ドライバーを無効にしました。

ドライバのインストールが正しく完了すると、モジュールは新しく生成されたキーペアで署名され、x.509証明書が作成され、自動的に配置されます。

/usr/share/nvidia/certificate.der

しかし、その瞬間から、UEFI セキュア ブート オプションを有効にした状態でコンピューターを起動できなくなりました。テキスト モードに切り替えて実行するとnvidia-modprobe、NVIDIA 独自のモジュールがロードされていないことがわかりました。

UEFI メニューでセキュア ブートを無効にすると、コンピューターは起動し、インストールされたドライバーでスムーズに動作します。

安全でないモードで起動するという欠点を回避するには、セキュア ブートをオフにしなくても済むように、カーネルによって認識される NVIDIA モジュールの x.509 証明書をどこに配置すればよいかを知りたいです。

答え1

MokManager.efi証明書をロードしてShimに認識させ、カーネルに受け入れられるようにする必要があります。FedoraがGRUBMokManager.efiを自分で起動できるように設定しているかどうかはわかりません。そうでない場合は、EFIシェルでUSBフラッシュドライブを起動してみてください(セキュアブートを無効にしてください)。再検索。その後、証明書ファイルを起動して読み込むことができるはずですMokManager.efi。(証明書ファイルはユーティリティと同じディスクに保存する必要がありますMokManager.efi。おそらく/boot/efiFedora 内から保存します。)

Linux 内から NVRAM に証明書を追加して、Shim がそれを認識して、次回再起動時に証明書を使用するかどうかを尋ねるようにする方法があるはずですが、それが正確に何であるかはわかりません。おそらく、ディレクトリ/sys/firmware/efiツリーのどこかにファイルを書き込む必要があるでしょう。

とはいえ、私は自分のコンピューターで独自のビデオ ドライバーを使用していないため、この特定の操作を自分で行う必要は一度もありません。必要な追加手順があると考えられます。

答え2

キーを登録するには、mokutil を使用する必要があります。

sudo mokutil --import <der file>

キーが登録されているかどうかをテストできます

mokutil --test-key <der file>

関連情報