Enigmail ne peut pas communiquer avec gpg-agent

10

Mise à jour

Depuis Ubuntu 16.04, le plug-in fonctionne comme prévu et il n'est pas nécessaire de rétrograder comme suggéré dans la réponse acceptée. La question était applicable à Ubuntu 15.04 et, peut - être , 15.10.


Message d'origine

J'utilise Thunderbird + Enigmail depuis des années. J'utilise actuellement Thunderbird 38.5.1, Enigmail version 1.9 (20160223-1641) et GPG 2.0.26 dans mon PC de travail (Ubuntu 15.04 64 bits, avec Gnome Shell).

Il y a quelques jours, après 1 an + de fonctionnement, Enigmail a soudainement commencé à se plaindre de l'erreur suivante chaque fois que j'essaie d'envoyer un e-mail signé ou crypté:

GnuPG a signalé une erreur dans la communication avec gpg-agent (un composant de GnuPG).

Il s'agit d'une erreur de configuration ou de configuration du système qui empêche Enigmail de fonctionner correctement et ne peut pas être corrigée automatiquement.

Nous vous recommandons fortement de consulter notre site Web d'assistance à l' adresse https://enigmail.net/faq .

J'ai parcouru la page FAQ et essayé plusieurs choses, mais je n'ai pas encore pu résoudre le problème.

