Ho reinstallato il mio sistema operativo (Ubuntu 16.04) e ho una vecchia directory .gnupg contenente:
gpg-agent.conf
gpg-agent-info-<hostname>
gpg.conf
private-keys-v1.d
pubring.gpg
secring.gpg
S.gpg-agent
trustdb.gpg
Vorrei importare le mie vecchie chiavi pubbliche e private nel nuovo gnupg. (Non ho semplicemente copiato la directory .gnupg nella nuova installazione, perché capisco che il nuovo gnupg2 presenta alcune differenze nel formato del database che fanno parte delle nuove opzioni di crittografia EC.)
Quanto segue ha funzionato per le chiavi pubbliche ma non è riuscito per le chiavi segrete:
gpg --export --keyring=~/.gnupg.old/pubring.gpg | gpg --import
gpg --export-secret-keys --keyring=~/.gnupg.old/secring.gpg | gpg --import
Quest'ultimo ha risposto con:
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
Si noti che non riesce ad aprire il mio nuovo anello segreto. Dà lo stesso errore nel tentativo di esportare in un file:
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
Poiché la mia chiave segreta ha la parte privata della chiave principale rimossa, ho provato anche lo stesso --export-secret-subkeys
, ma la risposta è stata la stessa. Anche l'inserimento del mio ID chiave (indirizzo e-mail) dopo l'esportazione non funziona. D'altra parte, posso elencare i tasti:
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 <Me@home.com>" ....
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
(Suppongo che "Chiave persa" si riferisca alla chiave master segreta spogliata.) Qualcuno può dirmi come risolverlo?
Con l'aiuto di @Jens (sotto), i seguenti lavori:
gpg --no-default-keyring --secret-keyring=~/.gnupg.old/secring.gpg --export-secret-keys | gpg --import
--no-default-keyring
e--secret-keyring
prima--list-secret-keys
produce un output riconoscibile. Quindi, fammi vedere cosa ho adesso.