下面两个命令有什么区别?
1.opensslgenpkey-算法 RSA
2.openssl根萨
在文档中的区别是“私钥”和“RSA私钥”。
那么..
有什么区别“采用 RSA 算法的私钥”和“RSA私钥”?
答案1
该genpkey
命令可以创建其他类型的私钥 - DSA、DH、EC 或许还有 GOST - 而 顾名思义genrsa
,仅生成 RSA 密钥。有等效的gendh
和gendsa
命令。
但是,OpenSSL 文档指出这些gen*
命令已被通用命令取代genpkey
。
在您的示例中,两者都会生成 RSA 私钥。
openssl genrsa -out genrsa.key 2048
和
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out genpkey.key
将生成一个 2048 位 RSA 密钥,指数设置为 65537。
简单查看cat
生成的文件即可看到都是PEM格式的私钥;尽管openssl rsa
将它们包含在其中,BEGIN RSA PRIVATE KEY
而END RSA PRIVATE KEY
whileopenssl genpkey
省略了RSA
.前者是PKCS#1格式,而后者是PKCS#8。
对两者进行运行openssl rsa text -in <filename>
表明它们是具有相同publicExponent
.较新的genpkey
命令可以选择使用此选项来更改此设置,-pkeyopt rsa_keygen_pubexp:value
而该genrsa
命令没有此选项。
答案2
请注意,支持 DKIM 的 Exim 不直接接受该命令生成的 RSA 私钥openssl genpkey -algorithm rsa ...
。 Exim 希望私钥使用BEGIN RSA PRIVATE KEY
和END RSA PRIVATE KEY
分隔符行(由 生成)openssl genrsa ...
,而不是使用BEGIN PRIVATE KEY
/ END PRIVATE KEY
(由 生成)openssl genpkey ...
。
DKIM: signing failed (RC -101)
如果分隔符行错误,则发送邮件时Exim 将失败并在紧急日志中显示消息。