openssl 'genpkey -算法 RSA' 与 'genrsa'

openssl 'genpkey -算法 RSA' 与 'genrsa'

下面两个命令有什么区别?
1.opensslgenpkey-算法 RSA
2.openssl根萨

在文档中的区别是“私钥”“RSA私钥”

那么..
有什么区别“采用 RSA 算法的私钥”“RSA私钥”

答案1

genpkey命令可以创建其他类型的私钥 - DSA、DH、EC 或许还有 GOST - 而 顾名思义genrsa,仅生成 RSA 密钥。有等效的gendhgendsa命令。

但是,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 KEYEND RSA PRIVATE KEYwhileopenssl 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 KEYEND RSA PRIVATE KEY分隔符行(由 生成)openssl genrsa ...,而不是使用BEGIN PRIVATE KEY/ END PRIVATE KEY(由 生成)openssl genpkey ...

DKIM: signing failed (RC -101)如果分隔符行错误,则发送邮件时Exim 将失败并在紧急日志中显示消息。

相关内容