Las versiones de gnupg del bloque 2.1.16 (actualmente 2.1.17) esperan la entropía solo en la primera invocación .
Nota: este no es un intento de generar una clave, solo descifrar un archivo e iniciar el agente.
La primera vez que se inicia gpg-agent, ya sea directamente con gpg2 file.gpg
o usando una aplicación como pass
, aparece pinentry y una vez que ingreso mi frase de contraseña y la presiono Enterse cuelga por alrededor de 15 segundos.
Todas las llamadas posteriores, dentro de la ventana de default-cache-ttl, se ejecutan inmediatamente.
Ejecutando en --debug-all
modo, el período donde se produce el bloqueo imprime 1 :
gpg: DBG: chan_6 <- S PROGRESS need_entropy X 30 120
gpg: DBG: chan_6 <- S PROGRESS need_entropy X 120 120
gpg: DBG: chan_6 <- S PROGRESS need_entropy X 30 120
gpg: DBG: chan_6 <- S PROGRESS need_entropy X 120 120
gpg: DBG: chan_6 <- S PROGRESS need_entropy X 30 120
...
Instalé rng-tools para complementar el grupo de entropía:
cat /proc/sys/kernel/random/entropy_avail
4094
y en comparación con una máquina con la misma versión de gnupg que no tenía rng-tools o hasged instalado, que no muestra demora:
cat /proc/sys/kernel/random/entropy_avail
3783
Entonces parece haber suficiente entropía en el grupo. Esto se probó en los núcleos 4.8.13 y 4.9.
¿Gpg utiliza un grupo diferente? ¿Cómo puedo proporcionar suficiente entropía o eliminar el retraso de 15 segundos al iniciar el agente?
1. El registro de depuración completo .
rng-tools
como se explica aquí? serverfault.com/questions/214605/gpg-not-enough-entropy