{{tag>courriel sécurité VÉTUSTE}} ---- ====== Utiliser OpenPGP et PGP/MIME avec KMail ====== ===== Introduction ===== 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''). ===== Prérequis ===== - Savoir [[:depots|installer un paquet]] (en [[:synaptic|interface graphique]] ou en [[:apt|ligne de commande]]) - Savoir se servir d'un éditeur de texte standard - Avoir installé [[KMail]] ((sur [[:kubuntu|Kubuntu]] ou juste le [[:bureau_kde|gestionnaire de bureau KDE]])). - Avoir une paire de clef (voir la documentation sur [[:GnuPG]]) - Savoir lancer une console ===== Installation ===== 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. ===== Configuration ====== La configuration se fait par utilisateur. Il faut donc la répéter pour chaque utilisateur qui désire utiliser GnuPG et KMail. ==== Modification de la configuration de GnuPG ==== 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''((s'il n'existe pas, cf. [[#prerequis|Prérequis]], et si malgré cela il n'existe toujours pas, n'hésitez pas à le créer vous même.)). Il faut ensuite décommenter((enlever le dièse (#) et l'espace de début de ligne)) la ligne suivante : # use-agent ==== Configuration de GnuPG-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 [[:tutoriel:comment_installer_un_paquet|Installer le paquet]] **[[apt>kwalletcli]]**\\ puis remplacer dans .gnupg/gpg-agent.conf #pinentry-program "/usr/bin/pinentry-qt" pinentry-program "/usr/bin/pinentry-kwallet" ==== Premier test ==== Nous allons à présent tester si l'installation et la configuration fonctionnent correctement. Il faut pour ça lancer une console ((désolé pour ceux qui n'aiment pas ça, mais c'est **vraiment** le moyen le plus simple dans ce cas)). 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''((''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. :-P ))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)" ==== Démarrer le démon à chaque session ==== === Sous KDE === Il faut créer un fichier ''~/.kde/Autostart/GnuPG''((si le dossier ''Autostart'' n'existe pas, le créer. Si le dossier ''.kde'' n'existe pas, voir [[#sous_gnome|sous Gnome]])) 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. - Quitter sa session - ''[Ctrl]-[Alt]-[<-]'' (Backspace) - Se connecter === Sous Gnome === - Aller dans **Système/Préférences/Session** - Cliquer sur le bouton **Nouveau** - Dans Nom, indiquer **gpg-agent** - Dans Commande, indiquer **eval "$(gpg-agent --daemon)"** - Valider - Vérifier que la case de gpg-agent est cochée - Fermer la fenêtre - Redémarrez la session pour que cela soit pris en compte ===== Conclusion ===== Normalement, cette manipulation devrait, après redémarrage de la session graphique, permettre de : * Envoyer des messages signés * Recevoir des messages chiffrés ---- //Contributeur : [[http://kmail.kde.org/kmail-pgpmime-howto.html|Traduit]] et adapté par [[utilisateurs:didier|Didier]]//