openssl 中的 ~/.rnd 文件是什么以及如何使用它生成新的私钥?

openssl 中的 ~/.rnd 文件是什么以及如何使用它生成新的私钥?

当我尝试运行以下命令来发布一个新的私钥时,我使用该私钥通过 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~/.rndroot-i~/.rndRAND_read_file(3)手册页

相关内容