如何使用 openssl ec 命令解密私钥加密?

How to decrypt a private key encryptet with the openssl ec command?

我有一个这样创建的加密密钥:

openssl ecparam -genkey -name prime256v1 | openssl ec -aes-128-cbc -passout file:passphrase.txt -out out.key

这会生成一个密钥,如下所示:

-----BEGIN EC PRIVATE KEY-----\
Proc-Type: 4,ENCRYPTED\
DEK-Info: AES-128-CBC,88BFB9196A5A03B0206AA624EC55411F

4g025eMCoyW9ye/byEtTxMQxFO5ezl/LhCgjdGtIt2NdsE15kO1H9CONk5xskgMN
B6PK7ZpzwP9JcQZ+0p/sfNkd9zia70tP/c9jIjui9NbhM0WI7m75MJRVNPDv8Zzy
W2yLGWPFtQMF8cR3rW4iN/ycpI+QLtRo4/dbzhHqJ/E=\
-----END EC PRIVATE KEY-----

但是,我无法解密它。使用以下命令:

openssl enc -d -aes-128-cbc -pass file:passphrase.txt -in out.key -out decrypted.key

导致错误的幻数

我做错了什么?

您使用了错误的命令来解密密钥。 openssl enc命令用于对任意密文进行加解密

要将加密的 ec 密钥转换为非加密的 ec 密钥,您可以改为:

openssl ec -passin file:passphrase.txt -in out.key -out decrypted.key