我正在尝试使用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' <--
我注意到执行第二个命令时生成了文件C:\Web\OpenSSL\bin\.rnd
。我得到的错误是否与该文件有关?可能是什么问题?
PS:我已经尝试过使用Google,而我只找到了适用于Linux的解决方案。
答案 0 :(得分:1)
查看this,我建议您确保您拥有C:\Web\OpenSSL\bin\.rnd
的读/写权限,如果这不起作用,请设置$ RANDFILE(或者,对于Windows,%RANDFILE%)到你可以写的文件。