如果我们只输入域名,dnssec-keygen 在 Centos 上的运行速度会很慢

Tua*_*uan 2 domain-name-system bind centos openssl

来自这个 ISC BIND 文章示例:

https://kb.isc.org/article/AA-00626/0/Inline-Signing-in-ISC-BIND-9.9.0-Examples.html

$ dnssec-keygen example.com
    Generating key pair........................+++++
    ...............++++++ 
    Kexample.com.+005+17262
$ dnssec-keygen -fk example.com
    Generating key pair.....................................+++++
    ........................................................+++ 
    Kexample.com.+005+44139
Run Code Online (Sandbox Code Playgroud)

我在 Centos 5 (x64) 上尝试了它们,发现 dnssec-keygen 的运行速度很慢。

如果我添加另一个选项参数,它会立即起作用。

例子:

dnssec-keygen -r random.data example.com
Run Code Online (Sandbox Code Playgroud)

它不会发生在 Windows 操作系统上。

尝试调试后,我看到它坚持

RSA_generate_key_ex(rsa, key->key_size, e, &cb))
Run Code Online (Sandbox Code Playgroud)

在里面

 lib\dns\opensslrsa_link.c
Run Code Online (Sandbox Code Playgroud)

我曾尝试向 ISC 发送邮件,但他们不再回复。

你有什么想法?

HBr*_*ijn 5

这可能是缺乏熵,特别是在虚拟化和/或大部分空闲系统上并不少见。

如果不检查代码,可能会从 /dev/random 检索生成正确密钥所需的随机输入,IIRC 与 /dev/urandom 不同,因为它在可用熵(即随机性)不足时会阻塞。您可以检查/proc/sys/kernel/random/entropy_avail.

您可以通过生成中断(敲击键盘、玩鼠标、运行 find / 、编译新内核等)、获取硬件随机数生成器,或者,如果您的安全要求不是很高,来帮助增加熵的数量high 安装 rngd-tools 并使用 /dev/urandom 作为增加伪熵量的变通方法:rngd -r /dev/urandom -o /dev/random -b.