Une compilation de documentations   { en , fr }

Comment importer ou télécharger une clef avec GnuPG

Étiquette:
Créé en:
Auteur:
Xavier Béguin

Importer une clef depuis un fichier

L'importation d'une clef depuis un fichier se fait très simplement en utilisant l'option --import et en précisant le nom du fichier :

gpg --import laclefdequelquun.key

Télécharger une clef depuis un serveur de clés

Une autre possibilité pour importer une clef est de la télécharger depuis un serveur public proposant un service public de distribution et de découverte des clefs compatibles OpenPGP, généralement appelé un serveur de clefs. La clef doit bien entendu avoir été téléversée préalablement par son propriétaire sur un des serveurs de clefs publiques GnuPG.

La commande gpg permet de télécharger des clefs à l'aide de son option --receive-keys (ou son option raccourcie --recv-keys) qui va contacter un serveur de clefs préconfiguré pour télécharger la clef désignée. Avec cette option, la clef doit être désignée par son identifiant de clef :

$ gpg --receive-keys DA87E80D6294BE9B
gpg: key DA87E80D6294BE9B: public key "Debian CD signing key <debian-cd@lists.debian.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Le serveur de clefs à utiliser peut aussi être précisé à l'aide de l'optin --keyserver :

gpg --keyserver hkps://keyserver.ubuntu.com --receive-keys DA87E80D6294BE9B

Une clef publique peut également être recherchée et téléchargée en utilisant soit l'identifiant de la clef, soit l'identifiant utilisateur associé ou sa partie adresse électronique (bien que ce ne soit pas toujours possible pour des questions de protection de vie privée) à l'aide de l'option --search-keys :

~$ gpg --search-keys herschel.krustofski@example.org
gpg: data source: https://keys.openpgp.org:443
(1) Herschel Krustofski <herschel.krustofski@example.org>
      4096 bit RSA key 4D823A13C895AC5E, créé : 2022-09-29
Keys 1-1 of 1 for "herschel.krustofski@example.org".  Entrez le ou les nombres, (S)uivant, ou (Q)uitter >

Notez que, si aucun serveur de clefs n'est précisé, GnuPG interrogera par défaut hkps://keyserver.ubuntu.com lors de l'utilisation d'une installation de GnuPG originale, ou https://keys.openpgp.org lors de l'utilisation de GnuPG à l'aide du paquet Debian gnupg. Selon le bogue Debian #1009311, ce premier serveur pourrait vous retourner un volume important de données inutiles, alors que le second ne distribuera pas les clefs publiques sans que leur propriétaire ne suive le processus de validation de la publication de l'identifiant utilisateur.

Vérifier qu'une clef est présente dans le porte-clés principal

L'option --list-keys (ou l'option courte -k) peuvent être utilisées pour afficher les clefs publiques présentes dans votre porte-clés public principal. Utilisé sans argument, la commande affichera toutes les clefs du porte-clés :

gpg -k

Vous pouvez préciser un argument qui sera par défaut utilisé pour faire une correspondance partielle sur l'identifiant utilisateur de la clef :

~$ gpg -k krusty
pub   rsa3072 2023-11-17 [SC] [expire : 2025-11-16]
      C5D1D652E7744AC458D0CBC9D67611FDF652DA70
uid          [  ultime ] Herschel Krustofski <krusty@example.org>
sub   rsa3072 2023-11-17 [E]

Cette correspondance partielle sur l'identifiant utilisateur est le type de correspondance par défaut. Il peut aussi être obtenu en préfixant l'argument avec *. La commande ci-dessus peut donc aussi être écrite gpg -k *krusty.

Vous pouvez aussi obtenir différents types de correspondances selon le préfixe (et parfois le suffixe correspondant) utilisé dans l'argument. Vous pouvez aussi rechercher :

  • un identifiant utilisateur exact en préfixant l'argument par = :
    gpg -k "=Herschel Krustofski <krusty@example.org>"
    
  • par correspondance exacte sur l'adresse électronique en utilisant <> :
    gpg -k "<krusty@example.org>"
    
  • par correspondance partielle sur l'adresse électronique en utilisant @ en préfixe :
    gpg -k "@krusty"
    gpg -k "@example"