Skip to main content

Créer des images de votre réseau de confiance GnuPG

Présentation

Disposition en neato

Vous avez un trousseau de clef GnuPG, bien propre, avec pleins de signatures, mais vous en avez marre de vérifier clef par clef qui à signé qui ?

Voici comment créer, sous (K)Ubuntu des images qui reprennent en résumé qui est dans votre trousseau, et qui à signé la clef de qui: bref votre réseaux de confiance GnuPG.

Ce tutoriel aborde de la simple création d'une image, jusqu'à la création d'un script qui le fait automatiquement. Il y en a donc pour tous les goûts.

 

Installation :

Pour commencer, installez les paquets graphviz et sig2dot, via votre gestionnaire de paquets préféré (adept ou synaptique) ou par la commande :

sudo apt-get install graphviz sig2dot

Création des images :

Pour créer une image, cela passe par la ligne de commande. Il y a plusieurs algorithme de gestion spatiale de vos contacts, chacun pouvant donner une iémge différente.
Pour créer une image avec le type DOT : Distribution spatiale avec une flèche par signature : deviens vite encombré de flèches en tout sens.

gpg --list-sigs | sig2dot | dot -Tpng > ~/gpg-wot-dot.png

Exemple : gpg-wot-dot.png:
Distribution spatiale dot


Avec le type FDP : Dessine des flèches à double sens: plus lisible.

gpg --list-sigs | sig2dot | fdp -Tpng > ~/gpg-wot-fdp.png

Exemple : gpg-wot-fdp.png:
Distribution spatiale fdp

Avec le type TWOPI : idem que fdp mais distribué différemment.

gpg --list-sigs | sig2dot | twopi -Tpng > ~/gpg-wot-twopi.png

Exemple : gpg-wot-twopi,.png :
Distribution spatiale twopi


Avec le type NEATO : idem que fdp mais organise différemment l'espace.

gpg --list-sigs | sig2dot | neato -Tpng > ~/gpg-wot-neato.png

Exemple : gpg-wot-neato.png :
Distribution spatiale neato

Avec le type CIRCO : crée un cercle, ce qui fait vite une image énorme et difficile à suivre.

gpg --list-sigs | sig2dot | circo -Tpng > ~/gpg-wot-circo.png

Exemple : gpg-wot-circo.png :

Automatiser tout cela :

Si vous voulez les générer d'un seul coup, il y a moyen de créer un script bash, c'est à dire un genre de mini programme exécutable, pour le faire automatiquement :
Créez un fichier texte du nom de : monkeyring.sh
Collez y le code suivant (merci à Rémi Laurent, du fsugar) :

#!/bin/sh
# This program is free software. 
# It comes without any warranty, to the extent permitted by applicable law. 
# You can redistribute it and/or modify it 
# under the terms of the "Do What The Fuck You Want To" Public License, Version 2,
# as published by Sam Hocevar. 
# See http://sam.zoy.org/wtfpl/COPYING for more details.

BACKENDS="dot neato twopi circo fdp"
DOT=`gpg --list-sigs | sig2dot`

if [ "$1" = "-all" ]
then
	for BACKEND in $BACKENDS
	do echo "$DOT" | $BACKEND -Tpng > ~/gpg-wot-${BACKEND}.png; done
else
	echo "$DOT" | dot -Tpng > ~/gpg-wot-dot.png
fi

Rendez ce fichier exécutable. Sous Kubuntu, cliquez droit sur le nom du fichier, puis, "Propriétés", puis "droits d'accès", et enfin cochez la case "Rendre exécutable".
En ligne de commande tapez :

chmod +x monkeyring.sh


Ceci étant fait, resynchronisez vos clefs GnuPG avec les serveurs de clefs afin d'avoir les dernières signatures à jour, puis exécutez ce fichier. Pour cela ouvrez un terminal et entrez:

sh monkeyring.sh

Cela va vous créer une image du nom de gpg-wot-dot.png
Si vous entrez:

sh monkeyring.sh -all

Cela vous créera des images selon tous les algorithmes de gestion spatiale des relations définis dans le fichier : dot, neato, twopi, circo, fdp.

Pousser plus loin l'automatisation : créer une commande qui exécute le script:


Afin de pourvoir utiliser votre script comme une commande normale et ne plus devoir à chaque fois indiquer le chemin pour atteindre celui-ci, ouvres le fichier de configuration ~/.bashrc et ajoutez à la fin la ligne :

alias monkeyring='~/le_chemin_du_fichier_monkeyring.sh'

Exemple, avec un fichier monkeyring.sh placé dans le répertoire /home/votrelogin/monkeyring/ :

alias monkeyring='~/monkeyring/monkeyring.sh'

Ensuite, ouvrer un terminal (si vous faite ces opération depuis un terminal, ouvrez en un nouveau, afin qu'il interprête votre nouveau fichier de configuration), vous pouvez maintenant pour exécuter votre script simplement taper:

monkeyring

Et si vous voulez toutes les images :

monkeyring -all

De plus en plus fort : créer un lanceur graphique :

Un lanceur graphique est un lien dans vos menus, avec une icône, qui permet de lancer un programme. Ici on vas faire un lien avec une icône qui va lancer le script de création des images.

Tout d'abord, créez un icône, en PNG : voici la mienne :
Gnupg ring icon

A partir d'ici la procédure dépend de votre gestionnaire graphique.

Avec KDE :

Avec votre souris, survolez le menu K, et faites un clic-droit : sélectionnez "Editeur de menu".


Dans le menu "Fichier", sélectionnez "Nouveau sous-menu", et dans la boite, entrez "Programmes personnels", ou ce que vous voulez. Ceci vas créer une section dans votre menu K ou vous regrouperez vos futures créations. Notez que vous pouvez vous passer de cette étape et mettre votre lanceur la ou bon vous semble.

Une fois votre sous-menu créé, cliquez droit dessus et sélectionnez "Créer un nouvel élément". Donnez lui un nom, ici on l'appellera logiquement "Mon Key Ring".
Dans la fenêtre qui s'ouvre, dans "commande" spécifiez le chemin vers votre fichier .sh, ici "~/monkeyring.sh -all".
Cliquez ensuite sur l'icône dans le coin supérieur droit de votre nouvel élément, dans "source de l'icône" choisissez "autre icône", et spécifie votre fichier png. Voila, c'est fini.

Editeur de menu de KDE

Enregistrez le tout en cliquant sur la disquette.

Ouvrez mainetnant votre menu K, et lancez votre application. Un clic et votre application se lance. Tout le temps qu'elle tourne son logo dansera a côté de votre souris ;-)

Menu K actualisé

Avec Gnome :

Faites un clic-droit sur votre menu "Applications" et sélectionnez "Editer les menus".
Lien vers l'éditeur de menu

Dans la fenêtre que vous obtenez, suivez plus ou moins la même procédure que décrite ci-dessus. Vous devriez à la fin obtenir un éditeur comme ceci :

Editeur de menu de Gnome

A la fin, vous obtiendrez un menu comme ceci :

 

La nouvelle mailling list du lug est disponible chez tuxfamily

Pour s'y inscrire la procédure est disponible ici