首页 文章

如何在openssl中修复“无法写入'random state'”

提问于
浏览
60

使用此命令生成私钥时

genrsa -out my-prvkey.pem 1024

它会抛出如下错误

Loadind'screen'进入随机状态-done生成RSA私钥,1024位长模数............................... .......... ...........................无法写'随机状态'e是65537(0 * 10001)

这在创建公共证书时会出现任何问题 . 我在Windows中运行此命令 . 任何人都可以帮我修复吗?

5 回答

  • 95

    最快的解决方案是:将环境变量 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不会打印实际尝试在任何错误消息中使用的路径 .

  • 27

    只需在命令行中输入以下行:

    set RANDFILE=.rnd
    
  • 1

    您可能还需要以管理员身份运行控制台 . 在Windows 7上,在启动控制台窗口时按住ctrl shift .

  • 25

    或者在Windows PowerShell中

    $env:RANDFILE=".rnd"
    
  • 4

    我没有找到.rnd文件的位置,因此我以管理员身份运行cmd,它就像一个魅力 .

相关问题