【问题标题】:Shell-script to decrypt file用于解密文件的 Shell 脚本
【发布时间】:2020-06-28 15:06:27
【问题描述】:

我必须创建一个 shell 脚本,它可以解密使用特定 .pem 文件加密的 RSA 密钥文件。然后用我从RSA文件中获得的AES密钥解密zip文件,一旦它在一个名为keyaes(或任何你想要的文件)中被解密。 这是我必须使用的两个命令

openssl rsautl -decrypt -in AES_KEY -inkey CERTIFICATE.pem -out keyaes
openssl enc -d -aes-256-cbc -in zipfile.zip -out extraction.zip -nosalt -p -K RSA_KEY_from_key_aes_output -iv 0

命令完美运行,问题出在我的脚本中,我不知道如何自动生成并从 keyaes 输出中获取密钥并将其正确放入下一个命令。 我该怎么做?

【问题讨论】:

    标签: shell sh aes rsa


    【解决方案1】:

    你可以在第二个命令中使用 bash 命令替换,使用反引号

    openssl enc -d -aes-256-cbc -in zipfile.zip -out extraction.zip -nosalt -p -K `cat output_filename_with_aes_key` -iv 0
    

    【讨论】:

    • 对于所有新脚本,$(...) 优于反引号。并引用您的扩展名,这样它们就不会在空格上分成多个参数。
    • ...特别是对于 bash,您也可以使用 "$(<output_filename_with_aes_key)" 来避免完全需要 cat;而"$(cat output_filename_with_aes_key)" 将适用于所有符合 POSIX sh 标准的 shell。无论哪种方式,$(...) 都比反引号更受欢迎,并且需要引号以防止由于键受到意外分词或通配而导致的不当行为。
    猜你喜欢
    • 2012-07-10
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 2014-12-22
    • 2013-05-24
    • 2011-01-28
    相关资源
    最近更新 更多