openssl 'genpkey -algorithm RSA' 与 'genrsa'

dik*_*iky 4 openssl

以下两个命令有什么区别?
1. openssl genpkey -algorithm RSA
2. openssl genrsa

文档中的区别是"Private Key""RSA Private Key"

然后..
什么是之间的性差异“密码与RSA算法”“RSA私钥”

gar*_*Red 7

genpkey命令可以创建其他类型的私钥——DSA、DH、EC 和 GOST——而genrsa正如其名称所暗示的那样,只生成 RSA 密钥。有等价物gendhgendsa命令。

但是,OpenSSL 文档指出这些gen*命令已被通用genpkey命令取代。

在您的示例中,两者都生成 RSA 私钥。

openssl genrsa -out genrsa.key 2048
Run Code Online (Sandbox Code Playgroud)

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out genpkey.key
Run Code Online (Sandbox Code Playgroud)

将生成指数设置为 65537 的 2048 位 RSA 密钥。

简单cat的查看生成的文件,看它们都是PEM格式的私钥;虽然将openssl rsa它们括起来BEGIN RSA PRIVATE KEYEND RSA PRIVATE KEYopenssl genpkey省略了RSA. 前者是PKCS#1格式,而后者是PKCS#8

openssl rsa text -in <filename>对两者运行表明它们是具有相同publicExponent. 较新的genpkey命令可以选择使用更改此选项,-pkeyopt rsa_keygen_pubexp:valuegenrsa命令没有此选项。