Tôi muốn làm việc với gpgcác tệp được mã hóa bằng Emacs và muốn có thể nhập cụm mật khẩu cho mỗi tệp được mã hóa chỉ một lần cho mỗi phiên Emacs.
Tôi đã từng có thể làm điều này bằng cách đặt biến epa-file-cache-passphrase-for-symmetric-encryptionthành t, nhưng điều này không còn hoạt động. Có thể tìm thấy lời giải thích trong dòng cuối cùng của tài liệu về biến epa-file-cache-passphrase-for-symmetric-encryption:
(defcustom epa-file-cache-passphrase-for-symmetric-encryption nil
"If non-nil, cache passphrase for symmetric encryption.
For security reasons, this option is turned off by default and
not recommended to use. Instead, consider using gpg-agent which
does the same job in a safer way. See Info node `(epa) Caching
Passphrases' for more information.
Note that this option has no effect if you use GnuPG 2.0."
:type 'boolean
:group 'epa-file)
Sau một bản cập nhật hệ thống gần đây, gpgtrong hệ thống của tôi bây giờ là phiên bản 2.1.8, điều này làm cho epa-file-cache-passphrase-for-symmetric-encryptionkhông hiệu quả.
Các tài liệu tham khảo được đề cập trong tài liệu trên dẫn đến một trang chỉ cho bạn biết, sử dụng lại gpg-agent, nhưng không nói gì về cách thực hiện. Tôi chưa thể tìm thấy hướng dẫn rõ ràng về cách thiết lập gpg-agentcho trường hợp sử dụng mà tôi đã mô tả ở đầu bài này. Bất kỳ trợ giúp sẽ được đánh giá cao.
FWIW, psnói với tôi rằng /usr/bin/gpg-agent --supervisednó thực sự đang chạy. Tôi phải làm gì khác để đưa nó vào bộ đệm mật khẩu tôi nhập khi làm việc với *.gpgcác tệp?
Ngoài ra, giá trị của epg-gpg-programbiến của tôi là /usr/bin/gpg, đề cập đến phiên bản 2.1.8 đã cài đặt được gpgđề cập trước đó.
Các phiên bản của Emacs tôi đang sử dụng là 26.0.50 và 27.0.50. Đối với cả hai trường hợp, phiên bản của epagói là 23.1.
pinentrygói theo câu trả lời này :