创建自签名 SSL 证书时出错

创建自签名 SSL 证书时出错

我正在尝试使用 OpenSSL(Apache 2.2 + mod_ssl 附带的版本)创建自签名 SSL 证书。OpenSSL 二进制文件位于C:\Web\Apache2.2\bin,我正在使用的配置文件是C:\Web\Apache2.2\conf\openssl.cnf。我已执行以下命令:

(我将使用换行符来使其更具可读性。)

openssl req -config ..\conf\openssl.cnf -new -out ..\conf\eduardo.csr
        -keyout ..\conf\eduardo.pem
# Then I entered country code, province, city, etc.
# This step worked correctly.

openssl rsa -in ..\conf\eduardo.pem -out ..\conf\eduardo.key
# Then I entered my pass phrase.

openssl x509 -in ..\conf\eduardo.csr -out ..\conf\eduardo.cert
        -req -signkey ..\conf\eduardo.key -days 1000000

并且,在执行最后一步时,我得到了以下输出:

Loading 'screen' into random state - done
Signature ok
subject=/C=PE/ST=Lima/L=Lima/...
Getting Private Key
unable to write 'random state' <--

这个错误是什么意思?我该如何修复它?

答案1

openssl 尝试将“随机状态”写入文件,但其使用的目录的权限不允许创建该文件。请参阅:

http://www.openssl.org/support/faq.cgi#USER2

答案2

  1. 首先,您需要以管理员模式打开命令提示符。

然后执行以下操作,

  1. cd 到证书路径文件夹
  2. 设置OPENSSL_CONF =“C:\OpenSSL-Win32\bin\openssl.cfg”
  3. 设置 RANDFILE="D:\path_to_certs\.rnd" 在这里如果你设置 RANDFILE 路径而不提及 .rnd 那么它会给出消息“无法写入随机状态”并且 openssl 不会为文件创建 .rnd 随机状态。

  4. 目录:\OpenSSL-Win32\bin\openssl.exe

  5. OpenSSL> genrsa -out ca.key

它对我有用。

答案3

对我来说,在 Windows Server 上,解决此问题的方法只是确保通过“以管理员身份运行”打开命令提示符

相关内容