Manipulation des clefs
Exportation des clefs
Nous avons donc notre paire de clefs. Maintenant, nous souhaitons exporter notre clef publique pour la donner à nos correspondants. La commande 'gpg --armor --export utilisateur' fournit la clef publique de l'utilisateur cité (option --export), dans un format lisible par l'humain (option --armor).
[alice@localhost]$ gpg --armor --export alice -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: Pour information voir http://www.gnupg.org mQGiBD9svP0RBADcvnRJnXt1pSrKnsWXdorAj44TTRTSIBwE3oJ5yvRxfpptjShi OWkPoKgw/hVJG3FeT1etX+jNVk8mluyn0f/Awl721trul1rycu0aVDOIcMdcTRJc qUzzpmCdg3WruuNobr8Raw64Jk/59dx+6qiDQXqmF5lK6RIousdzcfsjPwCgvCtt n/WPIR9E5a8cuPDE9+fYJR0EALBgATNY0ROxvaxmgg8GHKMknUHqs+pO6Y13lmwa mX7bksQkRrUeJptakGJKX+YCTXq75V0ewDD8sDzRKbATSEPaxk9D2NW4LRMXFhRn Rn7/7ZdGWuQ8fNah+nPTngfXFUJf5KZrJOCSALu4vNkq9LVLXdqba9aLR6uMAct4 S7EuA/9EZqJ0OSlLy8FIFbkvXy18TQwBBBdzuKG/xupu/74kFWOjqvhUHIm6gjMG FFxQnSJ52UBvnRlpk7ZP7ttFQV8LyIY5BV/bPe7kCZjqG89Q3tTCpFxHsRS/7M6R PCTb4PVSzsRjuc3HWm3TK/h9Ys0XTsh4ONEx7TqgFDOwS0nuxLQ/QWxpY2UgKEV4 cGVydGUgZW4gc3lzdMOobWVzIGNyeXB0b2dyYXBoaXF1ZXMpIDxhbGljZUB5YWhv by5jb20+iFcEExECABcFAj9svP4FCwcKAwQDFQMCAxYCAQIXgAAKCRAM+7p8dnrm ZLICAKCfUAvlc4rOt912P8LM6zqrj+UMQACeJPf2muAtxEnGc/lSDryiLyKyenW5 AQ0EP2y9EhAEAI3k5m3yir4KcdyJG8TOFwh/a+dOCXxJp+NKjmw5ebDkhJVoaVI5 RIyYxVkIaZIyhiE77jkfhL5qV2Fvj71bBfb8d5AHgAaZU4fdDLNogQ1iRz2BHhjB 0R/q47E4g0BgY7z+pvFwpdHu38LJCyXFmXKcApoYmb2i9XlEh5cL7AFvAAMFA/46 0Ks39m/lGUcxpKNfedNUcj8cvYIE5fs3y4H09GmAAu3pw4HznvkyKwNw89+F2d6g Fn/2Bfe7bI/JYqRgp9btFOW71ixQEU+s76yQX7zk8Jgqcg3u2X0modCT7nul462n D7XnIvVvvKjoXwP25I+3pmkFzZmZRVN6ZPATL/74y4hGBBgRAgAGBQI/bL0SAAoJ EAz7unx2euZkcJYAnjxqo6PMpJwQx2bxSOCKP5lRGVEUAJ9PAPdFFWVxGwt1xTJu UFeVoMYcAA== =Z3rA -----END PGP PUBLIC KEY BLOCK----- [alice@localhost]$ gpg --armor --export alice > alice.asc
Cette clef peut être copiée et collée dans un mail par exemple, ou envoyée telle quelle (fichier alice.asc). Bob fait la même chose de son coté et nous envoie sa clef publique dans un mail, que nous copions et collons dans un fichier 'bob.asc' (.asc pour ascii).
Importation des clefs
Nous souhaitons à présent importer la clef de Bob dans notre trousseau : nous utilisons pour cela la commande 'gpg --import fichier_clef'.
[alice@localhost]$ gpg --import bob.asc gpg: clé 0320544E: clé publique importée gpg: /home/alice/.gnupg/trustdb.gpg: base de confiance créée gpg: Quantité totale traitée: 1 gpg: importée: 1
[alice@localhost]$ gpg --list-keys /home/alice/.gnupg/pubring.gpg ------------------------------ pub 1024D/767AE664 2003-09-20 Alice (Experte en systèmes cryptographiques) <alice@yahoo.com> sub 1024g/3D30334F 2003-09-20 pub 1024D/0320544E 2003-09-20 Bob Morane (Ami d'Alice) <bob@yahoo.com> sub 1024g/4720098F 2003-09-20
La communication de telles clefs peut être difficile : nous avons toutes les chances de nous tromper en le recopiant, ou quelqu'un peut le modifier à notre insu (le mail n'est *pas* un moyen de transport sûr). Nous devons donc le vérifier, grâce à son empreinte (fingerprint) : nous pouvons générer l'empreinte de la clef publique d'un utilisateur par la commande 'gpg --fingerprint utilisateur'. La prochaine fois que nous pourrons communiquer avec Bob de manière sûre (téléphone, contact physique), nous vérifierons avec lui cette empreinte (6848 1F88 322E B060 7A98 582D 884E 35FA 0320 544E). Notons que cette empreinte peut être largement communiquée (carte de visite, site web), pour permettre une confirmation aisée de la clef publique.
[alice@localhost]$ gpg --fingerprint bob
pub 1024D/0320544E 2003-09-20 Bob Morane (Ami d'Alice) <bob@yahoo.com>
Key fingerprint = 6848 1F88 322E B060 7A98 582D 884E 35FA 0320 544E
sub 1024g/4720098F 2003-09-20