OpenSSL 在 PKCS12 导出期间挂起 "Loading 'screen' into random state"
OpenSSL hangs during PKCS12 export with "Loading 'screen' into random state"
我正在使用 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'
第一个命令运行成功。但是第二个卡在
Loading 'screen' into random state -
我正在使用 Git 附带的 OpenSSL (1.0.2d) for Windows (2.6.3)。
有人遇到同样的问题吗?
澄清: 问题 How to fix "unable to write 'random state' " in openssl 描述了不同的 -- 写入 .rnd 文件的问题。这里的问题似乎是生成随机状态。 (并且仅在第二个命令中。)
我发现我需要在命令行上使用 -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
请尝试在oppenssl前加上winpty
:
winpty openssl ...
或者您可以 运行 由 winpty 包装的新 bash:
winpty bash
在 windows 控制台中,终端 input/output 存在一些问题,因此如果某些软件需要 unix
终端行为,winpty 可以提供帮助。
winpty
帮助我 运行 openssl 在这个环境中:
git version 2.7.3.windows.1
OpenSSL 1.0.2g 1 Mar 2016
最近,当 运行 在天蓝色 ubuntu 虚拟机中通过 ssh 从 windows 10 笔记本电脑打开 openssl 时,我遇到了同样的问题。我还从 windows 命令提示符和 powershell 尝试了 windows 的 openssl。这背后的根本原因似乎是在 windows 命令提示符下使用时 openssl 的终端兼容性。
我发现基于 wsl (windows-subsystem-linux) 的 shell 似乎不错,命令通过正确的提示而不是似乎挂起。这里的步骤将是
- 安装ubuntu on windows
- 启动 windows 命令提示符。使用 wsl 命令启动 bash shell.
- openssl 工具已在此 shell 中可用。它应该给出密码并验证密码提示。
我正在使用 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'
第一个命令运行成功。但是第二个卡在
Loading 'screen' into random state -
我正在使用 Git 附带的 OpenSSL (1.0.2d) for Windows (2.6.3)。 有人遇到同样的问题吗?
澄清: 问题 How to fix "unable to write 'random state' " in openssl 描述了不同的 -- 写入 .rnd 文件的问题。这里的问题似乎是生成随机状态。 (并且仅在第二个命令中。)
我发现我需要在命令行上使用 -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
请尝试在oppenssl前加上winpty
:
winpty openssl ...
或者您可以 运行 由 winpty 包装的新 bash:
winpty bash
在 windows 控制台中,终端 input/output 存在一些问题,因此如果某些软件需要 unix
终端行为,winpty 可以提供帮助。
winpty
帮助我 运行 openssl 在这个环境中:
git version 2.7.3.windows.1
OpenSSL 1.0.2g 1 Mar 2016
最近,当 运行 在天蓝色 ubuntu 虚拟机中通过 ssh 从 windows 10 笔记本电脑打开 openssl 时,我遇到了同样的问题。我还从 windows 命令提示符和 powershell 尝试了 windows 的 openssl。这背后的根本原因似乎是在 windows 命令提示符下使用时 openssl 的终端兼容性。
我发现基于 wsl (windows-subsystem-linux) 的 shell 似乎不错,命令通过正确的提示而不是似乎挂起。这里的步骤将是
- 安装ubuntu on windows
- 启动 windows 命令提示符。使用 wsl 命令启动 bash shell.
- openssl 工具已在此 shell 中可用。它应该给出密码并验证密码提示。