Trucs:Gpg, kmail et attachement de signature

De Lea Linux
Aller à la navigation Aller à la recherche
fred<fred@lea-linux.org>

On prétend souvent que kmail n'est pas compatible avec OpenPGP ou avec les attachements PGP/MIME. C'est vrai que nativement c'est le cas, mais un plugin pour kmail a été développé et il fonctionne très bien. Voilà comment procéder pour l'installer et le configurer correctement.

Les prérequis

Il vous faut télécharger les logiciels suivants :

  1. libgcrypt (>= 1.1.10)
  2. libksba (>= 0.4.7)
  3. newpg (>= 0.9.4)
  4. gpgme 0.3.x (>= 0.3.15; < 0.4.0)
  5. cryptplug 0.3.x (>= 0.3.15)
  6. pinentry (>= 0.6.8)
Note : beaucoup de ces librairies et utilisaires sont sûrement disponibles en tant que paquets binaires pour votre distribution : préférez leur utilisation à celles des sources proposés ici.

Installation

Je ne détaillerais pas ici l'installation de tous ces utilitaires. Aprés décompactage, un simple :

cd libgcrypt && ./configure && make && make check && su -c "make install"
cd libksba && ./configure && make && make check && su -c "make install"
cd newpg && ./configure && make && make check && su -c "make install"
cd gpgme && ./configure --without-gpgsm && make && make check && su -c "make install"
cd cryptplug && ./configure && make && su -c "make install"
cd pinentry && ./configure --disable-pinentry-gtk --disable-pinentry-curses --disable-fallback-curses && make && su -c "make install"

devrait faire l'affaire.

Note: les --disable-... dans l'installation de pinentry sont facultatifs et peuvent être supprimés (ils ne servent qu'a compiler pinentry pour QT).

Configuration de GnuPG

Il faut maintenant configurer GnuPG pour qu'il puisse utiliser pinentry pour taper le mot de passe. Il suffit pour cela d'éditer le fichier ~/.gnupg/gpg.conf (pour chaque utilisateur) et d'y ajouter la ligne :

use-agent

Puis de créer un fichier ~/.gnupg/gpg-agent.conf contenant :

pinentry-program /usr/local/bin/pinentry-qt
no-grab
default-cache-ttl 1800

Evidemment le chemin conduisant à pinentry-qt doit être adapté si vous avez installé pinentry autrement que de la manière indiquée.

Ensuite, il faut faire en sorte de démarrer l'agent GnuPG (ici, pinentry-qt) automatiquement, il y a plusieurs solutions.

  1. Vous utilisez ~/.xsession pour démarrer votre interface graphique préférée, ajoutez en debut de ce fichier :
    eval "$(gpg-agent --daemon)"
  2. Vous utilisez xdm/kdm, ajoutez au fichier /etc/X11/xdm/Xsession :
    # gestion de l'agent gpg
    if grep use-agent ~/.gnupg/gpg.conf &> /dev/null ; then
    eval "$(gpg-agent --daemon)"
    fi

Ensuite, rédemarrez votre interface graphique (c'est le plus simple, bien que ce ne soit pas complétement nécessaire...)

Configuration de kmail

Lancez kmail, puis cliquez sur "Configuration" -> "Sécurité", sélectionnez l'onglet "OpenPGP", vérifiez que vous avez bien sélectionné "GNU Privacy Guard (GnuPG)" comme outil de cryptage (mauvaise traduction, il faudrait utiliser "chiffrage").

Puis sélectionnez l'onglet "Modules externes de cryptographie". Cliquez sur "Nouveau". Pour le "Nom" tapez ce que vous voulez, par exemple "PGP/Mime". Pour l'"Emplacement" tapez l'emplacement de "gpgme-openpgp.so", par défaut : /usr/local/lib/cryptplug/gpgme-openpgp.so. Comme sur cette image.

Enfin, validez le tout.

Utilisation

Lorsque vous voudrez chiffrer, signer ou déchiffrer un message vous verrez maintenant que kmail vous propose maintenant deux possibilités :

  1. "OpenPGP dans le corps du message (incorporé)", c'est ce qu'il faisait sans l'installation du plugin ;
  2. "PGP/Mime (module externe)", c'est le plugin qu'on vient d'installer. L'utilisation du plugin, en plus de permettre le déchiffrage des messages PGP/Mime, permet aussi de chiffer et signer chaque pièce jointe individuellement. Mais attention : certains de vos correspondants utilisant un kmail "mal configuré" pourraient ne pas pouvoir les déchiffrer : indiquez leur ce truc pour qu'ils puissent le faire. ;-)
Les mails avec pièce jointe chiffrée et signature en pièce jointe sont conformes à la norme, et interopérables avec les logiciels la respectant, comme Mozilla avec le plugin Enigmail, et même Outlook© avec les bons plugins.

Largement inspiré de kmail-pgpmime-howto.html.