Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
1.9.3. 生成公共和专用 X.509 密钥对
您需要生成一个公共和私有 X.509 密钥对,才能成功在启用了安全引导的系统上使用内核模块。之后您将使用私钥为内核模块签名。您还必须将对应的公钥添加到用于安全引导的 Machine Owner Key(MOK)中,以验证签名的模块。具体步骤请查看 第 1.9.4.2 节 “系统管理员手动将公钥添加到 MOK 列表中”。
这个密钥对生成的一些参数最好用配置文件指定。
使用密钥对生成参数创建配置文件:
# cat << EOF > configuration_file.config [ req ] default_bits = 4096 distinguished_name = req_distinguished_name prompt = no string_mask = utf8only x509_extensions = myexts [ req_distinguished_name ] O = Organization CN = Organization signing key emailAddress = E-mail address [ myexts ] basicConstraints=critical,CA:FALSE keyUsage=digitalSignature subjectKeyIdentifier=hash authorityKeyIdentifier=keyid EOF
如以下示例所示,创建 X.509 公钥和私钥对:
# openssl req -x509 -new -nodes -utf8 -sha256 -days 36500 \ -batch -config configuration_file.config -outform DER \ -out my_signing_key_pub.der \ -keyout my_signing_key.priv
公钥将写入
my_signing_key_pub.der
文件,私钥将写入my_signing_key.priv
文件中。在您要验证并载入内核模块的所有系统中注册您的公钥。
详情请查看 第 1.9.4 节 “在目标系统中注册公钥”。
警告
应用强大的安全措施和访问策略来保护您的私钥内容。对于一个恶意的用户,可以使用这个密钥破坏所有由对应公钥验证的系统。