GPG

De Breizh-Entropy
(Redirigé depuis Documentation/GPG)
Aller à la navigation Aller à la recherche


ATTENTION

Ne pas envoyer sa clé sur un serveur de clés sans savoir ce qu'on fait…

Gérer ses clés

Générer une paire de clés

 gpg --gen-key
Besoin d'entropie ?
 grep -R zedezdezzefzefezfezf /
 find /
 apt-get update
 apt-get dist-upgrade -dy

Générer une clé de révocation

 gpg --gen-revoke $MY_USER_ID

ou

 gpg --gen-revoke $MY_USER_ID --output revoke.key

À conserver sur un support protégé !

Gérer le trousseau de clés GPG

 gpg --list-key [$AN_ID]
 gpg --list-sigs
 gpg --list-secret-keys
 gpg --fingerprint

Exporter sa clé publique

 # Pour l'envoyer par mail, par exemple
 gpg --export --armor
 # Envoi sur un serveur de clé
 gpg --send-keys $MY_USER_ID --keyserver $SERVER

Signer une clé

 gpg --edit-key $OTHER_USER_ID
 trust
 # Signature exportable
 sign
 # Signature uniquement locale
 lsign

Autres opérations

 gpg --edit-key $MY_USER_ID

Utiliser ses clés

Signer un fichier

 gpg --sign [ --local-user $MY_USER_ID ] --armor [fichier]
 gpg -s [ -u $MY_USER_ID ] -a fichier

> fichier.asc

Vérifier une signature

 gpg --verify fichier

Chiffrer un fichier

Chiffrer un fichier avec la clé publique du destinataire, avec la possibilité de le chiffrer en plus pour soi-même (option --encrypt-to) :

 gpg --recipient $OTHER_USER_ID [fichier] [--encrypt-to $MY_USER_ID]
 gpg -r $OTHER_USER_ID -r $OTHER_USED_ID2 [fichier] [--encrypt-to $MY_USER_ID]

Idem, mais fait en sorte qu'on ne puisse pas savoir pour qui ce message est chiffré (équivalent du « Bcc: » pour les mails) :

 gpg --hidden-recipient $OTHER_USER_ID [fichier] [--encrypt-to $MY_USER_ID]
 gpg -R $OTHER_USER_ID -R $OTHER_USED_ID2 [fichier] [--encrypt-to $MY_USER_ID]

Déchiffrer un fichier

 gpg --decrypt [fichier]
 gpg -d [fichier]

Chiffrer et signer

 gpg [--local-user $MY_USER_ID] -remote-user $OTHER_USER_ID --encrypt --sign --armor [fichier]
 gpg [-u $MY_USER_ID] -r $OTHER_USER_ID -e -s -a [fichier]

Déchiffer et vérifier une signature

 gpg --decrypt --verifiy [fichier]
 gpg -d -v [fichier]

Chiffrement symétrique

 gpg --symmetric [ --cipher-algo AES256, AES192, AES, CAST5, 3DES ]
 gpg -c [ --cipher-algo AES256, AES192, AES, CAST5, 3DES ]

Visualisation de son réseau de confiance

L'ensemble des signatures entre clés forme ce qu'on appelle un **réseau de confiance** : c'est un graphe où les nœuds sont des clés, et les arêtes (orientées) sont des signatures.

Pour visualiser le réseau de confiance (de son point de vue), on peut utiliser le script suivant :

 #!/bin/sh
 #
 # Creates a graph of the local GPG web of trust.
 # Output: "gpg.png" in the current directory.
 #
 # You can *optionally* provide names and/or mail addresses on the command line to get a partial graph.
 
 TMPFILE=/tmp/gpgweb.dot
 
 gpg --list-sigs $@ | sig2dot > "$TMPFILE" 2>/dev/null
 
 dot -Tpng -o gpg.png "$TMPFILE"

Il y a besoin de graphviz (facile à trouver sous n'importe quel OS potable, normalement) et sig2dot [1], un script en Perl.

Doc