パスフレーズをユーザーに要求せずに、PowerShell から OpenSSL を使用して証明書を作成する方法は?

パスフレーズをユーザーに要求せずに、PowerShell から OpenSSL を使用して証明書を作成する方法は?

開発用 VDI をセットアップしており、開発およびテスト中に https://{foo}.local (127.0.0.1) Web サイトにアクセスするための証明書の作成を自動化する必要があります。

OpenSSL と PowerShell のみの使用が許可されており、無人で実行する必要があります。開発者 VDI のセットアップを自動化するにはこれを実行する必要があるため、ユーザー プロンプトを表示することはできません。

次のような例のコードがたくさん見つかりましたが、使用するパスフレーズを渡す方法が見つかりません。

今のところはこんな感じです…

openssl 
   req -x509 -newkey rsa:4096 -keyout 
   openssl.key -out openssl.crt -subj /CN=website.name 
   -days 300

その後、実際の証明書を作成します

openssl pck12 -export .... etc

前述のように、上記がユーザーの介入なしに実行されるように、パスフレーズを指定できる必要があります。上記のコードは期待どおりに実行され、パスフレーズのプロンプトが表示されるだけです。

さまざまな設定を試しました-passin {xyz}-password pass:mysecret、効果はありませんでした。

何かアイデアはありますか? ありがとう、A

答え1

-nodesopenssl コマンドにパラメータを追加します。

openssl 
   req -x509 -newkey rsa:4096 -nodes -keyout 
   openssl.key -out openssl.crt -subj /CN=website.name 
   -days 300

これにより、秘密鍵の暗号化がスキップされます。パスフレーズの入力は求められません。

関連情報