Tengo un accounts.org.gpg
archivo Puedo abrirlo usando gpg directamente:
$ 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>
Pero no puedo abrir el mismo archivo usando Emacs. Intentar abrirlo en emacs me da un error:
epa-file--find-file-not-found-function: Opening input file: Decryption failed, No secret key: E295ECEC7CC8AAC6
¿Hay algo que deba configurar en el lado de emacs para que esto funcione?
Para algunos antecedentes adicionales, creé este archivo en otra máquina (usando la misma versión de Emacs), en el que Emacs podía leer / escribir en ese archivo muy bien. Luego copié el contenido de ~/.gnupg
esta máquina. Y ahora gpg todavía puede leerlo, pero Emacs no.
EDITAR: ¿Podría ser esta una diferencia entre gpg1 y gpg2?
$ gpg2 --decrypt accounts.org.gpg
gpg: encrypted with RSA key, ID E295ECEC7CC8AAC6
gpg: decryption failed: No secret key
¿Cómo leyeron y escribieron los Emacs en la otra máquina (usando la misma configuración, la misma versión de Emacs (25.1) y el mismo sistema operativo (Fedora 24 x86_64, la misma versión de los paquetes gpg y gpg2))? De todos modos usando,
(setq epg-gpg-program "/usr/bin/gpg")
Todavía da como resultado el mismo error.
(setq epg-gpg-program "gpg2")
?setq
no funcionaepg-gpg-program
, tienes que personalizarlo.Respuestas:
No dice qué sistema operativo ni qué versión de emacs tiene.
Ayer resolví exactamente el mismo problema en OSX y emacs 25.1 usando la información de este enlace: http://colinxy.github.io/software-installation/2016/09/24/emacs25-easypg-issue.html
Ejecuté estos comandos:
y establecer el modo de pinentry en mi archivo conf de emacs:
fuente
(setf epa-pinentry-mode 'loopback)
truco.(setf epa-pinentry-mode 'loopback)
línea en .emacs fue suficiente para mi Gnu Emacs 26.2 con gpg 2.2.16 de homebrew.