无法将 /root/.rnd 加载到 RNG

Can't load /root/.rnd into RNG

我想使用 Windows Open SSL 生成服务器证书。

当我运行这个命令行时,出现这个错误。我该怎么办?

命令

:
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

错误:

Can't load ./.rnd into RNG 10504:error:2406F079:random number generator:RAND_load_file:Cannot open file:crypto\rand\randfile.c:98:Filename=./.rnd

我也试图找到 openssl 配置文件,但是没有,我没有那个文件。

尝试删除或评论 /etc/ssl/openssl.cnf

中的 RANDFILE = $ENV::HOME/.rnd

原因: “-rand”选项默认告诉您在 OS 中的某处使用随机文件 .rnd。 由于用户问题使用不存在的.rnd 文件!!!!

补救措施: 如果不存在,添加 -writerand 写入 .rnd 文件。

例如:

root@CentOS:/usr/local/etc/openldap/private # openssl genrsa -rand -genkey -out cert.key 2048
Can't load -genkey into RNG
546983936:error:2406F079:random number generator:RAND_load_file:Cannot open file:/usr/src/crypto/openssl/crypto/rand/randfile.c:98:Filename=-genkey

添加-writerand后

root@CentOS:/usr/local/etc/openldap/private # openssl genrsa -writerand -genkey -out cert.key 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
...........................+++++
..............+++++
e is 65537 (0x010001)
root@CentOS:/usr/local/etc/openldap/private # 

我自己会再次遇到这个错误。当然我会先看看 Whosebug(R6000 哈哈)!!!

我在 Ubuntu 18.04 上使用 OpenVPN Road Warrior 脚本时遇到了这个问题。

解决方案是手动创建文件,之后脚本运行正常。

cd /etc/openvpn/easy-rsa/pki
openssl rand -writerand .rnd