如何解决“在openssl中无法写入”随机状态“
同时使用此命令生成私钥
genrsa -out my-prvkey.pem 1024
它抛出像下面的错误
Loadind 'screen' into random state -done Generating RSA private key,1024 bit long modulus .........................................+++++++ ...........................+++++++++ unable to write 'random state' e is 65537 (0*10001)
这在创build公共证书时会出现问题
我在Windows上运行这个命令
谁能帮我解决?
最快的解决scheme是:将环境variablesRANDFILE设置为可以写入“随机状态”文件的path(当然,检查文件访问权限)。 在您的命令提示符下:
set RANDFILE=C:\MyDir\.rnd openssl genrsa -out my-prvkey.pem 1024
更多解释:Windows上的OpenSSL尝试按以下顺序保存“随机状态”文件:
- 取自RANDFILE环境variables的path
- 如果设置HOME环境variables,则: $ {HOME} \。rnd
- C:\ RND
我敢肯定,在你的情况下,它最终试图将其保存在C:\。rnd (并失败,因为缺乏足够的访问权限)。 不幸的是,OpenSSL不会打印实际尝试在任何错误消息中使用的path。
也可能是您需要以pipe理员身份运行控制台。 在Windows 7上,启动控制台窗口时按住Ctrl + Shift 。
只需在命令行中input以下行:
set RANDFILE=.rnd
或者在Windows PowerShell中
$env:RANDFILE=".rnd"