le décryptage des emails avec enigmail dans Thunderbird ne fonctionne plus. C’est parce que je n’ai pas la chance de saisir ma phrase secrète, un formulaire me demandant de le faire, j’avais l'habitude de le faire apparaître, maintenant ce n'est pas le cas et je reçois ce message:
Erreur - aucune clé privée/secrète correspondante trouvée pour décrypter le message; cliquez sur le bouton 'Détails' pour plus d'informations
La clé privée est disponible, car
gpg -d Desktop/mail.eml
fait apparaître le formulaire. Après avoir rempli ma phrase secrète, je peux lire le courrier déchiffré dans le terminal.
Un autre indice d'un problème avec les mots de passe est apparu lorsque j'ai créé de nouvelles clés aujourd'hui. Je ne pouvais pas créer de certificat de révocation car il n'y avait pas de phrase secrète définie. Ce qui, encore une fois, n'est pas vrai.
J'ai d'abord remarqué le problème le lundi 31 août.
J'ai un peu consulté Internet, puis j'ai fait ce qui suit:
Assurez-vous qu'une instance de gpg-agent est en cours d'exécution:
gpg-agent -v
résultats
gpg-agent: gpg-agent running and available
Contenu de .gnupg/gpg-agent.conf:
default-cache-ttl 0
max-cache-ttl 0
Allez à dconf Editor desktop->gnome->crypto->cache
et réglez gpg-cache-ttl
à 0
Thunderbird Enigmail->Clear Saved Passphrases
donne une alerte Enigmail disant:
Vous utilisez gpg-agent pour la gestion de la phrase secrète. Effacer la phrase secrète n’est donc pas possible à partir d’Enigmail.
Thunderbird Enigmail->Preferences->Basic Remember passphrase for 0 minutes of idle time
Faites gpg-agent
oublier ma phrase secrète:
pkill -SIGHUP gpg-agent
Seahorse->GnuPG keys
supprimer toutes les clés et les réimporter
Aucune de cette liste n'a fait aucune différence dans le problème. Je me demande comment faire en sorte qu'Enigmail demande à nouveau ma phrase secrète?
Merci d'avance!
Bronk
Éditer
/etc/xdg/autostart/gnome-keyring-gpg.desktop
n'a rien fait.seahorse
n'a rien fait.Utilisation de decrypt-file
:
Couldn't decrypt file: mail.eml.pgp
Bad passphrase
Essayez ceci: https://www.enigmail.net/support/gnupg2_issues.php Dans mon cas, j'ai besoin d'installer une version graphique de pinentry (paquet pinentry-qt4).
"Résolution de problèmes avec GnuPG 2.x et gpg-agent
Remarque GnuPG 2.x nécessite un "agent" pour gérer les phrases secrètes. Par défaut, cela est fait par gpg-agent, mais d'autres outils implémentent un sous-ensemble de ses fonctionnalités. Ces instructions ne concernent que gpg-agent. Si vous utilisez un agent tel que gnome-keyring, seahorse-agent ou KDE Wallet Manager, ces instructions ne s'appliquent pas. Problème le plus courant
Symptômes
Le problème le plus courant est que gpg-agent (une partie de GnuPG) ne peut pas lancer pinentry (l'outil utilisé pour interroger votre phrase secrète). Enigmail afficherait des messages tels que:
when reading messages:
Error - no matching private/secret key found to decrypt message; click on 'Details' button for more information
when sending messages:
- Send operation aborted. Error - encryption command failed
- Send operation aborted. Key 0x....... not found or not valid. The (sub-)key might have expired
Comment analyser
Try sending a signed and unencrypted message to yourself.
Check the output in the Enimgail log: go to menu Enigmail > Debugging Options > View Log.
Search for the following text: parseErrorOutput: status message. You will probably find this message several times. Check what follows below.
If the message says something like "no pinentry", "problem with the agent", "Invalid IPC response" or "problem with gpg-agent", then there is something wrong with your gpg-agent and/or pinentry setup.
Comment le réparer
Execute the following script from a terminal to find out if a graphical version of pinentry is used:
pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT
You should get a graphical window with a confirmation message "Hello World". If a "window" is opened within your terminal window then pinentry is text-based, which does not work with Enigmail. To fix this, ensure that a graphical version of pinentry is installed. On Linux/Unix systems, these would typically be pinentry-qt/pinentry-qt4 or pinentry-gtk/pinentry-gtk2, and on Mac OS X pinentry-mac. Rename the existing pinentry file to "pinentry-text" or similar, and create a symlink from pinentry-qt, pinentry-qt4, pinentry-gtk, pinentry-gtk2 or pinentry-mac to pinentry. Then restart your PC.
If the above does not help, check the contents of $HOME/.gnupg/gpg-agent.conf. Make sure that there is a configuration entry pinentry-program containing the full path to a graphical version of pinentry as above. E.g.:
pinentry-program /usr/local/bin/pinentry-gtk
Then save the file and restart your PC.
If you still can't access your key, then execute the following script from a terminal:
gpg-connect-agent <<EOT
GETINFO version
EOT
The output should be something like the text below, where 2.0.26 represents the agent version number. The version number should match your gpg version number:
D 2.0.26
OK
If you get an error message like "ERR 280 not implemented" then you don't use gpg-agent, but one of the alternatives like gnome-keyring. We recommend you switch to gpg-agent by disabling your current agent. See e.g. askubuntu for how to disable gnome-keyring or how to disable KDE wallet.
If you get a useful result from above, then execute the following script from a terminal:
gpg-connect-agent <<EOT
GET_CONFIRMATION Hello
EOT
Pinentry should now open as a graphical window (just like above), with the difference to the step above that this instance of pinentry was launched from gpg-agent. If this is successful, then GnuPG 2 should work correctly in Enigmail.
If gpg-agent still cannot launch pinentry from Enigmail, then you need to start debugging gpg-agent. Execute the following commands from a terminal:
killall gpg-agent
gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh
This will start gpg-agent from the command line, open a new Shell and print the debug output to that Shell. If the command succeeded, you will see somehting like:
gpg-agent[76979]: gpg-agent 2.0.26 started
Leave the terminal window untouched, start Thunderbird and try to use Enigmail. As you'll try to access gpg-agent, you will see the output in your terminal window. If gpg-agent cannot start pinentry successfully, you will see something like this:
gpg-agent[76993]: starting a new PIN Entry
gpg-agent[76993]: chan_19 <- ERR 67109133 can't exec `/usr/bin/pinentry': No such file or directory
gpg-agent[76993]: chan_19 -> BYE
gpg-agent[76993]: can't connect to the PIN entry module: IPC connect call failed
gpg-agent[76993]: command get_passphrase failed: No pinentry
Press Ctrl+D in the terminal to end the debugging session. The bold line should tell you the reason for the error (in the example above, pinentry cannot be found). Try to fix the error and repeat the test."
J'ai eu le même problème, mais j'ai constaté que tuer gpg-agent était une solution de contournement.
(D'après le code source, il est possible d'activer la journalisation enigmail en modifiant le fichier "defaults/preferences/enigmail.js" quelque part dans ~/.Thunderbird, en définissant la propriété "extensions.enigmail.logDirectory" sur "/ tmp". Le fichier journal "/tmp/enigdbug.txt" montrait ensuite la commande gpg complète exécutée par enigmail, et se terminait par "--use-agent". J'ai exécuté cette commande gpg à partir de la ligne de commande, lui fournissant un message électronique chiffré. s'est plaint du message d'erreur "gpg: problème avec l'agent: pas de code PIN". Googler pour ce message d'erreur a suggéré de tuer l'agent gpg. Pendant ce temps, la NSA se frotte les mains avec joie L’expérience utilisateur du chiffrement de l’ICP est tellement foutue.)
J'avais un problème similaire. Thunderbird demandait encore et encore de mettre le mot de passe de ma clé et le trousseau de clés Gnome ne s'en souviendrait pas, bien que je le lui aie demandé. Le problème était que gpg-agent
ne fonctionnait pas dans ma session. Le problème a disparu lorsque je l'ai démarré manuellement dans la session en cours avec:
gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh
Pour résoudre définitivement le problème, vous devez vous assurer que l'agent est en cours d'exécution dans votre session: 1. Vérifiez que vous avez le fichier suivant /etc/X11/Xsession.d/90gpg-agent
. Le mien ressemble à ceci:
: ${GNUPGHOME=$HOME/.gnupg}
GPGAGENT=/usr/bin/gpg-agent
PID_FILE="$GNUPGHOME/gpg-agent-info-$(hostname)"
if grep -qs '^[[:space:]]*use-agent' "$GNUPGHOME/gpg.conf" "$GNUPGHOME/options" &&
test -x $GPGAGENT &&
{ test -z "$GPG_AGENT_INFO" || ! $GPGAGENT 2>/dev/null; }; then
if [ -r "$PID_FILE" ]; then
. "$PID_FILE"
fi
# Invoking gpg-agent with no arguments exits successfully if the agent
# is already running as pointed by $GPG_AGENT_INFO
if ! $GPGAGENT 2>/dev/null; then
STARTUP="$GPGAGENT --daemon --sh --write-env-file=$PID_FILE $STARTUP"
fi
fi
Vérifiez que vous avez le fichier ~/.gnupg/gpg.conf
, avec au moins la ligne suivante:
use-agent
Sinon, vous pouvez l'ajouter avec la commande suivante:
echo "use-agent" >> ~/.gnupg/gpg.conf
Dans Thunderbird, sélectionnez le message, cliquez sur le hamburger, développez le menu Enigmail et sélectionnez décrypter/vérifier. Vous recevrez une invite de mot de passe après laquelle le message sera déchiffré.
J'avais un problème similaire! Après le débogage de gpg-agent effectué avec:
gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh
J'ai découvert que quelque chose était cassé entre enigmail et gpg et il n'a jamais demandé de phrase secrète. Mais dans le cas où la phrase secrète était pré-chargée, tout fonctionnait parfaitement.
Dans mon cas, le problème est que dans le passé, j'ai forcé l'option de suivi dans le fichier ~/.gnupg/gpg.conf.
pinentry-mode loopback
Cela a brisé le processus. Vous pouvez vérifier la commande en cours d'exécution d'énigmail pour activer le mode expert dans Enigmail, puis dans "Options de débogage -> View Console".
Commenté et tout a fonctionné.
Vous avez la même erreur d'erreur sur pinentry. À la fin, j'ai compris que l'agent gpg utilisait le mauvais pinentry. Résolu en définissant le bon pinentry en éditant ~/.gnupg/gpg-agent.conf et en ajoutant la ligne suivante
pinentry-program /usr/bin/pinentry-gtk-2
Le système par défaut pour lequel je travaille était pinentry-x11 (il s’agit d’une installation à l’échelle de la société qui autorise divers gestionnaires de fenêtres), ce qui n’a pas fonctionné pour gnome3. - Il faut donc s’assurer que l’agent gpg utilise le bon pinentry pour le gestionnaire de fenêtres utilisé.
Dans mon cas, c'était simplement que je n'avais aucun outil pinentry
à l'exception de pinentry-curses
(ligne de commande avec prise en charge du pointeur). Donc, dans Fedora, installez l’une des boîtes de dialogue suivantes: mot de passe/mot de passe:
pinentry-qt.x86_64
basé sur Qt4;pinentry-gtk.x86_64
basé sur GTK +;pinentry-emacs.x86_64
pour emacs;pinentry-gnome3.x86_64
pour GNOME 3.J'ai utilisé le paquet GNOME 3 pinentry
.