前置知识:
openssl genpkey -algorithm RSA -out certs/key.pem -aes256
openssl req -new -x509 -key certs/key.pem -out certs/cert.pem -days 3650
内核编译涉及的签名问题:
vim .config
内核给其他模块签名的时候, 用法的算法(具体的用到的是那个算法)
备注:哈希算法主要用于签名过程中,而证书的生成过程是独立于哈希算法的。您可以使用 OpenSSL 生成自签名证书,然后在签署模块时指定使用的哈希算法。
CONFIG_MODULE_SIG=y
CONFIG_MODULE_SIG_ALL=y
# CONFIG_MODULE_SIG_SHA1 is not set (固定的格式 # xxx is not set)
# CONFIG_MODULE_SIG_SHA256 is not set
CONFIG_MODULE_SIG_SHA512=y (启动)
CONFIG_MODULE_SIG_HASH="sha512"
假如用到的算法是sha512 ,使用以下命令签署模块:
scripts/sign-file sha512 certs/cert.pem certs/key.pem <module.ko>
如何解决上面的问题呢?
- 使用证书
- 不适用证书