<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://wiki.golem.linux.it/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Matteobin</id>
	<title>GolemWiki - Contributi utente [it]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.golem.linux.it/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Matteobin"/>
	<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/Speciale:Contributi/Matteobin"/>
	<updated>2026-04-06T03:17:48Z</updated>
	<subtitle>Contributi utente</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=Gpg&amp;diff=9324</id>
		<title>Gpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=Gpg&amp;diff=9324"/>
		<updated>2023-08-11T16:05:03Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: Reindirizzamento semplice per GPG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#RINVIA [[GNU Privacy Guard]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9323</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9323"/>
		<updated>2023-08-11T16:02:16Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: /* Introduzione */ Spiegata l'origine di OpenPGP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://gnupg.org/ GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880], derivato dal programma PGP (Pretty Good Privacy) di [https://philzimmermann.com/IT/background/index.html Phil Zimmermann].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver con '''tutte le firme a essa associate''', e non solo quelle del proprietario della chiave:&lt;br /&gt;
 gpg --keyserver-options no-self-sigs-only --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Le opzioni di base di GPG per l'importazione da keyserver sono d'ignorare tutte le firme che non siano quelle del proprietario della chiave, tranne quando si tratta di un server LDAP. In quel caso il comportamento predefinito è inverso. Per importare ogni firma associata alla chiave pubblica, usare l'opzione del keyserver ''no-self-sigs-only''.|type=info}}&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento per scelta di progettazione e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Per scaricare le firme altrui da un keyserver che non sia un server LDAP, specificare l'opzione del keyserver no-self-sigs-only con la sintassi ''--keyserver-options no-self-sigs-only''|type=info}}&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9322</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9322"/>
		<updated>2023-08-11T15:56:36Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: /* Introduzione */ Sito ufficiale di GPG al posto di Wikipedia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://gnupg.org/ GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver con '''tutte le firme a essa associate''', e non solo quelle del proprietario della chiave:&lt;br /&gt;
 gpg --keyserver-options no-self-sigs-only --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Le opzioni di base di GPG per l'importazione da keyserver sono d'ignorare tutte le firme che non siano quelle del proprietario della chiave, tranne quando si tratta di un server LDAP. In quel caso il comportamento predefinito è inverso. Per importare ogni firma associata alla chiave pubblica, usare l'opzione del keyserver ''no-self-sigs-only''.|type=info}}&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento per scelta di progettazione e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Per scaricare le firme altrui da un keyserver che non sia un server LDAP, specificare l'opzione del keyserver no-self-sigs-only con la sintassi ''--keyserver-options no-self-sigs-only''|type=info}}&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GPG_Gnu_Privacy_Guard&amp;diff=9320</id>
		<title>GPG Gnu Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GPG_Gnu_Privacy_Guard&amp;diff=9320"/>
		<updated>2023-08-11T15:52:45Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: Corretto reindirizzamento&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#RINVIA [[GNU Privacy Guard]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9315</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9315"/>
		<updated>2023-08-11T11:13:02Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: /* GPG Keysigning Party */ Correzione&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver con '''tutte le firme a essa associate''', e non solo quelle del proprietario della chiave:&lt;br /&gt;
 gpg --keyserver-options no-self-sigs-only --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Le opzioni di base di GPG per l'importazione da keyserver sono d'ignorare tutte le firme che non siano quelle del proprietario della chiave, tranne quando si tratta di un server LDAP. In quel caso il comportamento predefinito è inverso. Per importare ogni firma associata alla chiave pubblica, usare l'opzione del keyserver ''no-self-sigs-only''.|type=info}}&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento per scelta di progettazione e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Per scaricare le firme altrui da un keyserver che non sia un server LDAP, specificare l'opzione del keyserver no-self-sigs-only con la sintassi ''--keyserver-options no-self-sigs-only''|type=info}}&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9314</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9314"/>
		<updated>2023-08-11T11:12:24Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: /* GPG Keysigning Party */ Accapo inutile&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver con '''tutte le firme a essa associate''', e non solo quelle del proprietario della chiave:&lt;br /&gt;
 gpg --keyserver-options no-self-sigs-only --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Le opzioni di base di GPG per l'importazione da keyserver sono d'ignorare tutte le firme che non siano quelle del proprietario della chiave, tranne quando si tratta di un server LDAP. In quel caso il comportamento predefinito è inverso. Per importare ogni firma associata alla chiave pubblica, usare l'opzione del keyserver ''no-self-sigs-only''.|type=info}}&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento per scelta di progettazione e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Per scaricare le firme altrui da un keyserver che non sia un server LDAP, bisogna specificare l'opzione del keyserver no-self-sigs-only con la sintassi ''--keyserver-options no-self-sigs-only''|type=info}}&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9313</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9313"/>
		<updated>2023-08-11T11:11:49Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: /* GPG Keysigning Party */ Tipo riquadro&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver con '''tutte le firme a essa associate''', e non solo quelle del proprietario della chiave:&lt;br /&gt;
 gpg --keyserver-options no-self-sigs-only --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Le opzioni di base di GPG per l'importazione da keyserver sono d'ignorare tutte le firme che non siano quelle del proprietario della chiave, tranne quando si tratta di un server LDAP. In quel caso il comportamento predefinito è inverso. Per importare ogni firma associata alla chiave pubblica, usare l'opzione del keyserver ''no-self-sigs-only''.|type=info}}&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento per scelta di progettazione e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Per scaricare le firme altrui da un keyserver che non sia un server LDAP, bisogna specificare l'opzione del keyserver no-self-sigs-only con la sintassi ''--keyserver-options no-self-sigs-only''|type=info}}&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9312</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9312"/>
		<updated>2023-08-11T11:10:50Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: /* GPG Keysigning Party */ Come scaricare le firme altrui da un keyserver&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver con '''tutte le firme a essa associate''', e non solo quelle del proprietario della chiave:&lt;br /&gt;
 gpg --keyserver-options no-self-sigs-only --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Le opzioni di base di GPG per l'importazione da keyserver sono d'ignorare tutte le firme che non siano quelle del proprietario della chiave, tranne quando si tratta di un server LDAP. In quel caso il comportamento predefinito è inverso. Per importare ogni firma associata alla chiave pubblica, usare l'opzione del keyserver ''no-self-sigs-only''.|type=info}}&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento per scelta di progettazione e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Per scaricare le firme altrui da un keyserver che non sia un server LDAP, bisogna specificare l'opzione del keyserver no-self-sigs-only con la sintassi ''--keyserver-options no-self-sigs-only''|type=warning}}&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9311</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9311"/>
		<updated>2023-08-11T11:05:40Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: /* Condividere le chiavi pubbliche */ Precisazione&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver con '''tutte le firme a essa associate''', e non solo quelle del proprietario della chiave:&lt;br /&gt;
 gpg --keyserver-options no-self-sigs-only --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Le opzioni di base di GPG per l'importazione da keyserver sono d'ignorare tutte le firme che non siano quelle del proprietario della chiave, tranne quando si tratta di un server LDAP. In quel caso il comportamento predefinito è inverso. Per importare ogni firma associata alla chiave pubblica, usare l'opzione del keyserver ''no-self-sigs-only''.|type=info}}&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento per scelta di progettazione e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9310</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9310"/>
		<updated>2023-08-11T10:59:00Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: /* Condividere le chiavi pubbliche */ Sinonimo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver con '''tutte le firme a essa associate''', e non solo quelle del proprietario della chiave:&lt;br /&gt;
 gpg --keyserver-options no-self-sigs-only --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Le opzioni di base di GPG per l'importazione da keyserver sono d'ignorare le firme che non siano quelle del proprietario della chiave, tranne quando si tratta di un server LDAP. In quel caso il comportamento predefinito è inverso. Per importare ogni firma associata alla chiave pubblica, usare l'opzione del keyserver ''no-self-sigs-only''.|type=info}}&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento per scelta di progettazione e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9309</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9309"/>
		<updated>2023-08-11T10:58:17Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: /* Condividere le chiavi pubbliche */ Precisazione&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver con '''tutte le firme a essa associate''', e non solo quelle del proprietario della chiave:&lt;br /&gt;
 gpg --keyserver-options no-self-sigs-only --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Le opzioni di base di GPG per l'importazione da keyserver sono d'ignorare le firme che non siano quelle del proprietario della chiave, tranne quando si tratta di un server LDAP. In quel caso il comportamento di base è inverso. Per importare ogni firma associata alla chiave pubblica, usare l'opzione del keyserver ''no-self-sigs-only''.|type=info}}&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento per scelta di progettazione e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9308</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9308"/>
		<updated>2023-08-11T10:55:13Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: /* Condividere le chiavi pubbliche */ Blocco info e costruzione della frase migliore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver con '''tutte le firme a essa associate''', e non solo quelle del proprietario della chiave:&lt;br /&gt;
 gpg --keyserver-options no-self-sigs-only --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|text=Le opzioni di base di GPG per l'importazione da keyserver sono d'ignorare le firme che non siano quelle del proprietario della chiave. Per importare ogni firma associata alla chiave pubblica, usare l'opzione del keyserver ''no-self-sigs-only''.|type=info}}&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento per scelta di progettazione e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9307</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9307"/>
		<updated>2023-08-11T10:48:22Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: /* Condividere le chiavi pubbliche */ Importare le firme degli altri quando si scarica una chiave da un keyserver&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver con '''tutte le firme a essa associate''', e non solo quelle del proprietario della chiave:&lt;br /&gt;
 gpg --keyserver-options no-self-sigs-only --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Infatti, le opzioni di base di GPG per l'importazione da keyserver, sono d'ignorare le firme che non siano quelle del proprietario della chiave. Se uno vuole importare ogni firma associata alla chiave pubblica deve usare l'opzione del keyserver ''no-self-sigs-only''.&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento per scelta di progettazione e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9306</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9306"/>
		<updated>2023-08-11T10:30:33Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: /* Keyserver */ Rimossa virgola eccesiva&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento per scelta di progettazione e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9305</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9305"/>
		<updated>2023-08-11T10:30:08Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: /* Keyserver */ Più italiano, frase più chiara&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento per scelta di progettazione, e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9303</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9303"/>
		<updated>2023-08-11T09:47:56Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: Matteobin ha spostato la pagina GPG (GNU Privacy Guard) a GNU Privacy Guard: Stesso titolo della pagina Wikipedia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento (per scelta di design), e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9302</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9302"/>
		<updated>2023-08-11T09:45:35Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: Migliore introduzione&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[https://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero che implementa lo standard [https://www.openpgp.org/ OpenPGP (o PGP)] definito nel [https://www.ietf.org/rfc/rfc4880.txt RFC4880].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento (per scelta di design), e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GPG_Gnu_Privacy_Guard&amp;diff=9301</id>
		<title>GPG Gnu Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GPG_Gnu_Privacy_Guard&amp;diff=9301"/>
		<updated>2023-08-11T09:30:24Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: Matteobin ha spostato la pagina GPG Gnu Privacy Guard a GPG (GNU Privacy Guard): GNU si scrive maiuscolo! Le parentesi spiegano il significato della sigla.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#RINVIA [[GPG (GNU Privacy Guard)]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9300</id>
		<title>GNU Privacy Guard</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=GNU_Privacy_Guard&amp;diff=9300"/>
		<updated>2023-08-11T09:30:24Z</updated>

		<summary type="html">&lt;p&gt;Matteobin: Matteobin ha spostato la pagina GPG Gnu Privacy Guard a GPG (GNU Privacy Guard): GNU si scrive maiuscolo! Le parentesi spiegano il significato della sigla.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduzione =&lt;br /&gt;
[http://it.wikipedia.org/wiki/GNU_Privacy_Guard GNU Privacy Guard (GnuPG o GPG)] è un programma libero pensato per fornire un'alternativa opensource al [http://it.wikipedia.org/wiki/Pretty_Good_Privacy Pretty Good Privacy (PGP)].&lt;br /&gt;
Nel PGP sono usate sia la crittografia asimmetrica (a chiave pubblica) che quella simmetrica.&lt;br /&gt;
La chiave pubblica del destinatario serve al mittente unicamente per cifrare la chiave comune per un algoritmo di crittografia simmetrica che sarà usata per cifrare il testo in chiaro del messaggio.&lt;br /&gt;
Un destinatario decifra un messaggio protetto da GPG usando la chiave di sessione con l'algoritmo simmetrico. Tale chiave di sessione è inclusa nel messaggio in maniera criptata ed è decifrata usando la chiave privata del destinatario.&lt;br /&gt;
L'utilizzo di due cifrature oltre che a velocizzare l'esecuzione del programma (la cifratura a chiave simmetrica è molto più veloce di quella asimmetrica) permette di poter cifrare uno stesso messaggio per più destinatari.&lt;br /&gt;
&lt;br /&gt;
= Manuale =&lt;br /&gt;
&lt;br /&gt;
Un veloce aiuto&lt;br /&gt;
 man gpg&lt;br /&gt;
&lt;br /&gt;
Un rapido promemoria delle opzioni più comuni&lt;br /&gt;
 gpg --help&lt;br /&gt;
&lt;br /&gt;
= Generare una chiave =&lt;br /&gt;
Da utente normale:&lt;br /&gt;
 gpg --gen-key&lt;br /&gt;
e rispondere alle domande che fa il programma.&lt;br /&gt;
&lt;br /&gt;
'''Controllare''' che sia stata davvero creata&lt;br /&gt;
 gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
== Certificato di revoca ==&lt;br /&gt;
Il certificato di revoca serve per invalidare la chiave nel caso in cui questa venga compromessa.&lt;br /&gt;
Chiunque sia in possesso del certificato di revoca può revocare la chiave corrispondente, per cui è bene tenerlo in un posto sicuro.&lt;br /&gt;
Poiché, nel momento in cui si ha bisogno del certificato di revoca, potremmo non essere più in grado di generarlo, conviene generarlo subito dopo la creazione della chiave, e prima di iniziare a utilizzarla pubblicamente.&lt;br /&gt;
 gpg --output certificato-di-revoca.asc --gen-revoke ''ID''&lt;br /&gt;
dove &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; è dato dalle ultime 8 cifre dell'impronta (fingerprint) della chiave.&lt;br /&gt;
&lt;br /&gt;
= Utilizzo pratico =&lt;br /&gt;
&lt;br /&gt;
== Criptare un documento ==&lt;br /&gt;
 gpg -o file1.ext.gpg -e -r UserID file1.ext&lt;br /&gt;
&lt;br /&gt;
Esempio:&lt;br /&gt;
 gpg -o tesi.odt.gpg -e -r spookyh@gmail.com tesi.odt&lt;br /&gt;
&lt;br /&gt;
== Decriptare un documento ==&lt;br /&gt;
 gpg -o file1.ext -d file1.gpg&lt;br /&gt;
&lt;br /&gt;
== Firmare un documento ==&lt;br /&gt;
Il mittente può usare PGP per ''firmare'' un messaggio con l'algoritmo di firma RSA o Digital Signature Algorithm (DSA). Per fare ciò viene calcolato un hash (message digest) dal testo in chiaro e successivamente da questo hash è creata la [http://it.wikipedia.org/wiki/Firma_digitale firma digitale] usando la chiave privata del mittente.&lt;br /&gt;
&lt;br /&gt;
 gpg -o file1.ext.sig -s file1.ext&lt;br /&gt;
&lt;br /&gt;
== Verificare un documento ==&lt;br /&gt;
 gpg --verify file1.sig&lt;br /&gt;
&lt;br /&gt;
= Importare ed esportare chiavi (locali) =&lt;br /&gt;
Importare una chiave (pubblica)&lt;br /&gt;
 gpg --import chiave.asc (o .txt)&lt;br /&gt;
&lt;br /&gt;
Esportare la propria chiave pubblica&lt;br /&gt;
 gpg -a -o chiave_pubblica.asc --export&lt;br /&gt;
&lt;br /&gt;
== Esportare la propria chiave privata ==&lt;br /&gt;
{{Note&lt;br /&gt;
|type=attention&lt;br /&gt;
|text=La chiave privata può essere utilizzata per impersonare la vostra identità, perciò '''NON''' inviarla mai a '''nessuno''', ed esportarla solo per effettuarne backup, naturalmente da custodire in un luogo sicuro.&lt;br /&gt;
}}&lt;br /&gt;
 gpg --armor --export-secret-keys &amp;lt;ID&amp;gt; &amp;gt; secret-key.gpg.asc&lt;br /&gt;
&lt;br /&gt;
= Condividere le chiavi pubbliche =&lt;br /&gt;
&lt;br /&gt;
Inviare la chiave ad un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --send-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importare una chiave da un keyserver:&lt;br /&gt;
 gpg --keyserver keyserver.linux.it --recv-keys &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se ci fidiamo del proprietario e vogliamo mostrare pubblicamente la nostra fiducia, possiamo firmare la chiave appena importata e esportare la firma su un keyserver (vedere sezioni successive).&lt;br /&gt;
&lt;br /&gt;
== Keyserver ==&lt;br /&gt;
Quando si carica una chiave su un keyserver, poi questo la condivide con gli altri keyserver che fanno parte dello stesso circuito.&lt;br /&gt;
Non esiste un'entità centralizzata o un circuito di riferimento (per scelta di design), e, a volte, questo può generare confusione nell'utilizzatore.&lt;br /&gt;
Inoltre, alcuni keyserver potrebbero non essere sempre accessibili.&lt;br /&gt;
&lt;br /&gt;
Tra i keyserver più noti:&lt;br /&gt;
* keys.openpgp.org&lt;br /&gt;
* keyserver.ubuntu.com&lt;br /&gt;
* keys.gnupg.net&lt;br /&gt;
* pgp.surfnet.nl&lt;br /&gt;
* pgp.circl.lu&lt;br /&gt;
* pgp.mit.edu&lt;br /&gt;
&lt;br /&gt;
= Editare una chiave =&lt;br /&gt;
Per fare operazioni e modifiche dobbiamo &amp;quot;editare&amp;quot; le chiavi, aprendo l'editor interattivo:&lt;br /&gt;
 gpg --edit-key &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note&lt;br /&gt;
|type=warning&lt;br /&gt;
|text=Prima di uscire dall'editor, ricordarsi di '''salvare''', altrimenti le modifiche vanno perdute&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* firmare&lt;br /&gt;
 &amp;gt; sign&lt;br /&gt;
* cambiare i valori di fiducia &lt;br /&gt;
 &amp;gt; trust&lt;br /&gt;
* vedere la fingerprint&lt;br /&gt;
 &amp;gt; fpr&lt;br /&gt;
* cambiare la data di scadenza&lt;br /&gt;
 &amp;gt; expire&lt;br /&gt;
* cambiare la password&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
* firmare localmente in modo non esportabile&lt;br /&gt;
 &amp;gt; lsign&lt;br /&gt;
* sempre '''ricordarsi di salvare'''&lt;br /&gt;
 &amp;gt; save&lt;br /&gt;
* oppure uscire&lt;br /&gt;
 &amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Digitare &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; per una lista esaustiva.&lt;br /&gt;
&lt;br /&gt;
Tutte le modifiche da rendere pubbliche vanno inviate ad un keyserver.&lt;br /&gt;
&lt;br /&gt;
= Revocare una chiave =&lt;br /&gt;
&lt;br /&gt;
Avendo già il certificato di revoca:&lt;br /&gt;
 gpg --import certificato-di-revoca.asc&lt;br /&gt;
 gpg --keyserver pgp.surfnet.nl --send-key ''ID''&lt;br /&gt;
&lt;br /&gt;
= Gestione delle chiavi =&lt;br /&gt;
Controllare il database delle chiavi: questo comando mostra tutte le chiavi che abbiamo con molte informazioni.&lt;br /&gt;
 gpg --list-keys --with-colons&lt;br /&gt;
&lt;br /&gt;
Fornisce tutti i valori di fiducia assegnati alle varie chiavi. (Informazioni private)&lt;br /&gt;
 gpg --list-ownertrust&lt;br /&gt;
&lt;br /&gt;
== Controllo firme ==&lt;br /&gt;
 gpg --check-sigs&lt;br /&gt;
 gpg --list-sigs&lt;br /&gt;
&lt;br /&gt;
== Esportare le chiavi altrui ==&lt;br /&gt;
Abbiamo importato e firmato la chiave di &amp;lt;ID&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Rimandiamola al proprietario:&lt;br /&gt;
 gpg --armor -export -o firma.sig &amp;lt;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo comando crea un file di nome ''firma.sig'' nella directory corrente, che contiene la chiave firmata.&lt;br /&gt;
Spedire al proprietario ''firma.sig''.&lt;br /&gt;
&lt;br /&gt;
Chi riceve la propria chiave firmata da altri può decidere inserirla nel proprio portachiavi, con&lt;br /&gt;
 gpg --import firma.sig&lt;br /&gt;
si aggiungono al portachiavi le nuove firme ma anche i nuovi ID che il mittente ha sulla sua chiave, col rispettivo valore di fiducia.&lt;br /&gt;
&lt;br /&gt;
Firmare le chiavi degli altri implica dar loro fiducia, e, spesso, anche aver verificato la loro identità in maniera sicura.&lt;br /&gt;
Se non ci fidiamo, non firmiamo.&lt;br /&gt;
Se si firmano a caso tutte le chiavi che capitano a tiro, si perde la reputazione che si ha presso gli altri partecipanti della rete.&lt;br /&gt;
&lt;br /&gt;
Se vogliamo fare un uso pubblico di questa fiducia reciproca possiamo mandare la nostra  chiave, contenente la nuova firma, al keyserver:&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --send-key &amp;lt;ID mia chiave&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Periodicamente occorre aggiornare il proprio portachiavi digitale, così da venire a conoscenza delle modifiche sulle chiavi degli altri.&lt;br /&gt;
 gpg --keyserver pgp.circl.lu --refresh-keys&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Una chiave non è valida solo se è firmata di persona, ma se:&lt;br /&gt;
&lt;br /&gt;
* è firmata da un numero sufficiente di chiavi valide, cioè da almeno una chiave di cui ci si fida pienamente o da tre chiavi con fiducia marginale&lt;br /&gt;
* il percorso delle chiavi per risalire alla chiave in questione è di pochi passi (generalmente, al massimo 5)&lt;br /&gt;
&lt;br /&gt;
Questi parametri sono configurabili, e possono essere resi più o meno stringenti, a seconda dell'uso che intendiamo fare della rete di fiducia GPG.&lt;br /&gt;
&lt;br /&gt;
Gestire la rete di fiducia gpg.conf ha due opzioni:&lt;br /&gt;
&lt;br /&gt;
 --completes-needed n&lt;br /&gt;
numero di utilizzatori con fiducia piena che presentano un nuovo utente (default 1)&lt;br /&gt;
&lt;br /&gt;
 --marginals-needed n&lt;br /&gt;
numero di utilizzatori con fiducia parziale che presentano un nuovo utente (default 3)&lt;br /&gt;
&lt;br /&gt;
A seconda dell'importanza del messaggio, ognuno può consapevolmente valutare quanta fiducia dare alle chiavi.&lt;br /&gt;
&lt;br /&gt;
= GUI =&lt;br /&gt;
Esistono vari programmi a interfaccia grafica:&lt;br /&gt;
* ''Seahorse'', per gestire le chiavi e i certificati, comprese quelle ssh, per un ambiente GTK&lt;br /&gt;
* ''Kleopatra'', per gestire le chiavi e i certificati, comprese quelle ssh, per KDE&lt;br /&gt;
* ''Pinentry'' (anche da riga di comando) si ricorda la password della chiave per il tempo impostato (default 5 minuti)&lt;br /&gt;
&lt;br /&gt;
= Rete di fiducia =&lt;br /&gt;
Web of trust: una chiave importata può essere firmata con un certo grado di fiducia. Possiamo rispedirla al proprietario o caricare la firma su un keyserver, e se lui la importa nel suo portachiavi, avrà la propria chiave firmata da noi.&lt;br /&gt;
Ognuno può quindi aggiungere le firme dei conoscenti alla propria chiave, che a loro volta hanno firme di altri.&lt;br /&gt;
In questo modo è possibile creare la propria rete di fiducia, scegliendo un livello accettabile di indirezione.&lt;br /&gt;
&lt;br /&gt;
== GPG Keysigning Party ==&lt;br /&gt;
Ogni tanto vengono organizzati degli incontri per consentire ai possessori di chiavi GPG di ampliare la loro rete di fiducia.&lt;br /&gt;
&lt;br /&gt;
Cosa si deve fare per un ''keysigning party'':&lt;br /&gt;
* '''generare la propria coppia di chiavi''' e il corrispondente certificato di revoca, se non si è già fatto;&lt;br /&gt;
* '''inviare''' la propria chiave ad un keyserver, almeno qualche giorno prima del party;&lt;br /&gt;
* preparare dei '''biglietti''' con scritto il proprio nome e cognome, indirizzo email, ID e impronta (fingerprint) della vostra chiave;&lt;br /&gt;
* recarsi al party portando con sé i biglietti e uno o più '''documenti di identità''';&lt;br /&gt;
* scambiarsi le chiavi '''verificando l'identità''' di chi dichiara di esserne il legittimo proprietario;&lt;br /&gt;
* tornati a casa, scaricare le chiavi da un keyserver utilizzando l'ID; poi '''controllare l'impronta''' (fingerprint) e infine firmare la chiave col grado di fiducia desiderato e rispedirla al server.&lt;br /&gt;
&lt;br /&gt;
= Risorse =&lt;br /&gt;
* [https://build.golem.linux.it/gpg-keysigning-party/gpg-keysigning-party.pdf] prontuario veloce (PDF) per un keysigning party&lt;br /&gt;
* [https://www.gnupg.org/howtos/it/keysigning_party.html#prep] approfondimenti, dalla documentazione ufficiale&lt;br /&gt;
* [https://cirw.in/gpg-decoder/] GPG online decoder, utile per ispezionare chiavi pubbliche al volo&lt;br /&gt;
&lt;br /&gt;
[[Category: Howto]]&lt;/div&gt;</summary>
		<author><name>Matteobin</name></author>
	</entry>
</feed>