CentOs/RHEL で FIPS モードでテキストを暗号化/復号化するにはどうすればよいですか?

CentOs/RHEL で FIPS モードでテキストを暗号化/復号化するにはどうすればよいですか?

テキストの暗号化と復号化には以下を使用します:

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>

関連情報