unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* GnuPG passphrase in Emacs minibuffer
@ 2022-08-21  4:44 Andrew L. Moore
  2022-08-21  5:58 ` Eli Zaretskii
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew L. Moore @ 2022-08-21  4:44 UTC (permalink / raw)
  To: emacs-devel

To allow a GnuPG passphrase in the Emacs minibuffer, I use the external 
Emacs package pinentry.el in loopback mode*:

(setq epg-pinentry-mode 'loopback)

Unfortunately, this doesn't work on Debain-based systems without 
upgrading the pinentry source (use: git://git.gnupg.org/pinentry.git).

But it turns out that pinentry.el may not be required any more.  It is 
enough to add to the file ~/.gnupg/gpg.conf the line:

     pinentry-mode loopback

and to ~/.gnupg/gpg-agent.conf:

     allow-loopback-pinentry

Restart gpg-agent and that's it.  The most obvious difference is that 
pinentry.el provides a more informative prompt, e.g.,

     [[1399721]@slewsys.org] Please enter the passphrase to unlock the 
OpenPGP secret key:
     "Andrew L. Moore <alm@slewsys.org>"
     255-bit EDDSA key, ID 0x0AB16F2E536D3DB5,
     created 2021-11-01.:

versus when GnuPG runs PINEntry in loopback mode:

     Enter passphrase:

Notably, the PINEntry manual warns:

   Having Emacs get the passphrase is convenient, however, it is a
   significant security risk. Emacs is a huge program, which doesn't
   provide any process isolation to speak of. As such, having it handle
   the passphrase adds a huge chunk of code to the user's trusted
   computing base. Because of this concern, Emacs doesn't enable this by
   default...

I'm not sure if one of the methods above is more secure in this regard.

------------------------------------------------------------------------

* The full configuration of pinentry.el is as follows:

In ~/.emacs or other config file, add:

     (require 'pinentry)

     (setq epg-pinentry-mode 'loopback)
     (pinentry-start)

In ~/.gnupg/gpg-agent.conf add:

     allow-loopback-pinentry
     allow-emacs-pinentry

Then restart gpg-agent.




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-08-21  7:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-21  4:44 GnuPG passphrase in Emacs minibuffer Andrew L. Moore
2022-08-21  5:58 ` Eli Zaretskii
2022-08-21  7:57   ` Andrew L. Moore

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).