Pers rilis gnupg dari 2.1.16 (saat ini 2.1.17) blok menunggu entropi hanya pada doa pertama .
Catatan: ini bukan upaya untuk menghasilkan kunci, hanya untuk mendekripsi file dan memulai agen.
Pertama kali gpg-agent dimulai, baik secara langsung dengan gpg2 file.gpg
atau menggunakan aplikasi seperti pass
, pinentry muncul dan begitu saya memasukkan frasa sandi saya dan menekannya Enterhang sekitar 15s.
Semua panggilan berikutnya, dalam jendela default-cache-ttl, dieksekusi segera.
Berjalan dalam --debug-all
mode, periode di mana hang terjadi mencetak 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
...
Saya menginstal rng-tools untuk melengkapi kumpulan entropi:
cat /proc/sys/kernel/random/entropy_avail
4094
dan dibandingkan dengan mesin dengan versi yang sama dari gnupg yang tidak memiliki RNG-alat atau haveged diinstal, bahwa pameran ada penundaan:
cat /proc/sys/kernel/random/entropy_avail
3783
Jadi tampaknya ada cukup entropi di kolam renang. Ini diuji pada kernel 4.8.13 dan 4.9.
Apakah gpg menggunakan kolam yang berbeda? Bagaimana saya bisa memberikan entropi yang cukup, atau menghilangkan penundaan 15 saat memulai agen?
1. Log debug penuh .
rng-tools
seperti yang dijelaskan di sini? serverfault.com/questions/214605/gpg-not-enough-entropy