我是Openssl的新手我已经生成了一个私钥myprivatekey.pem和一个publickey mypublickey.pem:
openssl -ec -in myprivatekey.pem -pubout -out mypublickey.pem
和我的公钥:
{{1}}
我接下来要做的是使用密码私钥加密我的ecdsa并为我的公钥发出认证请求,并感谢您的帮助。
答案 0 :(得分:9)
ecparam
似乎没有内置选项来加密生成的密钥。相反,您可以简单地执行以下操作:
openssl ec -in myprivatekey.pem -out myprivatekey_encrypted.pem -aes256
与genrsa
相比,需要额外的步骤,但这基本上做同样的事情。
现在,就证书请求而言,无论使用何种私钥,命令都几乎相同:
openssl req -new -sha256 -key myprivatekey.pem -out mycertrequest.pem
然后,您可以获取生成的mycertrequest.pem
并将其发送给CA进行签名。
修改强>
如果您担心将未加密的私钥写入磁盘,您可以像这样一步完成密钥的生成和加密:
openssl ecparam -genkey -name secp256k1 | openssl ec -aes256 -out privatekey.pem
这将生成一个P-256密钥,然后提示您输入密码。然后使用AES256对密钥进行加密并保存到privatekey.pem
。
答案 1 :(得分:1)
虽然ecparam
没有用于加密生成的密钥的选项,但是genpkey
可以生成ECC私钥,并且具有这样的选项:
openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:secp160k1 -aes-256-cbc -out myprivatekey_encrypted.pem
-aes-256-cbc
选项指定对其进行加密(使用aes-256-cbc;其他选项可用于不同类型的加密)。
您可以通过-passin pass:password
或-passin file:mypassword.pass
在命令行上指定密码。