La pinentrycommande fonctionne correctement et affiche la pinentry-qt4fenêtre (c'est-à-dire non textuelle):

pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT

Cependant, la gpg-agent-connectcommande échoue:

gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
ERR 280 not implemented

J'ai essayé de désactiver le trousseau de clés gnome comme suggéré, mais cela ne fonctionne pas non plus. (Oui, j'ai redémarré le système entre les deux, mais je veux aussi garder le trousseau de clés activé comme d'habitude.) J'ai également essayé d'exporter et de réimporter mes paramètres Enigmail (c'est- $HOME/.gnupg/à- dire de renommer quelque chose d'autre entre-temps), mais cela a fait ne fonctionne pas non plus.

Curieusement, lorsque je démarre gpg-agentmanuellement depuis le shell, puis démarre Thunderbird, il semble communiquer avec le gpg-agent, comme indiqué ci-dessous:

gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh
gpg-agent[6469]: enabled debug flags: command cache assuan
gpg-agent[6469]: directory `/home/ray/.gnupg' created
gpg-agent[6469]: directory `/home/ray/.gnupg/private-keys-v1.d' created
gpg-agent[6469]: listening on socket `/home/ray/.gnupg/S.gpg-agent'
gpg-agent[6470]: gpg-agent (GnuPG) 2.0.26 started
#
# Thunderbird started at this point
#
$ gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 started
gpg-agent[6470]: chan_7 -> OK Pleased to meet you, process 6470
gpg-agent[6470]: chan_6 <- OK Pleased to meet you, process 6470
gpg-agent[6470]: chan_6 -> GETINFO pid
gpg-agent[6470]: chan_7 <- GETINFO pid
gpg-agent[6470]: chan_7 -> D 6470
gpg-agent[6470]: chan_7 -> OK
gpg-agent[6470]: chan_6 <- D 6470
gpg-agent[6470]: chan_6 <- OK
gpg-agent[6470]: chan_6 -> BYE
gpg-agent[6470]: chan_7 <- BYE
gpg-agent[6470]: chan_7 -> OK closing connection
gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 terminated

Je ne vois aucune sortie si j'essaie d'envoyer un e-mail signé et / ou crypté. Cela n'apparaît qu'au démarrage de Thunderbird.

De plus, j'ai ajouté la /usr/bin/gpg-agent --daemoncommande en tant qu'application de démarrage dans le panneau Gnome Startup Applications, mais cela n'a fait aucune différence.

Je pense que j'ai appliqué une mise à jour régulière vers le 2/23, mais le problème n'est devenu visible qu'au redémarrage du système le 2/24 cette semaine. Malheureusement, je ne me souviens pas quels paquets ont été mis à jour, mais il n'y en avait pas beaucoup. (Je garde normalement le système à jour.)

Veuillez noter que cela fonctionnait sans problème depuis des années, jusqu'à il y a environ 2 jours. (J'ai également utilisé cette configuration sur mon ordinateur de bureau à domicile pendant 4 ans + sans problème, mais mon PC de travail est un ordinateur portable, et Ubuntu ne fonctionne parfois pas aussi bien là-bas pour des raisons inconnues ...)

Lorsque j'essaie d'ouvrir des e-mails cryptés que j'ai reçus (ou des brouillons enregistrés, qui sont également cryptés), j'obtiens le même message d'erreur à propos de gpg-agent, mais il décrypte l'e-mail après m'avoir demandé ma phrase de passe de clé privée.

Q: Comment puis-je résoudre cette erreur de communication qui m'empêche d'envoyer des e-mails signés / cryptés?

Pour que le problème soit résolu, la situation doit revenir à fonctionner normalement sans les messages d'erreur, etc.

Merci d'avance pour toute aide que vous pouvez fournir pour résoudre ce problème.


Pendant que j'écrivais ce message, j'ai remarqué le message suivant du gpg-agentdémon dans le terminal:

# ...from previous output above
gpg-agent[6470]: chan_7 -> OK closing connection
gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 terminated
#
# new/unexpected error message from agent
#
gpg-agent[6470]: can't connect my own socket: IPC connect call failed
gpg-agent[6470]: this process is useless - shutting down
gpg-agent[6470]: gpg-agent (GnuPG) 2.0.26 stopped

Cela s'est révélé de manière inattendue, car je n'ai pas demandé à Thunderbird de faire quoi que ce soit en particulier en attendant.


J'ai mis à jour du 15.04 -> 15.10 -> 16.04 et je peux confirmer que Thunderbird 38.6 + Enigmail 1.9.1 fonctionne normalement pour moi. La sortie des commandes est également ce qu'elles devraient être:

➜  ~ pinentry <<EOT
heredoc> SETDESC Hello World
heredoc> CONFIRM
heredoc> EOT
OK Pleased to meet you
OK
OK
➜  ~ gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
D 2.1.11
OK
code_dredd
la source
Peut-être lié: sourceforge.net/p/enigmail/bugs/575
Socob
@Socob: Où vérifieriez-vous s'il ERROR check_hijackest réellement émis? La FAQ semble obsolète et je ne sais plus où est l'option pour afficher le journal de débogage d'Enigmail.
code_dredd
Malheureusement, je ne suis pas sûr, je viens de vérifier le suivi des bogues d'Enigmail et j'ai vu ce problème tout en haut, ce qui pourrait entraîner ce problème. Soit dit en passant, j'ai le même problème que vous (Enigmail donnant ce message d'erreur après avoir travaillé sans problème pendant très longtemps). J'essaierai de m'en débarrasser quand j'aurai le temps.
Socob
@Socob: Ça sonne bien. Ce n'est pas la première fois que je rencontre ce problème. La première fois que j'ai rencontré ce problème, la date de remplacement de mon PC était assez proche, donc je l'ai ignoré après avoir perdu plusieurs heures à essayer de le résoudre. Je ne peux pas l'ignorer cette fois, et j'ai encore passé plusieurs heures. Je continuerai d'essayer de temps en temps. J'espère que vous avez plus de chance que moi.
code_dredd
1
Même problème ici. Enigmail > Debugging Options > View Logrévèle WARNING: The GNOME keyring manager hijacked the GnuPG agent. Je suis donc presque sûr que GnomeKeyring est lié. echo | gpg2 --signrévèle le problème sur la CLI. Malheureusement, la désactivation de gnome-keyring (comme seule solution de contournement) n'est pas une option pour moi.
meisterluk

Réponses:

5

Alors que la réponse de cette autre ne montre que comment la résoudre sur un système Debian, l'approche est la même:

Rétrogradation.

Depuis qu'Enigmail a sorti la version 1.9 le 23 février et que les problèmes ont commencé à partir de ce jour, les trois seules solutions sont:

  1. Attendez qu'Enigmail trie les choses et installe leur mise à jour vers la version 1.9.x et arrêtez d'utiliser le chiffrement jusqu'à ce qu'ils fournissent la mise à jour
  2. Creusez et résolvez le problème vous-même (ce que tout le monde n'est pas capable de faire en raison de la connaissance limitée de l'architecture logicielle sous-jacente)
  3. Rétrogradez à 1.8.2, puis attendez qu'Enigmail trie les choses et passez à 1.9.x qui résout l'erreur qui s'est produite avec 1.9.

Je ne peux pas aider avec 1 ou 2, mais avec le numéro 3:

  • Téléchargez Enigmail 1.8.2 , qui est la dernière version antérieure à 1.9 qui n'a pas introduit l'erreur
  • Désinstaller Enigmail 1.9 via le menu des modules complémentaires Thunderbird
  • À partir de ce même menu, installez manuellement le fichier 1.8.2 téléchargé en cliquant sur le bouton de configuration des modules complémentaires en haut de la page des modules complémentaires Thunderbird, à gauche du champ de saisie du texte de recherche
  • Redémarrez Thunderbird

Cela devrait maintenant fonctionner comme avant la mise à jour vers Enigmail 1.9.

Je suggérerais de désactiver les mises à jour automatiques pour Enigmail jusqu'à ce que ce bogue introduit dans 1.9 ait été résolu. Vous pouvez les désactiver en cliquant sur le lien "plus" qui se trouve dans le texte de description de l'extension Enigmail sur la page des modules complémentaires Thunderbird.

Fibre
la source
Je pense que vous voulez dire "je ne peux pas m'empêcher de 1 ou 2 , mais avec le numéro 3 ".
Socob
1
@Bran: Notez qu'après avoir changé de version d'Enigmail, vous pouvez obtenir un message d'erreur indiquant que votre clé n'est pas trouvée ou est «expirée», même après le redémarrage de Thunderbird. En fait, j'ai dû redémarrer complètement mon PC pour contourner cela. Pour le meilleur ou pour le pire, cela semble être la seule solution pratique à l'heure actuelle. Au lieu de casser leur logiciel, ils auraient dû donner à l'utilisateur la possibilité de choisir quoi faire (par exemple, autoriser l'interaction via le trousseau de clés gnome)
code_dredd
1
Message réel:Enigmail Key ... not found or not valid. The (sub-)key might have expired.
code_dredd
Eh bien, étant donné qu'un rapport de bogue a été créé par l'un des responsables à ce sujet très peu de temps après sa publication, il ne semble pas être un changement intentionnel. Curieusement, le rapport de bogue en question a été supprimé maintenant, cependant ...
Socob
L'approche de @thisthatother fonctionne également pour ubuntu, voir packages.ubuntu.com/search?keywords=enigmail ... Ubuntu fournit enigmail en tant qu'apckage avec la version 1.8.2 actuellement pour toutes les versions d'ubuntu.
Matthias
5

Merci beaucoup pour la contribution détaillée de chacun sur cette question.

J'ai un problème similaire depuis la mise à jour de mon système vers Enigmail 1.9 le 25 février. J'ai résolu le problème en désinstallant Enigmail 1.9 et en passant à 1.8.

Pour moi, cela a été facile car j'utilise Debian 8 et j'ai simplement désinstallé Enigmail en tant qu'addon autonome et l'ai remplacé par la version Enigmail du référentiel principal debian (qui, selon certaines recherches, se trouve être la version 1.8.2 ). Hausser les épaules. Je n'ai eu aucun problème depuis ce changement. J'espère que cela sera utile aux autres et merci encore de m'avoir mis sur la bonne voie pour résoudre le problème.

cette autre
la source
merci aux affiches précédentes pour les informations détaillées qui m'ont aidé à trouver une solution à mon cas particulier. j'espère que ça marche aussi pour les autres
thisthatother
Trouvaille intéressante. Cependant, je n'utilise pas Debian, et bien qu'une solution spécifique à Debian puisse fonctionner pour quelques-uns, il est préférable d'avoir une solution plus générale.
code_dredd
1
Eh bien, cela devrait fonctionner dans tous les cas - il suffirait de mettre la main sur une ancienne version d'Enigmail (je ne pense pas qu'il devrait y avoir de problèmes de compatibilité avec les fichiers .xpi).
Socob
Cette solution de contournement résout également le problème pour moi. Aucun problème depuis.
Matthias
2

Pas besoin de rétrograder le plugin enigmail:

  • Élément de liste
  • Ubuntu 16.04
  • Thunderbird 45.2.0
  • Enigmail 1.9.5
  • gpg (GnuPG) 1.4.20

Dans un terminal:

killall gpg-agent
export GPG_TTY=$(tty)
gpg-agent --daemon /bin/bash

(--use-standard-socket est obsolète)

Pas besoin de redémarrer Thunderbird.

0xFAb
la source
Vrai. J'avais déclaré qu'il n'était pas nécessaire de rétrograder en tant que commentaire, mais j'ai mis à jour le message pour le rendre très visible.
code_dredd
1

J'ai eu le même problème dans le sens où Enigmail a soudainement lancé ce message d'erreur à chaque opération après avoir travaillé pendant plusieurs mois. La désactivation du composant GPG Password Agent du trousseau de clés GNOME a résolu ce problème pour moi - Enigmail utilise ensuite «l'original» gpg-agentavec un programme de pinentry (au lieu de l'invite de phrase de passe du trousseau de clés GNOME) et tout fonctionne sans problème.

J'ai désactivé le composant de mot de passe GNOME Keyring GPG en utilisant le programme par défaut «Applications de démarrage» d'Ubuntu:

Désactiver l'agent de mot de passe GPG (à partir du trousseau de clés GNOME) à l'aide de «Applications de démarrage»

Vous avez dit que vous avez essayé de désactiver le trousseau de clés GNOME et que vous utilisiez le shell GNOME. Peut-être que cela n'a pas fonctionné correctement? Vous pouvez essayer d'utiliser les mêmes étapes que moi (Applications de démarrage / Unity) et voir si cela change quelque chose.

Il semble que ce problème soit dû à une récente mise à jour dans Enigmail (la version 1.9 a été publiée le 23 février 2016) car auparavant, il pouvait être utilisé avec le porte-clés GNOME sans générer cette erreur. Le fait que la désactivation de GNOME Keyring résout le problème (et le timing) suggère que le bogue Enigmail # 575 est lié.

Socob
la source
J'ai pu creuser un peu plus à ce sujet hier. J'ai trouvé que le ERROR hijackmessage apparaît dans le journal. J'avais essayé de désactiver la même option que vous aviez déjà, mais le problème est que lorsque je l'ai fait, alors il ne peut jamais parler gpg-agentcar l' pinentryinvite de la phrase de passe ne s'affiche jamais (c'est-à-dire que je reçois un message d'erreur différent avant à toute tentative de communication avec gpg-agent). J'essaierai à nouveau lorsque je retournerai au travail demain.
code_dredd
Le lien du bogue Enigmail est cassé ...
xuhdev
@xuhdev Oui, le bogue a été supprimé peu de temps après sa création. Je ne sais pas pourquoi, cependant.
Socob