ですから、コマンドラインの引数でパスワードを渡すのは最も安全な方法ではありません。そうは言っても、opensslのドキュメントでは、opensslコマンドにパスワードの引数を渡す方法が混乱してしまいました
私がやろうとしていることはこんな感じです
openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d
すると、復号化のためのパスキーを要求してきます。パスワードをファイルにエコーさせずに、単にパスワードをコマンドに渡すだけでいいのか、opensslのドキュメントやウェブを検索してみました。-pass:somepassword
と -pass somepassword
を引用符付きと引用符なしの両方で追加してみましたが、効果はありませんでした
私は最終的に答えを見つけ出し、いくつかの他のフォーラムで人々が同じような質問をしていたのを見たので、私はコミュニティのためにここに私の質問と答えを投稿しようと思いました
note: 私はopensslのバージョン0.9.8yを使用しています
74 David Sulpy 2014-03-05
ドキュメントは私にはあまりわかりませんでしたが、答えが出ていて、例を見られないことが課題でした
その方法をご紹介します
openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d -pass pass:somepassword
コマンドラインコマンドの構文は常に -pass
の後にスペースが続き、パスフレーズの種類を指定することに注意してください
さらに、ドキュメントでは、以下のようにして他のパスフレーズソースを提供することができることが明記されています
env:somevar
で環境変数からパスワードを取得しますfile:somepathname
で、ファイルの最初の行からpathname
の場所にあるパスワードを取得しますfd:number
でファイルディスクリプター番号からパスワードを取得しますstdin
で標準入力から読み込む
今、私はこの質問と答えを書いたので、それはすべて明らかに思える。しかし、それは確かに把握するためにいくつかの時間がかかり、私はそれが他の人に同じような時間がかかるのを見てきましたので、うまくいけば、これがその時間を短縮し、他の人のために速く答えることができることを願っています:)
OpenSSL 1.0.1e では、使用するパラメータは -passin
または -passout
です。ですから、この例は次のようになります
openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d -passin pass:somepassword
138 David Sulpy 2014-03-05
例では-passin
と-passout
を使って両方のファイルにパスワードを設定しました
openssl pkcs12 -in voip.p12 -out voip.pem -passin pass:123 -passout pass:321
ここで、123
と321
はパスワードです
14 Mikhailo Karpenko 2019-01-24
この時点でUbuntu 14.04 LTSは、openssl 1.0.1f-1ubuntu2.16が付属しています
このバージョンでは、使用するパラメータは-k
です
Example:
openssl enc -aes-256-cbc -e -in some_file.unenc -out some_file.enc -k somepassword
6 Javier 2015-12-27