OpenSSL:不再支持 -pbkdf2 选项?

Dan*_*G2k 10 encryption openssl

直到最近,我还可以使用以下命令加密/解密文件:

\n\n

加密:

\n\n

openssl enc -aes-256-cbc -pbkdf2 -in un_encrypted.yml -out encrypted.data

\n\n

解密:

\n\n

openssl enc -d -aes-256-cbc -pbkdf2 -in encrypted.data -out un_encrypted.yml

\n\n

我最近更新了我的 Homebrew 软件包,似乎-pbkdf2不再支持该选项?我无法让它工作,并且不断收到有关如何使用 openssl 命令的帮助提示(我\xe2\x80\x99 已经使用上述命令好几年了)。简单地删除该-pbkdf2选项会导致输出文件损坏。

\n\n

有谁知道如何再次解密文件?

\n\n
    \n
  • MacOS 卡塔琳娜 10.15.4
  • \n
  • OpenSSL 1.1.1g
  • \n
\n\n

提前致谢

\n

Six*_*Bit 17

您很可能使用 MacOS 附带的默认 openssl,即 LibreSSL。据我所知,LibreSSL 不支持 pbkdf2,因此您应该升级到完整的 openssl。

要了解您是否正在使用 LibreSSL,请运行:openssl version

升级到 openssl:

brew update
brew install openssl
# if it is already installed, update it:
brew upgrade openssl@1.1
Run Code Online (Sandbox Code Playgroud)

最后一步是确保它在默认路径之前位于您的路径中:

echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)