Cette manipulation va permettre d'étendre le support de Kmail pour OpenPGP, PGP/MIME (via GnuPG) à l'aide de l'agent de GnuPG. Ceci permet d'envoyer des messages signés (déjà avec KMail de base) mais aussi de déchiffrer les messages chiffrés (ce qui provoquait des messages types Bad Passphrase
).
Voici la liste des paquets à installer (s'ils ne le sont pas)
gnupg-agent
Et l'un des deux suivants:
pinentry-qt
(plutôt pour KDE) (Testé, marche parfaitement)pinentry-gtk2
(plutôt pour GNOME) (Testé, marche parfaitement)A priori, les deux devraient fonctionner autant avec KDE qu'avec GNOME. Question de goût.
La configuration se fait par utilisateur. Il faut donc la répéter pour chaque utilisateur qui désire utiliser GnuPG et KMail.
Tout d'abord, il faut modifier la configuration de GnuPG pour lui dire d'utiliser l'agent au lieu de son propre système de vérification de mot de passe. À cet effet, il faut éditer le fichier ~/.gnupg/gpg.conf
2).
Il faut ensuite décommenter3) la ligne suivante :
# use-agent
Ensuite, il faut configurer l'agent GnuPG. Il faut créer le fichier ~/.gnupg/gpg-agent.conf
et lui donner le contenu suivant :
pinentry-program "/usr/bin/pinentry-qt" no-grab default-cache-ttl 1800
N.B: Si c'est pinentry-gtk2
qui a été installé, il faut évidemment remplacer pinentry-qt
par pinentry-gtk-2
N.B 2 : correction de synthaxe : ajout des apostrophes
Dans les nouvelles distribution ⇒ Natty, nous pouvons utiliser kwallet avec pinentry.
Pour se faire, il faut Installer le paquet kwalletcli
puis remplacer dans .gnupg/gpg-agent.conf
#pinentry-program "/usr/bin/pinentry-qt" pinentry-program "/usr/bin/pinentry-kwallet"
Nous allons à présent tester si l'installation et la configuration fonctionnent correctement.
Il faut pour ça lancer une console 4). Donc, après avoir ouvert une console, taper les commandes suivantes :
$ eval "$(gpg-agent --daemon)"
Cette commande permet de lancer le démon gpg-agent
. On y reviendra plus tard.
Ensuite, afin de tester si l'agent est bien utilisé, il faut taper cette commande:
echo "Test" | gpg -ase -r 0xDEADBEEF | gpg
N.B. Évidemment, il faut remplacer DEADBEEF
5)par l'identifiant de votre clé !
Cette commande envoie la chaîne Test
pour être codée (| gpg -ase
) avec votre clé privée (-r 0xDEADBEEF
), puis envoie le tout pour être décodé (| gpg
). Par conséquent, le mot de passe devrait être demandé deux fois via l'interface graphique. Finalement, le mot Test
devrait apparaître dans la console (si le bon mot de passe a été entré correctement).
Si le test s'est bien déroulé, passez à la suite.
NB: Sur Natty, le daemon gpg est lancé automatiquement à l'ouverture de session X. Il faut donc rebooter pour tester la configuration et ne pas tenter de lancer un nouveau daemon avec
$ eval "$(gpg-agent --daemon)"
Il faut créer un fichier ~/.kde/Autostart/GnuPG
6) qui doit contenir les lignes suivantes :
#!/bin/sh if grep -q '^use-agent' ~/.gnupg/gpg.conf; then eval "`gpg-agent --daemon`" fi
Ce petit programme teste si une le fichier ~/.gnupg/gpg.conf
contient une ligne qui commence par use-agent
. Si c'est le cas, il démarre le démon gpg-agent
.
Il faut rendre ce fichier exécutable :
chmod +x ~/.kde/Autostart/GnuPG
Grâce à ce fichier, le démon devrait être lancé à chaque démarrage de session.
Afin de pouvoir tester sous KMail, le mieux est de redémarrer sa session graphique.
[Ctrl]-[Alt]-[←]
(Backspace)Normalement, cette manipulation devrait, après redémarrage de la session graphique, permettre de :
DEADBEEF
pourrait se traduire par BŒUFMORT
, mais les identifiants de clés sont des suites de caractères hexadécimaux (de 0 à 9 et de A à F). Si quelqu'un a une suite rigolote de 8 lettres en français, merci de modifier.