Linux

核心編譯後對模組進行簽名

  • January 16, 2015

我在 tmpfs 中建構了一個核心,然後我重新啟動了。

現在我在編譯第 3 方模組時看到一條消息,

NO SIGN [M] XXXX.ko

我怎樣才能得到它的簽名?我猜期間生成的密鑰對rpmbuild已經失去了

這令人驚訝地缺乏文件。我找到了這個文件module-signing.txt,它是 RHEL6 核心文件的一部分。在本文件中,它展示瞭如何生成簽名密鑰,假設您要將所有模組作為核心建構的一部分進行簽名:

cat >genkey <<EOF
%pubring kernel.pub
%secring kernel.sec
Key-Type: DSA
Key-Length: 512
Name-Real: A. N. Other
Name-Comment: Kernel Module GPG key
%commit
EOF
make scripts/bin2c
gpg --homedir . --batch --gen-key genkey
gpg --homedir . --export --keyring kernel.pub keyname |
scripts/bin2c ksign_def_public_key __initdata >crypto/signature/key.h

此外,來自 Linux Journal 的文章標題為:Signed Kernel Modules有一些很好的細節和步驟,但我找不到使用者空間工具,extract_pkey並且mod它引用了它。

您可能想瀏覽 Greg Kroah 的網站,您可能會在他的一個展示文稿中找到一些有用的東西。

參考

引用自:https://unix.stackexchange.com/questions/74022