J'ai quelques fichiers de clé publique et privée sauvegardés. Comment vérifier quel fichier de clé publique correspond à quel fichier de clé privée?
J'avais généré 2048 paires de clés publiques et privées GnuPG en utilisant
gpg --gen-key
Pour sauvegarder la ou les clés publiques, je les ai exportées à l'aide de
gpg --armor --output ~/gpg_keys_backup/<Public Key Id>-public.key --export <Public Key Id>
Pour sauvegarder la ou les clés privées, je les ai exportées à l'aide de
gpg --armor --output ~/gpg_keys_backup/<Private Key ID>-private.key --export-secret-keys <Private Key ID>
Comment déterminer les clés sauvegardées appartenant à une paire?
En répertoriant le contenu du fichier de clé secrète, vous pouvez demander à quelle clé publique appartient une clé secrète.
gpg --list-packets [secret-key-file] | head
:secret key packet:
version 4, algo 1, created 1356475387, expires 0
pkey[0]: [8192 bits]
pkey[1]: [17 bits]
gnu-dummy S2K, algo: 0, simple checksum, hash: 0
protect IV:
keyid: 4E1F799AA4FF2279
La dernière ligne citée keyid
contient l'ID clé longue de la clé publique.
Tout d'abord, l'ID de la clé publique et l'ID de la clé privée sont les mêmes; vos noms de fichiers doivent donc avoir été appariés pour commencer.
Deuxièmement, vous n'avez pas besoin de sauvegarder la clé publique. Importez simplement la clé privée (qui contient à la fois les clés privée et publique) et les clés privée et publique seront importées.
gpg --import private.key
Mais en supposant que les noms de fichiers ne correspondent pas pour une raison quelconque, vous pouvez exécuter
gpg yourfile.key
, qui imprimera quelque chose comme:
pub 2048R/1234ABCD 2016-12-31
sub 2048R/5678EFGH 2016-12-31
Faites correspondre les ID de clé des clés privées/publiques (dans cet exemple, 1234ABCD).
Si vous avez une tonne de clés au lieu de les faire correspondre, il peut être plus simple d'ignorer vos clés publiques exportées et de les régénérer à partir de vos clés privées.
gpg --import private.key
gpg --armor --output <Key Id>-public.key --export <Key Id>