使用 OpenSSL 生成 ECDSA 密钥和 CSR

使用 OpenSSL 生成 ECDSA 密钥和 CSR

我知道如何生成 RSA 私钥和 CSR:

openssl genrsa -out my.key.pem 2048
openssl req -new -sha256 -key my.key.pem -out my.csr

但是,如何使用 ECDSA(椭圆曲线数字签名算法)做同样的事情?

答案1

要获取可能的曲线名称的列表,请运行:

openssl ecparam -list_curves

然后,从列表中选择一条曲线并将第一行替换为:

openssl ecparam -name secp521r1 -genkey -noout -out my.key.pem

secp521r1用列表中选择的任意曲线替换)

最后,按照以下步骤生成 CSR:

openssl req -new -sha256 -key my.key.pem -out my.csr

答案2

根据接受的答案,我想使用genpkey命令进行更普遍的用途:

openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:secp521r1 -out my.key.pem

-algorithm-pkeyopt可以参考openssl 手册密钥生成选项

然后:

openssl req -new -sha256 -key my.key.pem -out my.csr

相关内容