在PKCS12导出期间,OpenSSL会挂起"正在加载'屏幕'进入随机状态"

时间:2015-12-08 13:17:34

标签: windows ssl openssl

我正在使用OpenSSL(而非makecert)生成自签名SSL证书,以便在IIS中使用。

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes -subj '//CN=myhost'

(双斜杠是正确的。没有它,上面的命令不起作用。)

openssl pkcs12 -export -out key.pfx -inkey key.pem -in cert.pem -name 'myhost'

第一个命令运行成功完成。然而第二次陷入困境

  

正在加载'屏幕'进入随机状态 -

我正在使用Git for Windows(2.6.3)附带的OpenSSL(1.0.2d)。 任何人都遇到同样的问题?

澄清:问题How to fix "unable to write 'random state' " in openssl描述了不同 - 编写.rnd文件的问题。这里的问题似乎是产生随机状态。 (仅在第二个命令中。)

2 个答案:

答案 0 :(得分:149)

请尝试在oppenssl之前添加winpty:

winpty openssl ...

或者你可以运行winpty包装的新bash:

winpty bash

在Windows控制台中,终端输入/输出存在一些问题,因此如果某些软件需要unix终端行为,winpty可以提供帮助。

winpty帮助我在环境中运行openssl:

git version 2.7.3.windows.1
OpenSSL 1.0.2g  1 Mar 2016

答案 1 :(得分:40)

我发现需要使用-passout pass:SomePassword在命令行上指定PFX密码 - 例如:

openssl pkcs12 -export -out foo_example_com.pfx -inkey foo_example_com.key -in foo_example_com.crt -passout pass:Pa55w0rd