Reimportazione della chiave primaria segreta in GnuPG

2

Seguendo il tutorial di Debian sulle sottochiavi mi piace creare un portachiavi con una chiave primaria (SC) e due sottochiavi (E e S) e quindi esportare e rimuovere la chiave primaria segreta. Tuttavia faccio fatica a reimportare la chiave segreta esportata nel caso in cui voglio revocare e rinnovare le sottochiavi.

Configurazione iniziale con due sottochiavi

pub  1024R/158C07CE  created: 2015-09-21  expires: never       usage: SC
                     trust: ultimate      validity: ultimate
sub  1024R/588AC467  created: 2015-09-21  expires: never       usage: E
sub  1024R/3637E2AA  created: 2015-09-21  expires: never       usage: S
[ultimate] (1). Foobar

$ gpg -K

sec   1024R/158C07CE 2015-09-21
uid                  Foobar
ssb   1024R/588AC467 2015-09-21
ssb   1024R/3637E2AA 2015-09-21

# sec means the secret is still there

Esporta solo chiave primaria, esporta solo le sottochiavi, rimuovi le chiavi segrete e reimporta le sottochiavi

$ gpg --export-secret-keys 158C07CE! > primary.sec
# secret-keys with exclamation mark just exports primary keypair
$ gpg --export-secret-subkeys 158C07CE > subs.sec
$ gpg --delete-secret-keys 158C07CE
$ gpg --import subs.sec
$ gpg -K

sec#  1024R/158C07CE 2015-09-21
uid                  Foobar
ssb   1024R/588AC467 2015-09-21
ssb   1024R/3637E2AA 2015-09-21

# sec# means the secret key is missing (this is what I want)

Ora voglio reimportare la chiave segreta primaria

$ gpg --allow-secret-key-import --import primary.sec

gpg: key 158C07CE: already in secret keyring
gpg: Total number processed: 1
gpg:       secret keys read: 1
gpg:  secret keys unchanged: 1

Che cosa? Perché?

$ gpg -K

sec#  1024R/158C07CE 2015-09-21
uid                  Foobar
ssb   1024R/588AC467 2015-09-21
ssb   1024R/3637E2AA 2015-09-21

Qui è utile articolo Stackexchange su cui le chiavi GPG esporta nel qual caso

    
posta Gerold Meisinger 21.09.2015 - 22:19
fonte

1 risposta

3

GnuPG pre-2.1 (cioè GnuPG 1 e GnuPG 2) non possono unire chiavi private. Esistono diversi modi per farlo:

  • Installa GnuPG 2.1, che ha finalmente risolto questa limitazione.
  • Importa la chiave primaria privata in un nuovo portachiavi ( --homedir ti sarà utile per farlo), per la revoca hai solo bisogno della sottochiave pubblica, non privata.
  • Utilizza gpgsplit per suddividere le chiavi segrete esportate nei singoli pacchetti e con cat reinseriscile nell'ordine corretto. Funziona molto bene, ma richiede una conoscenza approfondita di RFC 4880 (OpenPGP).

Proporrei di andare con GnuPG 2.1, e se necessario esportare nuovamente le chiavi private e tornare a GnuPG 1 o 2 se preferisci.

    
risposta data 22.09.2015 - 00:26
fonte

Leggi altre domande sui tag