epa: GnuPG version compatibility
4 GnuPG version compatibility
*****************************
As of February 2016, there are three active branches of GnuPG: 2.1, 2.0,
and 1.4. All those branches should work flawlessly with Emacs with
basic use-cases. They have, however, some incompatible characteristics,
which might be visible when used from Emacs.
• The key store format used by GnuPG 2.1 is incompatible with 1.4.
That means, a key created with GnuPG 2.1 is not visible with 1.4.
• GnuPG 2.1 uses a fixed address for the Unix domain socket used to
communicate with gpg-agent. The ‘GPG_AGENT_INFO’ environment
variable, which is used by GnuPG 2.0 and 1.4, is ignored. That
means, if your system has both GnuPG 2.1 and 1.4, the gpg command
from GnuPG 1.4 is not able to use gpg-agent provided by 2.1 (at
least out of box).q
• GnuPG 2.1 (2.1.5 or later) has a mechanism to direct the Pinentry
password prompt to the Emacs minibuffer(1), which would be useful
when you use Emacs remotely or from a text-only terminal. That
feature is not available in other versions, and more specifically,
with 2.0 (as of 2.0.29), there is no way to avoid the graphical
prompt.
---------- Footnotes ----------
(1) To enable this feature, add ‘allow-emacs-pinentry’ to
‘~/.gnupg/gpg-agent.conf’ and let gpg-agent reload the configuration,
with: ‘gpgconf --reload gpg-agent’