Activer le pinentry du mini-tampon avec Emacs 25 et GnuPG 2.1 sur Ubuntu Xenial


14

J'ai dû faire de la plongée et de la chasse à travers la documentation et les forums, alors je me suis dit que je pourrais aussi bien faire un Q&A ici pour les autres:

Comment activer l'invite de phrase de passe GnuPG dans le mini-tampon? Le changelog Emacs 25.1 dit:

** pinentry.el permet à la phrase secrète GnuPG d'être invitée via le mini-tampon au lieu d'une boîte de dialogue graphique, selon que la commande gpg est appelée depuis Emacs (c'est-à-dire que la variable d'environnement INSIDE_EMACS est définie). Cette fonctionnalité nécessite des versions plus récentes de GnuPG (2.1.5 ou ultérieur) et Pinentry (0.9.5 ou ultérieur). Pour utiliser cette fonctionnalité, ajoutez "allow-emacs-pinentry" à "~ / .gnupg / gpg-agent.conf" et rechargez la configuration avec "gpgconf --reload gpg-agent".

Ce faisant, je reçois maintenant un message d'erreur et même pas l'invite de phrase de passe graphique.

Il s'agit de GNU Emacs 25.2.2 sur Lubuntu (Ubuntu Xenial) avec GnuPG 2.1.11.

Réponses:


15

Vous devez également

  1. Activez explicitement le mode de bouclage pour pinentry dans votre gpg-agent.conf.
  2. Configurez epa pour utiliser le bouclage pour le pinentry.
  3. Démarrez le serveur Pinentry dans emacs,

1. Activer le mode de pinentry et de bouclage Emacs pour gpg-agent

Mettez ceci dans votre ~ / .gnupg / gpg-agent.conf:

allow-emacs-pinentry
allow-loopback-pinentry

Dites ensuite à gpg-agent de charger cette configuration gpgconfdans un shell:

gpgconf --reload gpg-agent

2. Configurer l'assistant EasyPG pour utiliser le bouclage pour le pinentry

Dans emacs, soit faire

M-x customize-group RET epa RET

Réglez ensuite «Epa Pinentry Mode» sur «loopback» et appliquez.

Ou mettez-le dans votre fichier ~ / .emacs:

(setq epa-pinentry-mode 'loopback)

3. Démarrez le serveur Pinentry dans Emacs.

Dans Emacs, faites

M-x pinentry-start RET

Cela démarre le serveur pour la session en cours. Pour le démarrer dans chaque nouvelle instance d'Emacs, mettez ceci dans votre .emacs:

(pinentry-start)

J'ai implémenté cette approche et bien qu'elle fonctionne en utilisant pass depuis emacs, je ne peux plus exécuter pass depuis la ligne de commande. Est-ce le cas pour vous?
orion
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.