如何从 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

将参数添加-nodes到您的 openssl 命令。

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

这将跳过私钥加密。系统不会提示您输入密码。

相关内容