我知道如何生成 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