Ceci est une ancienne révision du document !
Table des matières
GNUPG ou GPG
Généralités
Liens
Le principe de base
On génére une clé privé et une clé public.
La clé public peut être distribué et va permettre aux correspondants de crypter des fichiers à votre attention.
La clé privé est la seule permettant de décrypter les fichiers.
La clé privé ne doit pas être communiqué.
On a besoin que d'une seule clé privé… dans le meilleur des mondes.
Installer gpg
Si “ $ dpkg -l | grep gnupg ” ne renvoi rien:
# apt-get install gnupg
Usages simples
Générer une clé privé/public
(pour le user courant)
$ gpg --gen-key
ATTENTION: La “passphrase” permettra l'accès et l'usage de la clé privé.
Mais la passphrase complique l'usage, donc on laissera vide et gnupg ne nous demandera jamais la passphrase.
Options générales (pour la suite)
- -armor ⇒ permet de produire un crytage en ASCII.
- -batch ⇒ signaler qu'on est dans un script sans interaction possible…
On appellera par la suite “info-clef”, tout ce qui peut permettre d'identifier la clé (public et privé?) a manipuler: ce peut être un “id” (8 chiffres hexa) ou un nom ou un mail…
Lister/Modifier les clés
Lister les clés: $ gpg –list-keys
Effacer une clé: $ gpg –delete-key info-clef
Effacer la clé privée: $ gpg –delete-secret-key
(est-ce une bonne idée?)
Editer une clé: $ gpg –edit-key info-clef
Extraire sa clé public afin de la distribuer
$ gpg --armor --export info-clef
Importer (ajouter a son trousseau) une clé public
$ gpg --import fichier
Crypter un message
$ gpg --armor -r <dest> -e <fichier>
Où <dest> est ce qui permet d'identifier le destinataire (“the receiver”)… (exemple: mail@truc ou l'id (info-clé) de la clé.)
Un <fichier> 'fichier.asc' est créé.
Le message est crypté avec la clé public receveur.
Mais rien ne permet de s'assurer que l'envoyeur est le bon… pour cela il faut signer.
Signer un message
Ajouter: –sign
Le message crypté (ou non?) sera signé par l'envoyeur.
Le problème: la "passphrase"
Si par malheur, vous avez entré une passphrase…
La “passphrase” réclame une interaction. Lorsqu'on veut automatiser la signature, il faut que la passphrase soit desactivé _OU_ que l'on écrive la passphrase dans un fichier dont on fera lecture ainsi :
On ajoute “ –passphrase-fd 0 ” pour forcer une lecture “stdin”
Exemple:
cat passphrase.txt | gpg --armor --yes --sign --passphrase-fd 0 -r <receiver> -e <fichier>
Ce n'est pas super sécurisé !!! mais comment faire autrement ?
to be continued…
Décripter un message
gpg -o dest.txt -d fichier_crypte
Aprés les demandes de 'passphrase', 'dest.txt' contient le message en clair.
La signature est affiché, s'il y en a une…