我知道可以使用 keyctl 将密钥添加到密钥环中。
由于我要添加的密钥是 IMA/EVM 子系统的密钥,因此它必须在启动过程中尽早加载或已经存在(编译到内核中)。
有没有办法使用附加到密钥环的一组密钥来编译 Linux 内核(4.1)?或者我可以将想要在启动时加载的密钥放在一个特殊的文件夹中(在启动时从中加载它们)?
答案1
版本 4.1 允许通过将 IMA 证书放入“CONFIG_IMA_X509_PATH”(“安全选项配置菜单中的选项”)中定义的路径来加载 IMA 证书。
通过勾选(“安全选项”)中的配置选项“CONFIG_IMA_TRUSTED_KEYRING”,在编译的根目录中生成内核的内置公钥。
然而,在 4.1 中,内核似乎在启动时不会验证 ima 证书是否是使用可信密钥环的密钥进行签名的(似乎在以后的版本中已修复)。