Ho generato chiavi utilizzando GPG, eseguendo il seguente comando

gpg --gen-key 

Ora ho bisogno di esportare la coppia di chiavi in un file; vale a dire, chiavi private e pubbliche per private.pgp e public.pgp, rispettivamente. Come posso farlo?

Commenti

  • P.S. in GPG 2, utilizza gpg --full-generate-key per avere uninterfaccia completa per la generazione di chiavi

Risposta

Esporta chiave pubblica

Questo comando esporterà una versione ascii blindata del chiave pubblica:

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

Esporta chiave segreta

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

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


Problemi di sicurezza, backup e archiviazione

Una chiave pubblica PGP contiene informazioni sul proprio indirizzo email. Questo è generalmente accettabile poiché la chiave pubblica viene utilizzata per crittografare le email al tuo indirizzo. Tuttavia, in alcuni casi, ciò è indesiderabile.

Per la maggior parte dei casi duso, la chiave segreta non deve essere esportata e non deve essere d istributed . Se lo scopo è creare una chiave di backup, dovresti utilizzare lopzione di backup:

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

Questo esporterà tutte le informazioni necessarie in ripristinare le chiavi segrete comprese le informazioni sul database attendibile. Assicurati di archiviare le chiavi segrete di backup fuori dalla piattaforma informatica e in un luogo fisico sicuro.

Se questa chiave è importante per te, ti consiglio di stamparla su carta utilizzando paperkey . E posizionare la chiave di carta in una cassaforte a prova di fuoco / impermeabile.

Server di chiavi pubbliche

In generale, non è consigliabile inviare chiavi pubbliche personali ai server delle chiavi. Non esiste alcun metodo per rimuovere una chiave una volta che è stata pubblicata e non esiste alcun metodo per garantire che la chiave sul server sia stata collocata lì da il presunto proprietario della chiave.

È molto meglio posizionare la tua chiave pubblica su un sito web che possiedi o controlli. Alcune persone consigliano 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 duso.

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

Commenti

  • La chiave esportata (secondo comando) è crittografata o devo crittografalo da solo prima di memorizzarlo su ag una chiavetta USB?
  • @Julian … La chiave segreta esportata ha la stessa protezione della chiave segreta esportata. Se cera una passphrase, la passphrase è necessaria per importare la chiave segreta.
  • Ho fatto un backup usando il metodo sopra, ma ho stupidamente dimenticato di testarlo. A meno che ' non mi manchi qualcosa, ' non riesco a recuperare la mia chiave pubblica dal metodo di backup specificato (--export-options export-backup e così via). Mi manca qualcosa o ho frainteso il tipo di backup che stava effettuando?
  • La documentazione conosce --export-secret-keys, ma non --export-secret-key.
  • @OMGtechy Come hai provato a recuperare le chiavi? Potrei ripristinare le chiavi pubbliche con gpg --import-options restore --import backupkeys.pgp, ma ciò non ripristina le chiavi segrete, solo quelle pubbliche, se backupkeys.pgp è stato creato da gpg --output backupkeys.pgp --armor --export --export-options export-backup. In questo --armor non è necessario e export-backup potrebbe essere sostituito da backup.

Risposta

  • Elenca le chiavi che hai: gpg --list-secret-keys
  • Esporta la chiave: gpg --export-secret-key name > ~/my-key.asc
  • Copiala su un altro computer;
  • Importa la chiave: gpg --import my-key.asc

Commenti

  • Tieni presente che .asc sta per ASCII, ma loutput di gpg --list-secret-keys è binario.
  • In realtà, .asc è per ASCII armored e loutput è testo cifrato. Puoi tranquillamente catturarlo e vedere di persona. Inoltre, come la maggior parte dei file Linux, anche lestensione del file è arbitraria, ' tecnicamente non deve essere asc. @WeihangJian
  • Sarebbe una buona idea rimuovere il file della chiave dopo che è stato importato e verificato correttamente. Se il file è lì, potrebbe essere utilizzato in modo dannoso.

Rispondi

A export SOMEKEYID chiave pubblica a output file:

gpg --output public.pgp --export SOMEKEYID 

Quando si lavora con chiavi segrete è generalmente preferibile non scriverle su file e, invece, utilizza SSH per copiarli direttamente tra macchine utilizzando solo gpg e una pipe:

gpg --export-secret-key SOMEKEYID | ssh othermachine gpg --import 

Se devi , tuttavia, invia la tua chiave segreta a un file assicurati che sia crittografata. Ecco come ottenerlo utilizzando la crittografia AES utilizzando l approccio Dark Otter :

gpg --output public.gpg --export SOMEKEYID && \ gpg --output - --export-secret-key SOMEKEYID |\ cat public.gpg - |\ gpg --armor --output keys.asc --symmetric --cipher-algo AES256 

Lultimo approccio è ideale se desideri creare un backup fisico delle tue chiavi pubbliche e private per proteggerti da un guasto del disco quando non esiste altro modo per riottenere laccesso alle tue chiavi.

Vedi Spostamento privato delle chiavi GPG per ulteriori considerazioni.

Risposta

” GnuPG (noto anche come PGP / GPG) “ Ulteriori informazioni

Genera chiave: gpg --gen-key

Visualizza tutte le chiavi: gpg --list-keys

Esporta chiave pubblica:

gpg --export -a --output [path-to-public-key].asc [email-address] 

Esporta chiave segreta:

gpg -a --export-secret-keys > [path-to-secret-key].asc 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *