web-dev-qa-db-ja.com

opensslの〜/ .rndファイルとは何ですか?それを使用して新しい秘密鍵を生成する方法は?

次のコマンドを実行して新しい秘密鍵を発行しようとしたとき、それを使用してSSL経由でWebアプリをホストしました。

openssl genrsa -out example.key 2048

次のエラーが発生しました:

unable to write 'random state'  
e is 65537 (0x10001)

Webを調べたところ、 解決策 が見つかりました。これは、rootが所有していると思われる~/.rndファイルを削除するように指示しています。

Sudo rm ~/.rnd

ただし、opensslを指定してSudoコマンドを発行した場合は、~/.rndを削除する必要がないことがわかりました。

だから私の質問は:

  • ~/.rndとは何ですか。なぜ私の環境に存在するのですか?

  • 新しい秘密鍵を発行するより良い方法はどれですか?

6
Blaszard

_~/.rnd_ファイルは、_~/.rnd_を非ログインモード(つまり、_-i_なし)でSudoを介してrootとして変更するコマンドを実行したことがある場合、rootが所有します。 _~/.rnd_ファイルについては、OpenSSL乱数ジェネレータのシード値が含まれています。私が見つけることができる最悪のドキュメントは the _Rand_read_file_(3)man page です。

8
womble