Các bản phát hành của gnupg từ khối 2.1.16 (hiện tại là 2.1,17) chỉ chờ entropy trong lần gọi đầu tiên .
Lưu ý: đây không phải là một nỗ lực để tạo khóa, chỉ để giải mã một tệp và khởi động tác nhân.
Lần đầu tiên gpg-agent được khởi động, trực tiếp với gpg2 file.gpg
hoặc sử dụng một ứng dụng như pass
, pinentry xuất hiện và một khi tôi nhập cụm mật khẩu của mình và nhấn Enternó trong khoảng 15 giây.
Tất cả các cuộc gọi tiếp theo, trong cửa sổ của cache-ttl mặc định, được thực hiện ngay lập tức.
Chạy ở --debug-all
chế độ, khoảng thời gian treo xảy ra in 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
...
Tôi đã cài đặt các công cụ rng để bổ sung cho nhóm entropy:
cat /proc/sys/kernel/random/entropy_avail
4094
và so sánh với một máy tính với cùng một phiên bản của gnupg mà không có RNG-tools, hoặc haveged cài đặt, mà triển lãm không chậm trễ:
cat /proc/sys/kernel/random/entropy_avail
3783
Vì vậy, dường như có đủ entropy trong hồ bơi. Điều này đã được thử nghiệm trên hạt nhân 4.8.13 và 4.9.
Có gpg sử dụng một hồ bơi khác nhau? Làm cách nào tôi có thể cung cấp đủ entropy hoặc loại bỏ độ trễ 15 giây khi bắt đầu tác nhân?
1. Nhật ký gỡ lỗi đầy đủ .
rng-tools
như giải thích ở đây? serverfault.com/questions/214605/gpg-not-enough-entropy