我是产生一个自签署SSL证书,以保护我的服务器的管理部分,并且我得到这个消息从OpenSSL:

无法写入随机的国家'

这是什么意思?

这是一个Ubuntu服务器。我已经升级的修复 最近的安全漏洞.

有帮助吗?

解决方案

在实践中,最常见的原因,这种情况似乎是这的.轮的文件在您的家目录所拥有的根源,而不是您的帐户。快速解决:

sudo rm ~/.rnd

更多信息,这里是入口从 OpenSSL常见问题:

有时openssl command line utility不中止与一个"养恤金条例》未接种"的错误信息,但抱怨说,它是"不要写'随机的国家'".这个消息指的是默认的种子文件(见前面的答复).一个可能的原因是,没有默认文件名是已知的,因为既没有RANDFILE也不家组。(版本达0.9.6使用的文件"。轮"在目前的目录,在这种情况下,但这种情况已经改变与0.9.6。)

所以我会检查RANDFILE、家庭和权限来写的那些地方,在文件系统。

如果一切都似乎是为了你可以试试运行 strace 看看到底是什么回事。

其他提示

我知道这个问题是Linux上,但在windows我有同样的问题。原来你已经开始的命令提示在"作为管理员运行"模式,它的工作。否则你会得到相同的:无法写入'随机的国家的错误。

另一个问题上的视窗平台,确保运行你的命令提示作为一个管理用户!

我不知道有多少次这种咬了我...

显然,我需要运行OpenSSL作为根本,以便它有权限的种文件。

我有同样的事情在windows服务器。然后我想通了可通过改变 vars.bat 这是:

set HOME=C:\Program Files (x86)\OpenVPN\easy-rsa

然后重新开始一切都应该被罚款。

问题是我,我有。轮在我家的目录,但是它所拥有的根源。删除它,并重新发openssl command定这一点。

你应该设置$RANDFILE环境变量和/或创建$HOME/.轮的文件。(OpenSSL常见问题). (当然,你应该有权以该文件。其他的答案在这里是有关的。但首先你应该有的文件和引用。)

版本0.9.6OpenSSL写这种文件在目前的目录的文件"。轮".在版0.9.6一你有没有默认接种的文件。OpenSSL0.9.6b和后来的行为类似于0.9.6一,但将使用一种默认的"C:\"为家庭Windows系统上的,如果环境变量没有被设定。

如果的默认接种文件不存在,或太短,"养恤金条例》未接种"的错误信息可能会发生。

美元RANDFILE环境变量和$HOME/.轮仅使用的OpenSSL command line工具。应用程序的使用OpenSSL library提供他们选择自己的配置到指定的信息源,请查阅的文件到来的与应用程序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top