私はこの記事に従おうとしています(コード署名証明書の生成を参照してください。)p12ファイルを暗号化しようとしましたが、常に同じ警告が表示されます。
不明なオプション 'Cert.p12'
私は何が間違っていましたか?これが私が実行するコマンドです
openssl enc -aes-256-cbc -a -salt -k -in "Cert.p12" -out "Cert.p12.encrypted"
答え1
コマンドにエラーがあります。この-k
オプションにはパスワードが必要です。
man enc
ページから:
-k パスワード派生キーのパスワードです。これは以前のバージョンのOpenSSLとの互換性のためです。 -passパラメーターに置き換えられました。
ご覧のとおり、そのオプションはこのオプションに置き換えられています-pass
。したがって、より良いインタラクティブなコマンドは次のとおりです(該当する-k
オプションはありません)。
openssl enc aes-256-cbc -a -salt -in "Cert.p12" -out "Cert.p12.encrypted"
この時点でパスワードの入力を求められます。スクリプトにパスワードを含める必要がある場合(危険)、この-k
オプションまたは最新のオプションを使用してください。パスワードを渡すより安全な方法については、セクションを読ん-pass pass:<your password>
でください。man openssl
PASS PHRASE ARGUMENTS
この機能は削除でき、enc
パスワードを指定すると暗黙的でデフォルト-salt
で有効になっています。したがって、次のものを使用できます。
openssl aes-256-cbc -a -in "Cert.p12" -out "Cert.p12.encrypted"
デフォルトのオプションはopenssl
暗号化であるため、そうするように指示する必要はありません。ただし、パスワードを復号化するには、-d
次のオプションを追加する必要があります。
openssl aes-256-cbc -d -a -in "Cert.p12.encrypted" -out "Cert.p12.copy"