web-dev-qa-db-ja.com

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

最近、ASUSZ87-Kマザーボードを搭載したカスタムデスクトップPCにFedora20をインストールしました。いくつかの一般的に知られているバグを考慮して、GeForce 630用のNVIDIA独自のドライバーをインストールし、nouveauドライバーを無効にしました。

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

/usr/share/nvidia/certificate.der

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

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

安全でないモードで起動するという欠点を回避するために、NVIDIAモジュールのx.509証明書をカーネルが認識できるように配置する場所を知りたいので、安全な起動をオフにする必要はありません。

8
zml

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

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

とは言うものの、私は自分のコンピューターで独自のビデオドライバーを使用していないので、この特定のことを自分で行う必要はありませんでした。あなたが取らなければならないいくつかの追加のステップがあると考えられます。

1
Rod Smith

Mokutilを使用してキーを登録することをお勧めします。

Sudo mokutil --import <der file>

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

mokutil --test-key <der file>