80

使用此命令生成私钥时

genrsa -out my-prvkey.pem 1024

它抛出如下错误

将“屏幕”加载到随机状态 - 完成生成 RSA 私钥,1024 位长模数 ................... .........+++++++ ...................+++++++ ++ 无法写入“随机状态”e 为 65537 (0*10001)

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

4

6 回答 6

120

最快的解决方案是:将环境变量RANDFILE设置为可以写入“随机状态”文件的路径(当然检查文件访问权限),例如。在您的命令提示符下:

set RANDFILE=C:\MyDir\.rnd
openssl genrsa -out my-prvkey.pem 1024

更多解释:Windows 上的 OpenSSL 尝试按以下顺序保存“随机状态”文件:

  1. 取自RANDFILE环境变量的路径
  2. 如果设置了HOME环境变量,则:${HOME}\.rnd
  3. C:\.rnd

我很确定在您的情况下,它最终会尝试将其保存在C:\.rnd中(并且由于缺乏足够的访问权限而失败)。不幸的是,OpenSSL 不会打印实际尝试在任何错误消息中使用的路径。

于 2012-09-20T23:41:35.457 回答
33

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

于 2012-12-11T00:44:43.107 回答
31

只需在命令行中输入这一行:

set RANDFILE=.rnd
于 2016-01-10T08:55:03.853 回答
7

或者这个在windows powershell

$env:RANDFILE=".rnd"
于 2017-02-08T10:45:46.450 回答
4

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

于 2018-08-16T09:49:27.350 回答
0
于 2020-09-16T05:27:49.670 回答