J'ai réinstallé mon système d'exploitation (Ubuntu 16.04) et j'ai un ancien répertoire .gnupg contenant:
gpg-agent.conf
gpg-agent-info-<hostname>
gpg.conf
private-keys-v1.d
pubring.gpg
secring.gpg
S.gpg-agent
trustdb.gpg
Je voudrais importer mes anciennes clés publiques et privées dans le nouveau gnupg. (Je n'ai pas simplement copié le répertoire .gnupg dans la nouvelle installation, car je comprends que le nouveau gnupg2 présente des différences de format de base de données qui font partie des nouvelles options de chiffrement EC.)
Les éléments suivants ont fonctionné pour les clés publiques mais ont échoué pour les clés secrètes:
gpg --export --keyring=~/.gnupg.old/pubring.gpg | gpg --import
gpg --export-secret-keys --keyring=~/.gnupg.old/secring.gpg | gpg --import
Ce dernier a répondu par:
gpg: can't open `~/.gnupg/secring.gpg' <== New Secret Keyring
gpg: WARNING: nothing exported
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
Notez qu'il n'ouvre pas mon nouvel anneau secret. Il donne la même erreur lors de l'exportation vers un fichier:
gpg --export-secret-keys --keyring=~/.gnupg.old/secring.gpg > secret.asc
gpg: can't open `~/.gnupg/secring.gpg' <== New Secret Keyring
gpg: WARNING: nothing exported
Étant donné que ma clé secrète a la partie privée de la clé principale supprimée, j'ai également essayé la même chose avec --export-secret-subkeys
, mais la réponse était la même. Mettre mon ID de clé (adresse e-mail) après l'exportation ne fonctionne pas non plus. Je peux par contre lister les clés:
gpg --list-keys --keyring=~/.gnupg.old/secring.gpg
gpg: Oops; key lost!
node 0x1e7ee00 01/00 type=secret-key
node 0x1e9cbd0 00/00 type=user-id "Me <[email protected]>" ....
node 0x1e99dd0 00/00 type=signature class=13 keyid=XXXXXXXX ts=1383637282
node 0x1e9c510 00/00 type=secret-subkey
node 0x1eaa210 00/00 type=signature class=18 keyid=XXXXXXXX ts=1449138073
node 0x1eaf1f0 00/00 type=secret-subkey
node 0x1eaf580 00/00 type=signature class=18 keyid=XXXXXXXX ts=138363647
(Je suppose que "Clé perdue" fait référence à la clé principale secrète supprimée.) Quelqu'un peut-il me dire comment résoudre ce problème?
Avec l'aide de @Jens (ci-dessous), les travaux suivants:
gpg --no-default-keyring --secret-keyring=~/.gnupg.old/secring.gpg --export-secret-keys | gpg --import
--no-default-keyring
et--secret-keyring
avant--list-secret-keys
produit une sortie reconnaissable. Alors, laissez-moi voir ce que j'ai maintenant.