Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:gnupg [18/12/2013 09:19] smolski [Fonctionnement de PGP] |
doc:systeme:gnupg [19/03/2015 12:12] smolski |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== GNUPG ====== | ====== GNUPG ====== | ||
- | {{http://images.debian-facile.org/file-Rac5e188bef7d857f79f7548d46cf678e.png?100}} | + | {{/file-Rac5e188bef7d857f79f7548d46cf678e.png?100}} |
===== Introduction ===== | ===== Introduction ===== | ||
Ligne 8: | Ligne 9: | ||
==== Avertissement : ==== | ==== Avertissement : ==== | ||
- | Attention, toute les opérations décrites dans cet article sont à faire dans un [[:doc:systeme:terminal|terminal.]] \\ | + | Attention, toute les opérations décrites dans cet article sont à faire dans un [[:doc:systeme:terminal|terminal.]] |
//Si vous n'aimez pas le terminal, tant pis pour vous... heu... nan... vous pouvez toujours utiliser une interface du genre //kgpg// avec //kmail// ou //thunderbird// avec //enigmail//, mais dans ce cas, ne comptez pas sur moi pour vous décrire toute la procédure.// | //Si vous n'aimez pas le terminal, tant pis pour vous... heu... nan... vous pouvez toujours utiliser une interface du genre //kgpg// avec //kmail// ou //thunderbird// avec //enigmail//, mais dans ce cas, ne comptez pas sur moi pour vous décrire toute la procédure.// | ||
+ | |||
+ | :-D | ||
===== Pourquoi chiffrer ses données ? ===== | ===== Pourquoi chiffrer ses données ? ===== | ||
Ligne 38: | Ligne 42: | ||
//Merci à //**Thom1**// pour ses suggestions et améliorations !// :-) | //Merci à //**Thom1**// pour ses suggestions et améliorations !// :-) | ||
- | |||
- | |||
- | |||
- | |||
===== Installation sous Debian ===== | ===== Installation sous Debian ===== | ||
Ligne 50: | Ligne 50: | ||
Je n'ai pu m'empêcher d'indiquer comment on fait l'installation sous FreeBSD, désolé :-p | Je n'ai pu m'empêcher d'indiquer comment on fait l'installation sous FreeBSD, désolé :-p | ||
- | <code bash> | + | <code user> |
- | $ cd /usr/ports/security/gnupg && make install clean | + | cd /usr/ports/security/gnupg && make install clean |
</code> | </code> | ||
Ligne 69: | Ligne 69: | ||
Là on vous demande de choisir un algorithme : | Là on vous demande de choisir un algorithme : | ||
- | <code> | + | <code user>gpg --gen-key</code> |
- | $ gpg --gen-key | + | <code bash> |
gpg (GnuPG) 1.4.7; Copyright (C) 2006 Free Software Foundation, Inc. | gpg (GnuPG) 1.4.7; Copyright (C) 2006 Free Software Foundation, Inc. | ||
This program comes with ABSOLUTELY NO WARRANTY. | This program comes with ABSOLUTELY NO WARRANTY. | ||
Ligne 99: | Ligne 99: | ||
What keysize do you want? (2048) | What keysize do you want? (2048) | ||
</code> | </code> | ||
+ | |||
Plus c'est gros mieux c'est (la mienne est plus grosse que la tienne). :-p \\ | Plus c'est gros mieux c'est (la mienne est plus grosse que la tienne). :-p \\ | ||
Donc -> 4096 | Donc -> 4096 | ||
Ligne 119: | Ligne 120: | ||
Pour extraire la clef public on fait : | Pour extraire la clef public on fait : | ||
- | <code> | + | <code user>gpg --export -a</code> |
- | $ gpg --export -a | + | |
- | </code> | + | |
On peut rediriger l'output de //gpg// avec l'option -o : | On peut rediriger l'output de //gpg// avec l'option -o : | ||
- | <code> | + | <code user>gpg --export -a -o /repertoire/maclef.asc</code> |
- | $ gpg --export -a -o /repertoire/maclef.asc | + | |
- | </code> | + | |
=== Importer la clef publique === | === Importer la clef publique === | ||
Une fois qu'on a la clef de ses amis, on l'importe ainsi : | Une fois qu'on a la clef de ses amis, on l'importe ainsi : | ||
- | <code> | + | <code user>gpg --import fichier_de_la_clef_du_copain.asc </code> |
- | $ gpg --import fichier_de_la_clef_du_copain.asc | + | |
- | </code> | + | |
=== Accéder au trousseau de clefs === | === Accéder au trousseau de clefs === | ||
Et pour voir le trousseau de clefs : | Et pour voir le trousseau de clefs : | ||
- | <code> | + | <code user>gpg --list-keys</code> |
- | $ gpg --list-keys | + | |
- | </code> | + | |
=== Sauvegarder la clef privée === | === Sauvegarder la clef privée === | ||
Ligne 146: | Ligne 140: | ||
En cas de réinstallation, ou pour l'exporter vers un deuxième PC, vous pouvez sauvegarder votre clef privée. La commande suivante va lister les clefs privées installées: | En cas de réinstallation, ou pour l'exporter vers un deuxième PC, vous pouvez sauvegarder votre clef privée. La commande suivante va lister les clefs privées installées: | ||
- | <code> | + | <code user>gpg --list-secret-keys</code> |
- | $ gpg --list-secret-keys | + | |
- | </code> | + | |
On obtient un résultat de ce genre: | On obtient un résultat de ce genre: | ||
Ligne 159: | Ligne 151: | ||
Il suffit de noter le chiffre après "sec 2048R/" (dans cet exemple, il s'agit de "75262C01") et de le rentrer dans la commande suivante: | Il suffit de noter le chiffre après "sec 2048R/" (dans cet exemple, il s'agit de "75262C01") et de le rentrer dans la commande suivante: | ||
- | <code> $ gpg --armor --export 75262C01 > clef-privee.key </code> | + | <code user>gpg --armor --export 75262C01 > clef-privee.key </code> |
Le fichier apparaît dans votre dossier personnel. Pour l'importer sur un autre PC, il suffit de l'importer comme une clef publique. | Le fichier apparaît dans votre dossier personnel. Pour l'importer sur un autre PC, il suffit de l'importer comme une clef publique. | ||
+ | Autre solution : copier le contenu du dossier /home/utilisateur/.gnupg du pc1 dans un répertoire identique du pc2. | ||
+ | Vérifier sur le pc2 par : | ||
+ | <code user>gpg --list-keys</code> | ||
+ | suivi de : | ||
+ | <code user>gpg --list-secret-keys</code> | ||
===== Modifier une clef ===== | ===== Modifier une clef ===== | ||
Si vous voulez modifier des informations sur votre clef ou n'importe laquelle de votre trousseau : | Si vous voulez modifier des informations sur votre clef ou n'importe laquelle de votre trousseau : | ||
- | <code> | + | <code user>gpg --edit-key mon.mail@monfai.org</code> |
- | $ gpg --edit-key mon.mail@monfai.org | + | |
- | </code> | + | |
Vous obtiendrez quelque chose comme ça : | Vous obtiendrez quelque chose comme ça : | ||
- | <code> | + | <code bash> |
pub 1024D/4231DE26 created: 2007-03-31 expires: never usage: SC | pub 1024D/4231DE26 created: 2007-03-31 expires: never usage: SC | ||
trust: ultimate validity: ultimate | trust: ultimate validity: ultimate | ||
Ligne 192: | Ligne 187: | ||
Ce que **GnuPG** appelle ''uid'', c'est simplement une adresse **e-mail**. | Ce que **GnuPG** appelle ''uid'', c'est simplement une adresse **e-mail**. | ||
- | <code> | + | <code user>gpg --edit-key mon.mail@mon.fai</code> |
- | $ gpg --edit-key mon.mail@mon.fai | + | |
+ | <code bash> | ||
gpg (GnuPG) 1.4.7; Copyright (C) 2006 Free Software Foundation, Inc. | gpg (GnuPG) 1.4.7; Copyright (C) 2006 Free Software Foundation, Inc. | ||
This program comes with ABSOLUTELY NO WARRANTY. | This program comes with ABSOLUTELY NO WARRANTY. | ||
Ligne 245: | Ligne 241: | ||
Command> save | Command> save | ||
</code> | </code> | ||
+ | |||
+ | |||
+ | 2015-02-26 : gpg --edit-key répond à présent par | ||
+ | gpg> | ||
+ | dans l'exemple ci-dessus 4231DE26 : | ||
+ | <code user>gpg --edit-key 4231DE26</code> | ||
+ | |||
+ | <code bash>gpg (GnuPG) 1.4.12; Copyright (C) 2012 Free Software Foundation, Inc. | ||
+ | This is free software: you are free to change and redistribute it. | ||
+ | There is NO WARRANTY, to the extent permitted by law. | ||
+ | |||
+ | La clef secrète est disponible | ||
+ | pub 1024D/4231DE26 created: 2007-03-31 expires: never usage: SC | ||
+ | trust: ultimate validity: ultimate | ||
+ | sub 4096g/316AD2BB created: 2007-03-31 expires: never usage: E | ||
+ | [ultimate] (1) Albator <mon.mail@mon.fai> | ||
+ | gpg></code> | ||
+ | |||
+ | si l'on veut intervenir sur une UID particulière, il faudra indiquer à gpg le numéro qui nous intéresse, par exemple : | ||
+ | gpg> uid 1 | ||
+ | après validation par <entree>, une astérisque sera placée après (1): | ||
+ | <code>[ ultime ] (1)* Albator <mon.mail@mon.fai></code> | ||
+ | |||
+ | par défaut, il n'y a pas de sous-clé (sub) sélectionnée et l'on travaille sur la clé primaire (pub). | ||
+ | pour intervenir sur la sous-clé : | ||
+ | gpg>key 1 | ||
+ | déplacera le focus * sur la clé sub : | ||
+ | <code bash>pub 1024D/4231DE26 created: 2007-03-31 expires: never usage: SC | ||
+ | trust: ultimate validity: ultimate | ||
+ | sub* 4096g/316AD2BB created: 2007-03-31 expires: never usage: E | ||
+ | [ultimate] (1) Albator <mon.mail@mon.fai> </code> | ||
+ | |||
+ | modifier la date d'expiration, une fois entré dans le edit-key de la clé concernée : | ||
+ | gpg>expire | ||
+ | |||
+ | <code bash> | ||
+ | Modification de la date d'expiration de la clef principale. | ||
+ | Veuillez indiquer le temps pendant lequel cette clef devrait être valable. | ||
+ | 0 = la clef n'expire pas | ||
+ | <n> = la clef expire dans n jours | ||
+ | <n>w = la clef expire dans n semaines | ||
+ | <n>m = la clef expire dans n mois | ||
+ | <n>y = la clef expire dans n ans | ||
+ | Pendant combien de temps la clef est-elle valable ? (0) 40y | ||
+ | La clef expire le 2055-02-07 | ||
+ | Est-ce correct ? (o/N) o | ||
+ | |||
+ | Une phrase de passe est nécessaire pour déverrouiller la clef secrète de | ||
+ | l'utilisateur : « Albator <mon.mail@mon.fai> » | ||
+ | |||
+ | clef RSA de 4096 bits, identifiant 4231DE26, créée le 2015-02-17 | ||
+ | |||
+ | |||
+ | pub 4096R/4231DE26 créé : 2015-02-17 expire : 2015-02-17 utilisation : SC | ||
+ | confiance : ultime validité : ultime | ||
+ | sub 4096R/316AD2BB créé : 2015-02-17 expire : 2015-02-17 utilisation : E | ||
+ | [ ultime ] (1). Albator <mon.mail@mon.fai> | ||
+ | </code> | ||
+ | |||
+ | NB: si gpg répond : \\ | ||
+ | la clef secrète est nécessaire pour faire cela | ||
+ | c'est que la phase d'import de la clé secrète ne s'est pas passée correctement et qu'il faut la refaire :-) | ||
===== Chiffrer, déchiffrer et signer ====== | ===== Chiffrer, déchiffrer et signer ====== | ||
Ligne 253: | Ligne 311: | ||
Soit, notre message | Soit, notre message | ||
- | <code> | + | <code user>echo "GnuPG rocks!" > msg</code> |
- | $ echo "GnuPG rocks!" > msg | + | |
- | </code> | + | |
- | Pour ceux qui ne comprennent pas cette commande : elle écrit simplement "GPG rocks!" dans le fichier msg. | + | Pour ceux qui ne comprennent pas cette [[doc:systeme:echo|commande echo]] : elle écrit simplement "GPG rocks!" dans le fichier msg. |
//On pourrait très bien faire pareil en utilisant gedit ou kate... Mais j'allais quand même pas ouvrir une interface graphique pour si peu// :-P | //On pourrait très bien faire pareil en utilisant gedit ou kate... Mais j'allais quand même pas ouvrir une interface graphique pour si peu// :-P | ||
Ligne 265: | Ligne 321: | ||
On le chiffre et signe le message ainsi : | On le chiffre et signe le message ainsi : | ||
- | <code> | + | <code user>gpg --encrypt --sign -a -r desitinaire@mail.org msg</code> |
- | $ gpg --encrypt --sign -a -r desitinaire@mail.org msg | + | |
- | </code> | + | |
GnuPG vous demandera simplement votre passphrase. | GnuPG vous demandera simplement votre passphrase. | ||
Ligne 305: | Ligne 359: | ||
On place son message dans le fichier //msg// | On place son message dans le fichier //msg// | ||
- | <code> | + | <code user>gpg -d msg</code> |
- | $ gpg -d msg | + | <code> |
gpg: WARNING: using insecure memory! | gpg: WARNING: using insecure memory! | ||
gpg: please see http://www.gnupg.org/faq.html for more information | gpg: please see http://www.gnupg.org/faq.html for more information | ||
Ligne 340: | Ligne 394: | ||
* [[http://fr.wikipedia.org/wiki/Digital_Signature_Algorithm|...Digital_Signature_Algorithm]] | * [[http://fr.wikipedia.org/wiki/Digital_Signature_Algorithm|...Digital_Signature_Algorithm]] | ||
* [[http://fr.wikipedia.org/wiki/Cryptosystème_de_ElGamal|...Cryptosystème_de_ElGamal]] | * [[http://fr.wikipedia.org/wiki/Cryptosystème_de_ElGamal|...Cryptosystème_de_ElGamal]] | ||
+ | * [[https://packages.debian.org/wheezy/seahorse|interface GNOME pour GnuPG]] | ||
+ | * [[doc:reseau:enigmail|Enigmail ;: Chiffrement GPG avec Icedove]] | ||
\\ | \\ |