3.9. 秘密鍵でカーネルに署名する
UEFI セキュアブート機能が有効になっている場合は、署名済みカーネルをロードすると、システムのセキュリティーを強化できます。
前提条件
- 公開鍵と秘密鍵のペアを生成し、公開鍵の有効期限を知っています。詳細は、公開鍵と秘密鍵のペアの生成 を参照してください。
- ターゲットシステムに公開鍵を登録しています。詳細は、公開鍵を MOK リストに追加して、ターゲットシステムに公開鍵を登録する を参照してください。
- 署名に使用できる ELF 形式のカーネルイメージがあります。
手順
x64 アーキテクチャーの場合:
署名済みイメージを作成します。
# pesign --certificate 'Custom Secure Boot key' \ --in vmlinuz-version \ --sign \ --out vmlinuz-version.signedversionをvmlinuzファイルのバージョン接尾辞に置き換え、Custom Secure Boot keyを以前に選択した名前に置き換えます。オプション: 署名を確認します。
# pesign --show-signature \ --in vmlinuz-version.signed未署名イメージを署名済みイメージで上書きします。
# mv vmlinuz-version.signed vmlinuz-version
64 ビット ARM アーキテクチャーの場合:
vmlinuzファイルを解凍します。# zcat vmlinuz-version > vmlinux-version署名済みイメージを作成します。
# pesign --certificate 'Custom Secure Boot key' \ --in vmlinux-version \ --sign \ --out vmlinux-version.signedオプション: 署名を確認します。
# pesign --show-signature \ --in vmlinux-version.signedvmlinuxファイルを圧縮します。# gzip --to-stdout vmlinux-version.signed > vmlinuz-version圧縮されていない
vmlinuxファイルを削除します。# rm vmlinux-version*