Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.9.5. 秘密鍵を使用したカーネルモジュールの署名

カーネルモジュールの準備が完了していることを前提とします。

  • Perl スクリプトを使用して、秘密鍵でカーネルモジュールに署名します。

    # perl /usr/src/kernels/$(uname -r)/scripts/sign-file \
    sha256 \
    my_signing_key.priv\
    my_signing_key_pub.der\
    my_module.ko
    注記

    Perl スクリプトを使用するには、署名するカーネルモジュールファイルの他に、秘密および公開鍵の両方を含むファイルを提供する必要があります。

    カーネルモジュールは ELF イメージ形式で、Perl スクリプトは署名を計算して、カーネルモジュールファイルの ELF イメージに直接追加します。modinfo ユーティリティーを使うと、カーネルモジュールの署名がある場合は、それについての情報を表示できます。modinfo の使用方法は、「モジュール情報の表示」 を参照してください。

    この追加された署名は ELF イメージセクションには含まれず、また ELF イメージの正式な一部ではありません。このため、readelf のようなユーティリティは、この署名をカーネルモジュールに表示することができません。

    これでカーネルモジュールの読み込み準備が完了しました。署名済みのカーネルモジュールは、UEFI セキュアブートが無効となっているシステムまたは UEFI 以外のシステムでも読み込み可能であることに注意してください。つまり、署名済みのカーネルモジュールと署名なしのカーネルモジュールの両方を提供する必要はないことになります。