如何为openssl生成的ECC私钥添加密码?

问题描述 投票:1回答:2

我正在尝试使用OpenSSL命令行界面创建基于Elliptic Curve的证书。我通过在CLI中键入以下命令来生成密钥文件:

openssl ecparam -name secp256k1 -genkey -noout -out rootpem.pem

问题是虽然ECC密钥已成功生成,但未使用任何对称加密进行加密。但是,使用以下命令加密RSA密钥非常简单:

openssl genrsa -aes128 -out 1.key 2048 

无论如何加密ECC密钥就像RSA密钥一样?

我尝试了“OpenSSL 0.9.8zh 2016年1月14日”和“OpenSSL 1.1.0g 2017年11月2日”OpenSSL版本与多个参数组合,但我总是得到错误。

openssl elliptic-curve
2个回答
0
投票

据我所知,没有单一的解决方案。它可以通过管道openssl ecparamopenssl ec命令生成。一种可能的解决方案是:

openssl ecparam -genkey -name secp384r1 | openssl ec -aes-256-cbc -out rootpem.[pem/key]

查看生成的文件,它们具有与the OpenSSL wiki examples类似的标头。但是,我不确定这种管道是否安全,因为未加密的钥匙是裸露的。


0
投票

或者你可以分两步完成:首先是'ecparam',然后是关键

openssl ecparam -name secp256k1 -out ecparam.pem
openssl genpkey -paramfile ecparam.pem -out key.pem -aes-128-cbc -pass pass:HereIsThePassword
© www.soinside.com 2019 - 2024. All rights reserved.