从这个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
我在Centos 5(x64)上试过,发现dnssec-keygen的工作非常慢。
如果我添加另一个选项参数,它立即工作。
例:
dnssec-keygen -r random.data example.com
它不会在Windows操作系统上发生。
试图debugging后,我发现它坚持了
RSA_generate_key_ex(rsa, key->key_size, e, &cb))
在里面
lib\dns\opensslrsa_link.c
我试图发送邮件给国际学习中心,但他们不再回复。
你有什么想法?
这可能是缺乏熵,特别是在虚拟化和/或大多数闲置的系统上并不罕见。
在不检查代码的情况下,可能是因为生成正确密钥所需的随机input是从/ dev / random中获取的,而IIRC与/ dev / urandom不同,因为它在可用的熵不高时(即随机性)阻塞。 您可以检查/proc/sys/kernel/random/entropy_avail可用的位数。
你可以通过产生interupts(敲击键盘,用鼠标玩,运行find /,编译一个新的内核等)来帮助增加熵的数量,得到一个硬件随机数生成器,或者,如果你的安全要求不是很高高度安装rngd-tools并使用/ dev / urandom作为解决scheme来增加伪熵的数量: rngd -r /dev/urandom -o /dev/random -b 。