我正在尝试使用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 ecparam
到openssl ec
命令生成。一种可能的解决方案是:
openssl ecparam -genkey -name secp384r1 | openssl ec -aes-256-cbc -out rootpem.[pem/key]
查看生成的文件,它们具有与the OpenSSL wiki examples类似的标头。但是,我不确定这种管道是否安全,因为未加密的钥匙是裸露的。
或者你可以分两步完成:首先是'ecparam',然后是关键
openssl ecparam -name secp256k1 -out ecparam.pem
openssl genpkey -paramfile ecparam.pem -out key.pem -aes-128-cbc -pass pass:HereIsThePassword