web-dev-qa-db-ja.com

OpenSSLでパスワードとしてキーファイルを使用する

AESを使用して暗号化されたバイナリファイルを復号化する割り当てを取得しました。復号化の鍵となる32バイトのバイナリファイルがあります。を使用してキーがパスフレーズである場合に復号化する方法を知っています

openssl enc -d -aes-256-cbc -in file.out

この場合、キーはバイナリファイルです。どうやって使うの?

5
Javad Shareef

OpenSSLコマンドラインに-pass file:nameofkeyfileを追加します。これにより、OpenSSLは指定されたファイルからパスワード/パスフレーズを読み取りますが、それ以外の場合は通常どおり続行します。

詳細については、openssl(1)(man 1 openssl)のマニュアルページと特に「パスフレーズ引数」のセクション、およびenc(1)(man 1 enc)のマニュアルページを参照してください。

キーファイルが実際に暗号化キー(暗号化キーの派生元ではない)を保持している場合は、代わりに-Kを使用します。そのためには、次のようなものが必要です。

-K $(hexdump -v -e '/1 "%02X"' < nameofkeyfile)

-passの代わりにOpenSSLコマンドラインで。 hexdumpは、鍵ファイルをOpenSSLが要求する純粋な16進数表現に変換するために使用されます。

9
a CVn