openssl pkcs8 -topk8 -inform PEM -outform DER -in server.key -out server.der -nocrypt
openssl rsa -inform PEM -in server.key -outform DER -out server2.der我试图找出为什么server.der和server2.der是两个不同的文件?难道RSA不总是pkcs8吗?
发布于 2019-07-29 20:19:51
命令:
openssl rsa -inform PEM -in server.key -outform DER -out server2.der生成PKCS#1格式的密钥,定义上始终是RSA格式。PKCS#1标准专门定义了RSA密钥的语法。
命令:
openssl pkcs8 -topk8 -inform PEM -outform DER -in server.key -out server.der -nocrypt生成PKCS#8格式的密钥。PKCS#8标准通常定义用于存储私钥的语法。PKCS#8不绑定到特定的算法。PKCS#8可能包含不同算法的私钥。
PKCS#8是一个与PKCS#1相比更高层次的抽象。当私钥基于RSA而PKCS#8用于存储它时,PKCS#8包含PKCS#1 RSA密钥以及与其有关的元数据(如AlgorithmIdentifier )。
https://www.rfc-editor.org/rfc/rfc5208#appendix-A
PrivateKeyInfo ::= SEQUENCE {
version Version,
privateKeyAlgorithm AlgorithmIdentifier {{PrivateKeyAlgorithms}},
privateKey PrivateKey,
attributes [0] Attributes OPTIONAL }如果您以两种格式(PKCS#1和PKCS#8)而不是DER格式输出密钥,并且如果它们不是机密,您可以使用:http://lapo.it/asn1js/来比较它们。
您将看到PKCS#8只是简单地包装了PKCS#1键。
https://stackoverflow.com/questions/57259391
复制相似问题