【问题标题】:Decrypt PBKDF2 with OpenSSL 1.0.1e [closed]使用 OpenSSL 1.0.1e 解密 PBKDF2 [关闭]
【发布时间】:2020-06-17 09:58:31
【问题描述】:

我需要用 openssl 解密一个文档:

Method : PBKDF2WithHmacSHA256
Salt : saltexample
Passphrase : mypassphrase

我试过命令:

 openssl enc -d -aes-256-cbc -salt -md sha256 -pbkdf2 -in file.csv.enc -out file.txt

但我收到以下错误:

unknown option '-pbkdf2'

有谁知道这个版本的 openssl 的正确命令:OpenSSL 1.0.1e-fips 11 Feb ?2013

【问题讨论】:

  • openssl enc 仅在 1.1.1 版中支持 -pbkdf2。您必须使用较新的 OpenSSL,可能在较新或不同的系统上(您没有说明您使用的是数千个 Linux 发行版中的哪一个)。您还需要知道迭代次数,并使用正好 8 个字节的盐,它必须以特定格式存在于文件中(即您可能需要添加它)。或者,您需要编写代码,与此 Q 不同,这可能是 Stackoverflow 的主题。

标签: linux openssl


【解决方案1】:

这是 OpenSSL 的旧版本,不包含它(它确实支持 RFC2898,但它的文档记录很差,无法在 enc 命令行上指定)

我手边没有那个版本(似乎 RHEL7 默认有它)来管理它,但如果你查看相应的在线手册页 - 它显示这是购买到 1.1.1 的:

https://www.openssl.org/docs/man1.0.2/man1/enc.html https://www.openssl.org/docs/man1.1.1/man1/enc.html

所以现在应该很明显,升级 OpenSSL 是解决此问题的最简单方法。

从这里下载/Wget 适当的 tar: https://www.openssl.org/source/

然后进行安装:

# cd $openssl-version-you-downloaded
# ./config
# make
# make test
# make install

然后:

# mv /usr/bin/openssl /root/
# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

然后再次运行您的命令。

【讨论】:

    猜你喜欢
    • 2023-02-23
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    • 2020-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    相关资源
    最近更新 更多