dnssec-keygen
lê /dev/random
por padrão. Se a entropia no seu sistema for baixa, você não obterá dados aleatórios suficientes para gerar as chaves em tempo hábil. A Strace provavelmente mostrará muitas coisas como:
select(4, [3], [], NULL, NULL) = 1 (in [3])
read(3, "5%6713", 46) = 8
read(3, 0x7fff5b6c3df0, 38) = -1 EAGAIN (Resource temporarily unavailable)
select(4, [3], [], NULL, NULL) = 1 (in [3])
read(3, "51c31", 38) = 8
read(3, 0x7fff5b6c3df0, 30) = -1 EAGAIN (Resource temporarily unavailable)
/dev/random
bloqueia se não houver entropia suficiente, por isso pode demorar um pouco.
Você tem algumas opções para fazer isso muito mais rápido. O mais fácil é usar a alteração -r /dev/random
to -r /dev/urandom
para usar o gerador de números aleatórios sem bloqueio (mas não tão seguro). Isso pode não ser considerado seguro para algo como uma chave GPG ou SSH que você esperaria usar por vários anos, mas provavelmente é seguro que algo seja alterado a cada 30 dias.
Outra opção é usar algo como EGD ou possuía como um substituto para /dev/random
.
Se você deseja um RNG muito mais seguro, é melhor usar um RNG de hardware dedicado. Estes são provavelmente um exagero para o DNSSEC, a menos que você esteja gerenciando TLDs ou domínios bancários.
Você pode querer ficar com / dev / random para o KSK, mas / dev / urandom deve ser bom para os ZSKs.