У меня есть accounts.org.gpg
файл. Я могу открыть его с помощью gpg напрямую:
$ gpg -d ./accounts.org.gpg
You need a passphrase to unlock the secret key for
user: "Omair Majid <removed@removed>"
4096-bit RSA key, ID 7CC8AAC6, created 2012-01-18 (main key ID 66484681)
gpg: encrypted with 4096-bit RSA key, ID 7CC8AAC6, created 2012-01-18
"Omair Majid <removed@removed>"
+TITLE: Accounts
<rest of output removed>
Но я не могу открыть тот же файл с помощью Emacs. Попытка открыть его в emacs выдает ошибку:
epa-file--find-file-not-found-function: Opening input file: Decryption failed, No secret key: E295ECEC7CC8AAC6
Что-то мне нужно настроить на стороне emacs, чтобы это работало?
Для некоторого дополнительного фона я создал этот файл на другом компьютере (используя ту же версию Emacs), на котором Emacs мог читать / записывать в этот файл просто отлично. Затем я скопировал содержимое ~/.gnupg
этой машины. И теперь gpg все еще может это прочитать, а Emacs - нет.
РЕДАКТИРОВАТЬ: Может ли это быть разница между gpg1 и gpg2?
$ gpg2 --decrypt accounts.org.gpg
gpg: encrypted with RSA key, ID E295ECEC7CC8AAC6
gpg: decryption failed: No secret key
Как Emacs на другом компьютере (используя ту же конфигурацию, ту же версию Emacs (25.1) и ту же ОС (Fedora 24 x86_64, та же версия пакетов gpg и gpg2)) читал с нее и записывал на нее. Во всяком случае, используя,
(setq epg-gpg-program "/usr/bin/gpg")
По-прежнему приводит к той же ошибке.
(setq epg-gpg-program "gpg2")
?setq
не работаетepg-gpg-program
, вы должны настроить ее.Ответы:
Вы не говорите, какая ОС или версия emacs у вас есть.
Вчера я решил точно такую же проблему в OSX и emacs 25.1, используя информацию по этой ссылке: http://colinxy.github.io/software-installation/2016/09/24/emacs25-easypg-issue.html
Я выполнил эти команды:
и установите режим pinentry в моем файле emacs conf:
источник
(setf epa-pinentry-mode 'loopback)
трюк.(setf epa-pinentry-mode 'loopback)
строки в .emacs было достаточно для моего Gnu Emacs 26.2 с gpg 2.2.16 от homebrew.