Come esportare le chiavi segrete da GnuPG compresi gli ID di foto?

2

Sto provando a creare una chiave OpenPGP con un ID foto usando GnuPG e poi la esporto, quindi può essere importata su un altro computer.

Indipendentemente dai test effettuati, l'ID foto non viene mai visualizzato dopo l'importazione sul nuovo computer. Ad esempio, ho avviato una macchina virtuale senza hard disk e un CD Linux Mint, quindi ho eseguito:

wget http://lorempixel.com/200/200/ -O test.jpg
gpg --gen-key # minimum options
gpg --edit-key -- -test-
# gpg> addphoto test.jpg
# gpg> save
gpg -K  # the photo is there

gpg --export-secret-key -- -test- > exported.secret.gpg
gpg --delete-secret-key -- -test-
gpg --delete-key -- -test-

gpg -K # verify nothing left:
gpg -k

gpg --import exported.secret.gpg
gpg -K

La foto non è lì! Come dovrebbe essere fatto?

    
posta Toni Homedes i Saun 04.02.2016 - 09:01
fonte

2 risposte

2

La foto si trova sulla parte pubblica della chiave, quindi è necessario esportare anche questa:

gpg --export -test- > exported.public.gpg

Quindi importa di nuovo entrambi i tasti:

gpg --import exported.secret.gpg exported.public.gpg

E la foto è lì.

    
risposta data 04.02.2016 - 13:11
fonte
3

Analisi del problema

Puoi verificare cosa è contenuto nell'esportazione mediante piping in gpg --list-packets ; Ho anche fatto un grepping per gli identificatori di pacchetto (iniziando con i due punti):

gpg --export-secret-keys a4ff2279 | gpg --list-packets | grep '^:'

Quale da quello che la pagina di manuale dice dovrebbe elencare un pacchetto atttribute come il seguente, ma non lo fa:

:attribute packet: [jpeg image of size 12899]

Anche l'impostazione dell'opzione di esportazione non è:

gpg --export-options export-attributes --export-secret-keys a4ff2279 | gpg --list-packets | grep '^:'

Questo potrebbe o non potrebbe essere il comportamento previsto; gli attributi potrebbero essere di grandi dimensioni, anche se sembra imprevisto che gli ID utente siano esportati, ma gli attributi non lo sono.

La soluzione

Suggerirei semplicemente in aggiunta di esportare la chiave pubblica, che contiene tutte le informazioni sulla chiave (ma le informazioni sulla fiducia):

gpg --export -- -test- > exported.public.gpg

E importa questo dopo aver importato le chiavi segrete, allo stesso modo che hai fatto con le chiavi private ( gpg --import exported.secret.gpg exported.public.gpg ). I contenuti (anche il pacchetto di attributo utente mancante e le firme che ha) saranno uniti.

    
risposta data 04.02.2016 - 13:18
fonte

Leggi altre domande sui tag