20.9. 秘密鍵でカーネルに署名する
UEFI セキュアブート機能が有効になっている場合は、署名済みカーネルをロードすると、システムのセキュリティーを強化できます。
前提条件
- 公開鍵と秘密鍵のペアを生成し、公開鍵の有効期限を知っています。詳細については、公開鍵と秘密鍵のペアの生成 を参照してください。
- ターゲットシステムに公開鍵を登録しています。詳細については、公開鍵を MOK リストに追加して、ターゲットシステムに公開鍵を登録する を参照してください。
- 署名に使用できる ELF 形式のカーネルイメージがあります。
手順
x64 アーキテクチャーの場合:
署名済みイメージを作成します。
# pesign --certificate 'Custom Secure Boot key' \ --in vmlinuz-version \ --sign \ --out vmlinuz-version.signed
version
を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.signed
vmlinux
ファイルを圧縮します。# gzip --to-stdout vmlinux-version.signed > vmlinuz-version
圧縮されていない
vmlinux
ファイルを削除します。# rm vmlinux-version*