Je ne saurais pas expliquer mieux que l'ami Wikipedia : GPG sur Wikipedia. Une autre bonne référence est ce wikibook sur GPG.
Allez d'abord vous informer, ou vous rafraîchir les idées avant de lire d'avantage.
Note
Je vous invite à tester encrypt.to/0x01AACDB9C108F8A0 !
J'essaie de prendre l'habitude de signer les fichiers importants, critiques ou sérieux, que je propose au téléchargement.
Cela permet pour vous d'être sûr de ce que vous téléchargez : ma clé étant privé je suis (normalement) le seul à pouvoir émettre ces signatures.
La plupart des urls de fichiers que je donne sur mes pages webs peuvent permettre de récupérer la signature du fichier en question en rajoutant .asc à la fin. Exemple: cv.pdf et cv.pdf.asc, ou cette page : pgp.html et pgp.html.asc.
Par exemple, mon .bashrc a une signature .bashrc.asc.
Avec l'extension sphinx.ext.runblock, il devrait être possible d'embarquer la commande qui permet de créer cette signature (et sa sortie) :
Il est possible de vérifier ces signatures, avec ma clé publique.
Il faut importer ma clé publique dans votre répertoire de clés auxquelles vous faites confiance (trust-ring).
En ce qui concerne ma clé publique, il faut :
la télécharger, comme expliqué au paragraphe suivant;
vérifier sa somme MD5 et SHA256 en comparant les valeurs trouvées aux résultats suivants :
Depuis mon répertoire de clés :
Depuis le fichier Lilian_Besson.asc :
À quoi cela sert-il ? Cela vous permet de vérifier que vous avez bien téléchargé la bonne armor-art (ie. la version ASCII) de ma clé publique.
l'importer dans votre répertoire de clé (local sur chaque machine) :
gpg --import Lilian_Besson.asc
Ensuite, pour vérifier la signature fichier.asc du fichier fichier il suffit de faire :
gpg --verify fichier.asc fichier
Donc pour l'exemple de mon fichier .bashrc, il suffit de faire :
gpg --verify .bashrc.asc .bashrcAlors, :blue:`normalement`, si vous avez bien importé la clé, et téléchargé les bons fichiers, cela devrait vous donner un message comme :
Normalement, ça marche ;)
Note
J'ai écrit un petit script pour automatiquement cacher les adresses courriel écrite par ces commandes gpg dans les pages générées avec Sphinx et l'extension runblock.
Pourquoi ? Pour rien. Ou si en fait. Pour tenter d'éviter de laisser mes adresses éléctroniques en clair dans les nouveaux documents que je produit.
Pourquoi seulement nouveaux ? Parce que je ne savais pas que des bots peuvent scanner des millions de pages par jour à la recherche d'adresses électroniques, afin d'envoyer du spam. Donc, tant que faire ce peux, j'essaie de limiter la présence d'une adresse sous forme truc.machin@domain.ext et utilise plutôt un format du genre truc.machin[@] ou [AT].
Bref, ce script obscure_email.sh réalise cette substitution automatiquement, pour tous les documents textuels générés via Sphinx, avant de les envoyer vers un serveur. Comme ça, c'est facile et automatique :)
L'empreinte publique de ma clé est C108F8A0.
Une méthode pour récupérer ma clé est de la rechercher directement sur un des deux serveurs suivants :
- keyserver.ubuntu.com;
- pgp.mit.edu.
Donc, une recherche sur un de ces serveurs donne :
J'utilise aussi de plus en plus GPG pour signer ou chiffrer mes emails, abandonnant ainsi Hotmail pour la rédaction de mails. Le paragraphe suivant est consacré à mutt, un client de messagerie en console.
J'utilise Mut 1.5.21 pour rédiger et lire mes mails. Voir la page officielle pour plus de détails : http://www.mutt.org.
Vous pouvez trouver notamment ici publis/muttrc/ mes fichiers de configurations pour mutt (enfin, les fichiers ne contenant aucune info privée).
Il faut placer .muttrc dans votre $HOME, et le contenu du dossier mutt/ dans $HOME/.mutt/.
Il faut ensuite écrire un couple de fichier truc.account.muttrc et truc.signature.muttrc par compte de messagerie que vous souhaitez utiliser. Il est possible d'utiliser un fichier truc.password.gpg pour stocker un mot de passe pour un serveur SMTP, POP ou IMAP de façon crypté par GPG.
Adaptez enfin le .muttrc pour charger les bons fichiers (dans mon cas, truc=ens et truc=crans).
Le jeu de couleur fourni vient du projet solarized.