如何解密通过openssl ec命令加密的椭圆曲线私钥?
问题解答
报错原因
你收到*bad magic number*报错,以及解密失败的核心原因是选错了OpenSSL解密子命令:
openssl enc仅适用于处理无格式封装的原始加密数据、或者简单base64编码的加密内容,默认期望输入文件开头是enc命令加密时写入的Salted__魔数字段,而你的私钥是带PEM头、自带加密元数据(Proc-Type、DEK-Info字段)的OpenSSL标准EC私钥格式,开头为-----BEGIN EC PRIVATE KEY-----,完全不符合enc的输入格式要求。- 你生成加密私钥时使用的是
openssl ec子命令完成的加密操作,解密也应该使用对应的同系列子命令,它会自动识别PEM封装格式、读取加密元数据、完成base64解码和密钥解密的全流程,不需要你手动处理任何格式细节。
正确解密命令
openssl ec -in out.key -passin file:passphrase.txt -out decrypted.key
执行后输出的decrypted.key即为未加密的明文EC私钥。
内容的提问来源于stack exchange,提问作者Amadeux
相关产品推荐
相关产品推荐

