為了加密和解密我正在使用的文字:
echo test | openssl enc -e -a -A -aes-256-cbc -pbkdf2 -iter 1234 -k <passphrase>
echo <encrypted text> | openssl enc -d -a -A -aes-256-cbc -pbkdf2 -iter 1234 -k <passphrase>
這非常有效,直到我在啟用了 FIPS 的 RHEL7(或 CentOS7)系統上對其進行測試。這是當我嘗試如上所述加密文字時得到的輸出:
未知選項“-pbkdf2”
所以我嘗試不使用該選項,結果是:
未知選項“-iter”
所以我在沒有這些選項的情況下嘗試:
echo test | openssl enc -e -a -A -aes-256-cbc -k <passphrase>
這會導致此錯誤:
U2Fs...12:錯誤:060800A3:數位信封程式:EVP_DigestInit_ex:停用 fips:digest.c:256:
所以我不知道如何繼續。我願意使用其他工具以符合 FIPS 的方式加密/解密文字。
注意:我找到了一個潛在的解決方案RedHat 的知識庫,但它位於付費牆後面。 :-(
答案1
-pbkdf2
我透過刪除和-iter
選項並透過以下方式指定訊息摘要演算法來使其工作-md sha256
:
echo test | openssl enc -e -a -A -aes-256-cbc -md sha256 -k <passphrase>