openssl中的〜/ .rnd文件是什么,以及如何用它生成一个新的私钥?

当我试图运行以下命令来发出一个新的私钥,我用它来通过SSL托pipe我的Web应用程序:

openssl genrsa -out example.key 2048 

,发生以下错误:

无法写入“随机状态”e是65537(0x10001)

在Web上挖掘出来之后,我find了一个解决scheme ,指导您删除~/.rnd文件,这个文件很可能是由root拥有的。

 sudo rm ~/.rnd 

但是,如果使用sudo发出openssl命令,则发现不需要删除~/.rnd

所以我的问题是:

  • 什么是~/.rnd ,为什么它存在于我的环境中?

  • 哪一个更好的方式来发行一个新的私钥?