Tôi muốn làm việc với gpg
cá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-encryption
thà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, gpg
trong 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-encryption
khô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-agent
cho 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, ps
nói với tôi rằng /usr/bin/gpg-agent --supervised
nó 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 *.gpg
các tệp?
Ngoài ra, giá trị của epg-gpg-program
biế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 epa
gói là 23.1.
pinentry
gói theo câu trả lời này :