我试图弄清楚Linux内核非对称密钥管理是如何工作的。我的问题是: x509解析器是linux内核中唯一可用的密钥解析器吗?例如,如果我的密钥以PEM格式存储,如何将该密钥添加到内核密钥环中?
谢谢。
发布于 2014-12-03 18:09:45
PEM或多或少是一种包装器格式。它使用标头和页脚来指示基64 x509 (DER)编码证书的开始和结束。因此,如果您可以添加一个X509证书,那么添加一个"PEM编码“应该是非常容易的。PEM是添加一个ASCII装甲,即它可以解释为文本。
您可以使用openssl命令行将证书从PEM转换为DER,反之亦然:
openssl x509 -in certificate.pem -outform DER -out certificate.der然后,您可以将证书存储在内核中,该内核似乎将密钥视为一团数据。
似乎您可以以任何二进制格式存储密钥。因此,如果您不想使用证书,那么您可以用某种标准格式对您的公钥进行编码。对于通常是SubjectPublicKey的公钥,它是X5.09证书中的公钥部分。
若要仅转换公钥(从公钥或私钥),请使用:
openssl rsa -in private.pem -pubout -outform DER -out public.der如果您想存储绝对最小值,易于处理键,那么您只需将模数存储为大endian无符号整数(确切的键大小),并静态地将公共指数设置为010001值(以十六进制表示)。如果您在应用程序中没有DER编码例程,这是非常有用的。
确保您的密钥作为“永久”密钥存储在内核中,尽管否则它仍将过期。
https://stackoverflow.com/questions/27269641
复制相似问题