使用此命令生成私钥时
genrsa -out my-prvkey.pem 1024
它会抛出如下错误
Loadind'screen'进入随机状态-done生成RSA私钥,1024位长模数............................... .......... ...........................无法写'随机状态'e是65537(0 * 10001)
这在创建公共证书时会出现任何问题 . 我在Windows中运行此命令 . 任何人都可以帮我修复吗?
最快的解决方案是:将环境变量 RANDFILE 设置为可以写入'random state'文件的路径(当然,检查文件访问权限),例如 . 在命令提示符中:
set RANDFILE=C:\MyDir\.rnd openssl genrsa -out my-prvkey.pem 1024
更多解释:Windows上的OpenSSL尝试按以下顺序保存“随机状态”文件:
从 RANDFILE 环境变量获取的路径
如果设置了 HOME 环境变量,则: $.rnd
C:.rnd
我很确定在你的情况下它最终会尝试将其保存在C:\ . rnd中(并且由于缺乏足够的访问权限而失败) . 不幸的是,OpenSSL不会打印实际尝试在任何错误消息中使用的路径 .
只需在命令行中输入以下行:
set RANDFILE=.rnd
您可能还需要以管理员身份运行控制台 . 在Windows 7上,在启动控制台窗口时按住ctrl shift .
或者在Windows PowerShell中
$env:RANDFILE=".rnd"
我没有找到.rnd文件的位置,因此我以管理员身份运行cmd,它就像一个魅力 .
5 回答
最快的解决方案是:将环境变量 RANDFILE 设置为可以写入'random state'文件的路径(当然,检查文件访问权限),例如 . 在命令提示符中:
更多解释:Windows上的OpenSSL尝试按以下顺序保存“随机状态”文件:
从 RANDFILE 环境变量获取的路径
如果设置了 HOME 环境变量,则: $.rnd
C:.rnd
我很确定在你的情况下它最终会尝试将其保存在C:\ . rnd中(并且由于缺乏足够的访问权限而失败) . 不幸的是,OpenSSL不会打印实际尝试在任何错误消息中使用的路径 .
只需在命令行中输入以下行:
您可能还需要以管理员身份运行控制台 . 在Windows 7上,在启动控制台窗口时按住ctrl shift .
或者在Windows PowerShell中
我没有找到.rnd文件的位置,因此我以管理员身份运行cmd,它就像一个魅力 .