Come reimportare la chiave Gpg sostituita da stub


2

Ho una sottochiave che è stata spostata su una carta. Ciò ha comportato la sostituzione con uno stub nel portachiavi locale. Ciò significa che ogni volta che cerco di usare quella sottochiave, ottengo:

gpg: public key decryption failed: Card error
gpg: decryption failed: No secret key

Mi piacerebbe ripristinare la chiave da un backup ora. Come lo posso fare?

ho provato gpg --edit-key ... e poi key n, toggle, delkey, ma quando ho provato a importare nuovamente la chiave, continuo a mantenere invariata la chiave segreta:

gpg: Total number processed: 3
gpg:            new subkeys: 1
gpg:         new signatures: 1
gpg:       secret keys read: 3
gpg:  secret keys unchanged: 1

Come posso sostituire il mio stub locale?

Risposte:


4

Questo è un problema noto con GnuPG fino alla versione 2.0. Non puoi importare le chiavi segrete, se ne hai già alcune importate.

Come risolvere il problema dipende dalla tua situazione. Backup necessari per tutte le soluzioni!

  • Stai già utilizzando GnuPG 2.1.

    Sei molto fortunato, poiché il problema non esiste affatto. Bene, no. Ovviamente non stai ancora utilizzando GnuPG 2.1, altrimenti non saresti incappato in quel problema. Ma potresti essere in grado di aggiornare.

    Potresti anche usarlo su cd sime live, importare tutto (fondere automaticamente le chiavi segrete) e infine esportare la chiave unita. Ora rilascia la chiave sul tuo normale sistema e reimportala.

  • Non hai aggiunto alcuna sottochiave, quindi il backup include tutti.

    Sei fortunato. Esportare semplicemente tutte le certificazioni, ... utilizzando gpg --export [key-id] > public-key.pgp. Ora cancella completamente la chiave usando gpg --delete-secret-and-public-keys [key-id], importa il tuo backup seguito da la chiave pubblica: gpg --import [backup-file] public-key.pgp.

  • Hai cambiato le tue sottochiavi, quindi devi unirle.

    Sfortuna. GnuPG non gestirà questo da solo. Sono rimaste due scelte:

    • Revoca le chiavi modificate e creane di nuove in seguito. Questo è il modo semplice ...
    • C'è uno strumento da riga di comando chiamato gpgsplit, che dividerà le chiavi GnuPG esportate nei singoli pacchetti. Se ne hai, puoi metterli insieme, incluse tutte le sottochiavi cat. Essere consapevoli di utilizzare l'ordine giusto di pacchetti e non escludere qualcosa effettivamente richiesto!

      Anche se questo è possibile, è sicuramente il modo più difficile e sarà probabilmente necessario leggerlo un po 'nella specifica OpenPGP per comprendere i diversi pacchetti e quello che fanno.


Sfortunatamente ho problemi con questa soluzione :( Per quanto riguarda la versione, questo problema si verifica su gnupg 2.1.2 nel mio caso. Per quanto riguarda il backup - sì, ho tutte le chiavi, ma rilascio gpg --delete-secret-and-public-keys ... risultati in gpg: deleting secret subkey failed: Not possible with a card based key - che è esattamente la ragione per cui volevo cancellarlo.
viraptor

Questo mi sorprende. Dare un'occhiata a un recente post sulla mailing list di GnuPG sembra che ci sia un bug coinvolto. Poiché GnuPG 2.1 unisce i key ring privati ​​e pubblici e li rende piuttosto incompatibili con le versioni precedenti, temo che l'unica soluzione sia l'approccio di sledge hammer: esportare tutto (inclusa la fiducia), eliminare i file keyring, importare di nuovo tutto ( con chiavi segrete dal backup).
Jens Erat
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.