如何從 powershell 使用 OpenSSL 建立憑證而不提示使用者輸入密碼?

如何從 powershell 使用 OpenSSL 建立憑證而不提示使用者輸入密碼?

我正在設定開發 VDI,並且需要在開發和測試過程中自動建立一些用於存取 https://{foo}.local (127.0.0.1) 網站的憑證。

我只允許使用 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

這將跳過私鑰的加密。系統不會提示您輸入密碼。

相關內容