Ubuntuサーバー18.04でOpenVPNを使用してVPNサーバーをセットアップしようとしていますが、EasyRSAを使用してPKI CAを構築したいと考えています。
したがって、ルートとして接続しているときに、EasyRSAスクリプトを起動して、/etc/openvpn/easy-rsa
にコピーしました。 ./clean-all
と./build-dh
はすべて正常に動作しますが、./pkitool --initca
を起動しようとすると、次のエラーが発生します。
Can't load /root/.rnd into RNG
140171234709952:error:2406F079:random number generator:Rand_load_file:Cannot open file:../crypto/Rand/randfile.c:88:Filename=/root/.rnd
Openssl confingファイル(/etc/openvpn/easy-rsa/openssl-1.0.0.cnf
)で、この行が/root/.rnd
に到達しようとする理由を示しています。
RANDFILE = $ENV::HOME/.rnd
私がオンラインで読んで理解したことから、.rnd
は、opensslが乱数を生成するために使用するシードです。奇妙なことに、このエラーが発生しても、RSA秘密キーISスクリプトによって生成されます。シードがないため、ランダムではないのではないかと心配しています。
だから私の問題は次のとおりです:このファイルはシステムに存在せず、/root/
にはなく、/home/user/
にもありません。これは私の唯一のユーザーであり、find / -name ".rnd"
は何も返しません。 find / -iname "*.rnd"
でも何も返しません。
そして、私はそれをどのように作成することができるのか、あるいは私がこれをすべて間違っていると理解しているかどうかさえ知りません。
ご助力ありがとうございます。
このエラーが発生しても、RSA秘密キーISスクリプトによって生成されます
ファイルが存在する必要はありません。 OpenSSLは、初めてそれを独自に作成します。
種がないので、ランダムではないのではないかと心配しています。
OSは、_/dev/urandom
_またはgetentropy()
やCryptGenRandom()
などのシステムコールを通じて独自のRNGを使用してシードを提供します。あなたが何か追加のものを提供する必要はありません。
Linuxの_.rnd
_が低品質であると見なされた場合(および_/dev/urandom
_が生成された場合)、OSが適切なCSPRNGを欠いていた日から、_/dev/random
_ファイルは多かれ少なかれ残っていると思います「エントロピー計算」のため、データは非常にゆっくりです。現在はそうではなく、homedir内のファイルに格納されているシードに完全に依存することで、実際にはless安全になります。
OpenSSLは、初めてそれを独自に作成します。
実際、スクリプトを何回起動した場合でも、openssl Rand
コマンドを直接使用すると、作成されません。
しかし、あなたは正しかった:私はそれらが異なるかどうかを確認するために2つのキーを生成しました。
ご協力ありがとうございました。