![Linux下使用OpenSSL解密des-sunos5.7 ecn加密文件](https://linux22.com/image/683446/Linux%E4%B8%8B%E4%BD%BF%E7%94%A8OpenSSL%E8%A7%A3%E5%AF%86des-sunos5.7%20ecn%E5%8A%A0%E5%AF%86%E6%96%87%E4%BB%B6.png)
我们的旧 Solaris 10 服务器中的一个 shell 脚本使用以下命令来解密文件。
des-sunos5.7 -d -u -k password enc_filename.tar.gz dec_filename.tar.gz
现在我们正在迁移到 RHEL 6,但在寻找解密文件的确切命令时遇到了麻烦。我们从外部来源收到此文件,但我没有他们用来加密文件的密码。
我已经使用了以下命令
openssl enc -d des3 -in filename -out filename;
openssl enc -d -des-cbc -iv 0 -d -in filename -out filename;
openssl enc -des-ede3 -iv o -d in filename -out filename;
我也尝试过 -des-ecb、-des-cbc、-des-ede-cbc、-des-ede3-cbc、-desx-cbc、-des。我得到的都是“糟糕的魔法数字”。
$file des-sunos5.7
des-sunos5.7: ELF 32-bit MSB executbale SPARC32PLUS Version 1, V8+ Required, UltraSPARC1 Extensions Required, dynamically linked, not stripped
根据各种文章,我明白我在这里没有使用正确的解密密码。有谁能帮我找到正确的 openssl 密码,它可以解密在 RHEL6 服务器上使用 des-sunos5.7 加密的文件。我们在 Linux 服务器上安装了 OpenSSL 1.0.1e.fips
答案1
根据名称,我猜测这是 Solaris 中包含的 des(1) 命令,有人将其从 Solaris 7 拉到您的 Solaris 10 安装中(不清楚原因,因为它在 Solaris 10u4 及更高版本中也是开箱即用的,并且之前在 SUNWcry 中也是可用的)。
des(1) 使用单 DES 加密数据,但文件格式与 OpenSSL 的文件格式不匹配。des(1) 命令相当老旧。Solaris 10 包含加密/解密命令,并使用现代密码作为替代。
这篇文章也许能帮助你发现更多背景信息:
https://blogs.oracle.com/darren/entry/encrypting_files_in_solaris_10
我将在 Solaris 上使用 des 命令解密,在 Solaris 上使用 OpenSSL 重新加密,然后传输文件。OpenSSL 可在 Solaris 10 上使用。