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 :
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"