当我尝试运行以下命令来发布一个新的私钥时,我使用该私钥通过 SSL 托管我的 Web 应用程序:
openssl genrsa -out example.key 2048
发生以下错误:
unable to write 'random state'
e is 65537 (0x10001)
在网上搜索后,我发现一个办法,指示您删除该~/.rnd
文件,该文件可能归 拥有root
。
sudo rm ~/.rnd
~/.rnd
不过,我发现如果您使用 发出openssl
命令,则无需删除sudo
。
我的问题是:
它是什么
~/.rnd
?为什么它存在于我的环境中?哪种方式是颁发新私钥的更好方法?
答案1
如果您曾经在非登录模式下(即没有 )通过 sudo运行过修改的命令,则该~/.rnd
文件归。至于文件是什么,它包含 OpenSSL 随机数生成器的种子值。我能找到的最不差的文档是root
~/.rnd
root
-i
~/.rnd
RAND_read_file
(3)手册页。