Come esportare una chiave privata GPG e una chiave pubblica in un file


20

Ho generato le chiavi usando GPG, eseguendo il seguente comando

gpg --gen-key

Ora devo esportare la coppia di chiavi in ​​un file; cioè, chiavi private e pubbliche a private.pgpe public.pgp, rispettivamente. Come lo faccio?

Risposte:


31

Esporta chiave pubblica

Questo comando esporterà una versione blindata ASCII della chiave pubblica:

gpg --output public.pgp --armor --export username@email

Esporta chiave segreta

Questo comando esporterà una versione blindata ASCII della chiave segreta:

gpg --output private.pgp --armor --export-secret-key username@email


Preoccupazioni di sicurezza, backup e archiviazione

Una chiave pubblica PGP contiene informazioni sul proprio indirizzo e-mail. Questo è generalmente accettabile poiché la chiave pubblica viene utilizzata per crittografare la posta elettronica al tuo indirizzo. Tuttavia, in alcuni casi, questo è indesiderabile.

Per la maggior parte dei casi d'uso, la chiave segreta non deve essere esportata e non deve essere distribuita . Se lo scopo è creare una chiave di backup, è necessario utilizzare l'opzione di backup:

gpg --output backupkeys.pgp --armor --export --export-options export-backup user@email

Ciò esporterà tutte le informazioni necessarie per ripristinare le chiavi segrete, comprese le informazioni sul database di fiducia. Assicurati di archiviare eventuali chiavi segrete di backup dalla piattaforma di elaborazione e in una posizione fisica sicura.

Se questa chiave è importante per voi, mi consiglia di stampare la chiave su carta utilizzando paperkey . E posizionando la chiave di carta in una cassaforte ignifuga / impermeabile.

Server di chiavi pubbliche

In generale, non è consigliabile pubblicare chiavi pubbliche personali sui server delle chiavi. Non esiste un metodo per rimuovere una chiave una volta che è stata registrata e non esiste un metodo per garantire che la chiave sul server sia stata collocata lì dal presunto proprietario della chiave.

È molto meglio posizionare la chiave pubblica su un sito Web di tua proprietà o controllo. Alcune persone raccomandano keybase.io per la distribuzione. Tuttavia, questo metodo tiene traccia della partecipazione a varie comunità sociali e tecniche che potrebbero non essere desiderabili per alcuni casi d'uso.

Per i tecnicamente esperti, raccomando personalmente di provare il servizio di individuazione delle chiavi a livello di dominio webkey .


La chiave esportata (secondo comando) è crittografata o devo crittografarla da sola prima di memorizzarla su un drive USB?
Funkwecker,

1
@Julian ... La chiave segreta esportata ha la stessa protezione della chiave segreta esportata. Se era presente una passphrase, è necessaria la passphrase per importare la chiave segreta.
RubberStamp,

1
Ho fatto un backup usando il metodo sopra, ma ho stupidamente dimenticato di provarlo. A meno che non mi manchi qualcosa, non riesco a recuperare la mia chiave pubblica dal metodo di backup specificato ( --export-options export-backup, ecc.). Mi sto perdendo qualcosa o ho frainteso il tipo di backup che stava facendo?
OMGtechy,

La documentazione lo sa --export-secret-keys, ma non --export-secret-key.
jarno,

@OMGtechy Come hai provato a recuperare le chiavi? Potrei ripristinare le chiavi pubbliche tramite gpg --import-options restore --import backupkeys.pgp, ma ciò non ripristina le chiavi segrete, ma solo quelle pubbliche, se backupkeys.pgp è stato creato da gpg --output backupkeys.pgp --armor --export --export-options export-backup. In ciò --armornon è necessario e export-backuppotrebbe essere sostituito da backup.
jarno,

3
  • Elenca le chiavi che hai: gpg --list-secret-keys
  • Esporta la chiave: gpg --export-secret-key name > ~/my-key.asc
  • Copiarlo su un'altra macchina;
  • Importa la chiave: gpg --import my-key.asc
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.