2014-12-03 79 views
0

我想弄清楚Linux内核非对称密钥管理是如何工作的。我的问题是:x509分析器是linux内核中唯一可用的关键分析器吗?例如,如果我的密钥以PEM格式存储,那么我如何将此密钥添加到内核密钥环中?Linux内核非对称密钥解析器

谢谢。

回答

0

PEM或多或少是一种包装格式。它使用页眉和页脚来指示基地64 x509(DER)编码证书的开始和结束。所以如果你可以添加一个X509证书,应该很容易添加一个“PEM编码”的证书。 PEM增加了一个ASCII装甲,即它可以被解释为文本。

可以使用openssl命令行来的证书从PEM转换为DER,反之亦然:

openssl x509 -in certificate.pem -outform DER -out certificate.der 

然后,您可以存储在内核中,这似乎是治疗的关键是数据的BLOB证书。


看来你可以存储任何二进制格式的密钥。所以如果你不想使用证书,那么你可以用一些标准格式编码你的公钥。对于通常为SubjectPublicKey的公钥,这是公钥部分中的一个X5.09证书。

要转换只是公钥(从公共或私有密钥)使用方法:

openssl rsa -in private.pem -pubout -outform DER -out public.der 

如果你想存储的绝对最低,便于操作键,那么你可以只存储模量作为大端无符号整数(正好是密钥大小),并将公共指数静态设置为值010001(十六进制)。如果您的应用程序中没有DER编码例程,这非常有用。


确保您的密钥在内核中存储为“永久”密钥,否则它仍然会过期。

+0

其实我的问题是我根本不想处理证书(如果可能的话)。我只是想将我的公钥(无论它是什么格式)添加到内核密钥环中。证书的问题是它们包含到期日期,并且由于我正在使用嵌入式系统,所以我没有保证我的系统日期是正确的(实际上,我确信它不是)。当系统检查证书有效性时,这肯定会导致错误。 – tano 2014-12-04 11:17:19

+0

扩展答案。有用的链接:http://www.ibm.com/developerworks/library/l-key-retention/ – 2014-12-04 17:22:06