Openssl ECDSA:私钥密码
Openssl ECDSA : private key passphrase
我是 Openssl 的新手,我生成了一个私钥 myprivatekey.pem 和一个 public 密钥 mypublickey.pem :
openssl ecparam -genkey -name secp160k1 -noout -out myprivatekey.pem
和我的 public 密钥:
openssl -ec -in myprivatekey.pem -pubout -out mypublickey.pem
我接下来要做的是用密码私钥加密我的 ecdsa,并为我的 public 密钥提出认证请求,感谢您的帮助。
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
.
虽然 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
在命令行指定密码。
我是 Openssl 的新手,我生成了一个私钥 myprivatekey.pem 和一个 public 密钥 mypublickey.pem :
openssl ecparam -genkey -name secp160k1 -noout -out myprivatekey.pem
和我的 public 密钥:
openssl -ec -in myprivatekey.pem -pubout -out mypublickey.pem
我接下来要做的是用密码私钥加密我的 ecdsa,并为我的 public 密钥提出认证请求,感谢您的帮助。
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
.
虽然 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
在命令行指定密码。