{{tag>gpg cryptographie sécurité chiffrement signature}}
====== GnuPG ======
===== Installation =====
apt-get install gnupg2
===== Générer une paire de clés =====
==== Certificat de révocation ====
Générer et conserver en lieu sûr le certificat de révocation. Il permettra d'invalider la paire de clés en cas de compromission. Dans la commande ci-dessous **XXXXXXXX** représente l'identifiant de la clé ou une identité associée.
$ gpg --output yoann.bezille-revoke.asc --gen-revoke XXXXXXXX
===== Distribuer la clé publique =====
Pour qu'un interlocuteur puisse chiffrer le message à notre attention ou vérifier l'intégrité des fichiers que nous signons, il faut lui transmettre notre clé publique. Deux formats sont disponibles: binaire ou textuel:
$ gpg --output ma-clef-publique.gpg --export XXXXXXXX
$ gpg --output ma-clef-pub-armor.txt --armor --export XXXXXXXX
Les clés publiques peuvent être publiées n'importe où. Des serveurs dédiés mettent à disposition les clés publiques.
* keyserver.pgp.com
* pgpkeys.mit.edu
* pgp.webtru.st/
===== Gérér ses trousseaux =====
Les trousseaux contiennent des clés. Un trousseau de clés publiques et un de clés privés.
==== Récupérer une clé publique ====
Si elle est disponible depuis un site web, wget permet de la récupérer localement:
# clés publique publiée sur un serveur web
wget https://fqdn/identity.gpg.key
Avant d'ajouter la clé au trousseau, la bonne pratique consiste à vérifier qu'elle est valide et qu'elle correspond bien à notre interlocuteur. La commande ci-dessous lit la clé publique récupérée et affiche son ID et le mail de contact:
gpg identity.gpg.key
Ce couple d'informations (ID et mail) va nous permettre de nous assurer que la clé que nous venons de récupérer est bien celle de l'interlocuteur désiré en interrogeant un tiers de confiance: un serveur de clé stockant les identités:
gpg --search-keys ID
Si le serveur affiche une entrée avec le même ID et mail, la clé récupérée est la bonne, on peut l'ajouter au trousseau.
Il peut être intéressant de connaître les personnes ayant signé cette clé, voir section réseau de confiance.
==== Importer un clé publique ====
Pour importer une clé publique appartenant à un interlocuteur dans le trousseau:
$ gpg --import key-file.gpg
==== Afficher les clés ====
Pour afficher toutes les clés présentes dans le trousseau de clés publiques:
$ gpg --list-public-keys
==== Afficher l'empreinte ====
Afficher l'empreinte de la clé
$ gpg --fingerprint XXXXXXXX
==== Supprimer une clé publique ====
On désigne la clé à supprimer du trousseau de clés publiques par son identifiant ou son empreinte:
$ gpg --delete-key XXXXXXXX
===== Réseau de confiance =====
Pour attester une identité, gnupg propose le réseau de confiance. Lorsque deux personnes se connaissent, elles peuvent mutuellement signer leur clé. Plus une clé est signée par un nombre important de tiers connus, plus l'identité est sûre.
Pour lister les tiers ayant signé une clé:
gpg --list-sigs ID
Si les tiers ayant signé la clé publique ne sont pas encore dans le trousseau local, les entrées sont listées avec la mention ''[identité introuvable]'', on peut alors relever leur ID, interroger le serveur de clé à leur propos via **%%gpg --search-keys%%** et les intégrer au trousseau local à convenance:
===== Références =====
* https://www.gnupg.org/gph/fr/manual.html