opensslのパスフレーズ引数について


opensslのパスフレーズ引数でエラー「Invalid password argument」

opensslを使って、PEMからPKCS12を作る際に、下のコマンドでパスワードを付けようとしたら嵌まりましたので、メモします。最初、passwordオプションには、'test123'のように適当なパスワードを入れたところ、「Invalid password argument」が表示されました。

openssl pkcs12 -password [password] -in [in_file] -out [out_file] -export

指定したオプションは、-passwordオプションでパスワードを設定。
その他のオプションは、
-in : 入力ファイルを指定
-out : 出力ファイルを指定
-export : PKCS12を作る際に必要
となっています。

#エラーメッセージ
Invalid password argument "test123"
Error getting passwords

PASS PHRASE ARGUMENTSについて

pass:

調べたところ、正しくはパスワードオプションでは、パスワードの前に「pass:」が必要でした。
パスワードを直接入力する場合は、この形式での指定が必要そうです。

openssl pkcs12 -password [pass:password] -in [in_file] -out [out_file] -export

stdin

パスワードを標準入力から指定する場合は、「stdin」を下のようにすることもできます。
この場合、「pass:」が必要ありません。

echo 'test123' | openssl pkcs12 -password stdin -in [in_file] -out [out_file] -export

env:var

環境変数からパスワードを指定する場合に利用できるそうです。

file:pathname

ファイルパス指定でパスワードを指定する。
指定したファイルの1行目がパスワードとして利用されます。

fd:number

ファイルディスクリプタからも利用できるそうです。試してないです。。

参考サイト