核心簽名
阿新 • • 發佈:2018-11-05
1)對於我們自己寫的驅動程式,dmesg中有類似於:
itx3010_J45: module verification failed: signature and/or required key missing - tainting kernel (我們寫的驅動)
是因為3.7以後的核心新增核心簽名機制, 當CONFIG_MODULE_SIG_FORCE=y時,核心將只加載帶有公鑰的合法簽名模組,
現在只能自己往.ko裡添加簽名了,在fedora 21(4.1.13)上新增模組的簽名如下(具體可參考核心下的文件 Documentation/module-signing.txt):
查得 系統中的 私鑰檔名為 signing_key.priv,公鑰檔名為 signing_key.x509
在linux核心目錄下執行./scripts/sign-file sha512 signing_key.priv signing_key.x509 /xxx/xxx.ko
執行一次即可,系統重啟之後便不會有該問題。
對於ubuntu16.04(核心 4.10.0),簽名如下:
在核心目錄下:./scripts/sign-file sha512 ./certs/signing_key.pem./certs/signing_key.x509 /ur_path/xxx.ko
參考文件 kernel_path/Documentation/admin-guide/module-signing.rst