Resolve GPG keys by user name instead of address #877

epa-file-encrypt-to is now set to the ids of all keys that match
user-full-name, if it is set. This should fix issues with multiple keys
with the same email addresses.
This commit is contained in:
Henrik Lissner 2018-09-21 14:06:15 -04:00
parent ccaa642d98
commit fad1fc8f1b
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -20,7 +20,13 @@
"~/.authinfo.gpg"))
(after! epa
(setq epa-file-encrypt-to (or epa-file-encrypt-to user-mail-address)
(setq epa-file-encrypt-to
(or epa-file-encrypt-to
;; Collect all public key IDs with your username
(unless (string-empty-p user-full-name)
(cl-loop for key in (epg-list-keys (epg-make-context) user-full-name)
collect (epg-sub-key-id (car (epg-key-sub-key-list key)))))
user-mail-address)
;; With GPG 2.1, this forces gpg-agent to use the Emacs minibuffer to
;; prompt for the key passphrase.
epa-pinentry-mode 'loopback))