<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>Mutt-i, GnuPG e PGP Howto: Integrare PGP e Mutt </TITLE> <LINK HREF="Mutt-GnuPG-PGP-HOWTO-7.html" REL=next> <LINK HREF="Mutt-GnuPG-PGP-HOWTO-5.html" REL=previous> <LINK HREF="Mutt-GnuPG-PGP-HOWTO.html#toc6" REL=contents> </HEAD> <BODY> <A HREF="Mutt-GnuPG-PGP-HOWTO-7.html">Avanti</A> <A HREF="Mutt-GnuPG-PGP-HOWTO-5.html">Indietro</A> <A HREF="Mutt-GnuPG-PGP-HOWTO.html#toc6">Indice</A> <HR> <H2><A NAME="s6">6. Integrare PGP e Mutt </A></H2> <P>L'operazione da svolgere sul messaggio in uscita (firmare, cifrare o entrambe le cose) è scelta proprio prima di premere il tasto "<CODE>y</CODE>" per inviare il messaggio, dal menu raggiungibile con l'opzione "<CODE>p</CODE>". Una volta scelta l'operazione da compiere, cambierà soltanto la linea <EM>PGP</EM> nell'header del messaggio mostrato a video. Finché il messaggio non viene inviato con il comando "<CODE>y</CODE>", non verrà chiesto né di inserire la passphrase per attivare la firma del messaggio né quali chiavi pubbliche usare per la cifrature nel caso in cui il destinatario non sia stato trovato nel nostro public key ring. <P><B>NOTA:</B> se non si inserisce correttamente la passphrase, <EM>Mutt</EM> sembra "bloccarsi". Ma non è così: attende solo che venga inserita nuovamente. Per farlo, si deve premere <CODE><Invio></CODE> e cancellare la passphrase dalla memoria con <CODE><Ctrl>F</CODE>. Poi, si deve ripetere l'invio del messaggio con "<CODE>y</CODE>" e inserire di nuovo la passphrase. <P>In questo modo, <EM>Mutt</EM> userà <EM>PGP/MIME</EM> per inviare il messaggio e un nuovo file apparirà nella lista dei file da inviare firmati (nel caso in cui si sia scelto solo di firmare il messaggio) o cifrerà l'intero messaggio (tutte le sue parti <EM>MIME</EM>). Rimarranno solo due parti MIME: la prima contenente la versione PGP/MIME e la seconda il messaggio cifrato (contenente tutte le sue parti MIME) e firmato (se si è scelto di firmare il messaggio): <P><B>Nota:</B> se per qualche motivo il mail user agent del destinatario non è in grado di usare <EM>MIME</EM>, si dovrà includere la firma all'interno del corpo del messaggio. Si veda la sezione riguardante <EM>application/pgp</EM> alle voci <A HREF="Mutt-GnuPG-PGP-HOWTO-7.html#sec-app-pgp">PGP5</A> e <A HREF="Mutt-GnuPG-PGP-HOWTO-7.html#sec-app-gpg">GnuPG</A>. <P> <P><EM>Mutt</EM> proverà a verificare la firma o a decifrare automaticamente i messaggi ricevuti che utilizzano <EM>PGP/MIME</EM>. Si veda la sezione <A HREF="Mutt-GnuPG-PGP-HOWTO-8.html#sec-procmail.2">Note e trucchi per usare Procmail</A>, in cui si spiega come cambiare automaticamente il tipo <EM>MIME</EM> dei messaggi ricevuti che non lo impostano correttamente. <P> <H2><A NAME="sec-opcion"></A> <A NAME="ss6.1">6.1 File opzionali di configurazione </A> </H2> <P>Nella sezione che segue si trovano modifiche al file di configurazione di <EM>Mutt</EM> necessarie per usare facilmente <A HREF="#sec-conf-pgp2">PGP2</A>, <A HREF="#sec-conf-pgp5">PGP5</A>, e <A HREF="#sec-conf-gpg">GnuPG</A>. <P>A questo scopo, utilizziamo un nuovo file di configurazione che abbiamo chiamato <CODE>.gnupgp.mutt</CODE> (qualsiasi altro nome va bene, purché si inserisca il nome prescelto all'interno del file di configurazione principale <CODE>~/.muttrc</CODE>). <P>Lo si può fare includendo il percorso completo del file <CODE>.gnupgp.mutt</CODE> in una linea alla fine del file <CODE>~/.muttrc</CODE>. La directory in cui si inseriscono questo e altri file di configurazione opzionali può essere qualsiasi, purché si abbiano i permessi corretti (in una sezione precedente tali file sono stati inclusi nella directory <CODE>~/Mail/</CODE>), ad esempio all'interno della propria home directory. Anche sul nome non ci sono vincoli. Si può creare la directory mutt.varios: <P> <BLOCKQUOTE><CODE> ~$ mkdir mutt.varios </CODE></BLOCKQUOTE> <P>in cui copiare (o creare) il file di configurazione opzionale <CODE>.gnupgp.mutt</CODE> e poi includere questo file nel file <CODE>.muttrc</CODE> col comando <CODE>source</CODE>, in questo modo: <P> <BLOCKQUOTE><CODE> <PRE> source ~/mutt.varios/.gnupgp.mutt </PRE> </CODE></BLOCKQUOTE> <P>Ora <EM>Mutt</EM> considererà le variabili di configurazioni inserite in <CODE>.gnupgp.mutt</CODE> come se fossero contenute direttamente in <CODE>.muttrc</CODE>. <P>Questo è un buon metodo per evitare di avere un file di configurazione enorme e disordinato, e può essere utilizzato per raggruppare altre variabili di configurazione. Per esempio, se usiamo <EM>vim</EM> come editor in <EM>Mutt</EM>, possiamo indicare a <CODE>.muttrc</CODE> di utilizzare direttamente il file di configurazione di <EM>vim</EM>: <CODE>.vimrc</CODE>. Innanzitutto, si deve copiare <CODE>~/.vimrc</CODE> nella nostra directory contenente i file di configurazione opzionali, <CODE>~/mutt.varios/</CODE>, e dargli un altro nome (per esempio <CODE>vim.mutt</CODE>): <P> <P> <BLOCKQUOTE><CODE> $ cd /home/user ~$ cp .vimrc mutt.varios/vim.mutt </CODE></BLOCKQUOTE> <P>Poi, si devono cambiare le opzioni di configurazione che vogliamo siano diverse quando usiamo <EM>vim</EM> come editor in <EM>Mutt</EM>, ed infine modificare <CODE>.muttrc</CODE>: <P> <P> <BLOCKQUOTE><CODE> <PRE> set editor="/usr/bin/vim -u ~/mutt.varios/vim.mutt" </PRE> </CODE></BLOCKQUOTE> <P>Con quest'ultima linea stiamo impostando <CODE>Mutt</CODE> in modo da usare un editor esterno, <EM>Vim</EM>, con le opzioni di configurazione desiderate. <P> <H2><A NAME="sec-conf-gen"></A> <A NAME="ss6.2">6.2 Variabili di configurazione generale</A> </H2> <P>Ci sono alcune variabili che verranno usate con tutti e tre i programmi di criptografia a chiave pubblica. Queste variabili sono booleane e possono essere <B>set</B> (attivate) o <B>unset</B> (disattivate). <P>Nel file di configurazione (<CODE>~/.muttrc</CODE>, <CODE>~/mutt.varios/.gnupgp.mutt</CODE> o qualsiasi altro nome si preferisca), il simbolo (<B>#</B>) è un commento e verrà ignorato. Lo useremo per di qui in avanti per commentare ciascuna variabile: <P> <DL> <DT><B>unset pgp_autosign</B><DD><P># se questa variabile è attivata <EM>Mutt</EM> chiederà di firmare tutti<BR> # i messaggi in uscita. <A HREF="#uno">(1)</A><P> <DT><B>unset pgp_autoencrypt</B><DD><P># se questa variabile è attivata <EM>Mutt</EM> chiederà di criptare tutti<BR> # i messaggi in uscita. <A HREF="#uno">(1)</A><P> <DT><B>set pgp_encryptself</B><DD><P># salva una copia criptata di tutti i messaggi inviati che vogliamo criptare<BR> # (si deve porre <CODE>set copy=yes</CODE>). <P> <DT><B>set pgp_replysign</B><DD><P># quando si risponde ad un messaggio firmato, la risposta sarà<BR> # anch'essa firmata. <P> <DT><B>set pgp_replyencrypt</B><DD><P># quando si risponde ad un messaggio cifrato, la risposta<BR> # sarà anch'essa cifrata. <P> <DT><B>set pgp_verify_sig=yes</B><DD><P># si desidera verificare automaticamente i messaggi firmati ricevuti?<BR> # Certo! <P> <DT><B>set pgp_timeout=<n></B><DD><P># cancella la passphrase dalla memoria cache dopo <n> secondi<BR> # che la si è inserita. <A HREF="#dos">(2)</A><P> <DT><B>set pgp_sign_as="0xABC123D4"</B><DD><P># che chiave si vuole usare per firmare i messaggi in uscita?<BR> # <B>Nota:</B> si può impostare questa variabile col proprio user id, ma<BR> # questo può generare confusione se si hanno diverse chiavi e lo stesso user id.<BR> <P> <DT><B>set pgp_strict_enc</B><DD><P># usa "quoted-printable" quando PGP lo richiede.<BR> <P> <DT><B>unset pgp_long_ids</B><DD><P># non usa 64 bit key id, usa 32 bit key id.<BR> <P> <DT><B>set pgp_sign_micalg=<some></B><DD><P># algoritmo per il controllo dell'integrità del messaggio.<BR> # <some> va scelto tra uno dei seguenti valori: <P> <UL> <LI><B>pgp-md5</B><BR> se si usano chiavi RSA</LI> <LI><B>pgp-sha1</B><BR> se si usano chiavi DSS (DSA)</LI> <LI><B>pgp-rmd160</B><BR></LI> </UL> </DL> <P>Nelle prossime tre sezioni verranno spiegate le variabili di configurazione adatte a ciascuna delle versioni di PGP. La quarta sezione spiegherà come modificare queste variabili se si usano più versioni d PGP. <P>(1) <A NAME="uno"></A> Dal momento che <EM>Mutt</EM> chiede di inserire la passphrase ogni volta che si vuole firmare un messaggio e di scegliere un destinatario quando si vuole cifrare, può essere scomodo impostare questa variabile. Solitamente la si lascia disattivata. Questo in particolar modo è vero quando si vuole cifrare i messaggi, dal momento che non si hanno le chiavi pubbliche di tutti i destinatari. <P>(2) <A NAME="dos"></A> A seconda del numero di messaggi che si vuole firmare o decifrare, si decide se tenere la passphrase nella memoria cache più o meno a lungo. Questa opzione permette di non inserire la passphrase ogni volta che si firma un nuovo messaggio o se ne decifra uno ricevuto. <B>Attenzione:</B> tenere la passphrase nella memoria cache non è sicuro, soprattutto in sistemi connessi alla rete. <P>(3) <A NAME="tres"></A> Questo è necessario solo con la chiave che si usa per firmare. Quando la chiave viene scelta dal menu, sarà <EM>Mutt</EM> a calcolare l'algoritmo più appropriato. <P> <H2><A NAME="sec-conf-pgp2"></A> <A NAME="ss6.3">6.3 Variabili di configurazione per PGP2</A> </H2> <P>Per usare PGP2 con <EM>Mutt-i</EM> si dovranno aggiungere le seguenti linee al file <CODE>~/mutt.varios/.gnupgp.mutt</CODE>: <P> <BLOCKQUOTE><CODE> <PRE> set pgp_default_version=pgp2 set pgp_key_version=default set pgp_receive_version=default set pgp_send_version=default set pgp_sign_micalg=pgp-md5 set pgp_v2=/usr/bin/pgp set pgp_v2_pubring=~/.pgp/pubring.pgp set pgp_v2_secring=~/.pgp/secring.pgp </PRE> </CODE></BLOCKQUOTE> <P>Come già detto, i file <CODE>~/.pgp/pubring.pgp</CODE> e <CODE>secring.pgp</CODE> devono esistere. Maggiori informazioni su PGP2 si possono ottenere col comando <CODE>man pgp</CODE>. <P> <H2><A NAME="sec-conf-pgp5"></A> <A NAME="ss6.4">6.4 Variabili di configurazione per PGP5</A> </H2> <P>Per usare PGP5 con <EM>Mutt-i</EM> si dovranno aggiungere le seguenti linee al file <CODE>~/mutt.varios/.gnupgp.mutt</CODE>: <P> <BLOCKQUOTE><CODE> <PRE> set pgp_default_version=pgp5 set pgp_key_version=default set pgp_receive_version=default set pgp_send_version=default set pgp_sign_micalg=pgp-sha1 set pgp_v5=/usr/bin/pgp set pgp_v5_pubring=~/.pgp/pubring.pkr set pgp_v5_secring=~/.pgp/secring.skr </PRE> </CODE></BLOCKQUOTE> <P>Anche in questo caso, i file <CODE>~/.pgp/pubring.pkr</CODE> e <CODE>secring.pkr</CODE> devono esistere. Maggiori informazioni su PGP5 si possono ottenere col comando <CODE>man pgp5</CODE>. <P> <H2><A NAME="sec-conf-gpg"></A> <A NAME="ss6.5">6.5 Variabili di configurazione per GnuPG</A> </H2> <P>Per usare <EM>GnuPG</EM>con <EM>Mutt-i</EM> si dovranno aggiungere le seguenti linee al file <CODE>~/mutt.varios/.gnupgp.mutt</CODE>: <P> <BLOCKQUOTE><CODE> <PRE> set pgp_default_version=gpg set pgp_key_version=default set pgp_receive_version=default set pgp_send_version=default set pgp_sign_micalg=pgp-sha1 set pgp_gpg=/usr/bin/gpg set pgp_gpg_pubring=~/.gnupg/pubring.gpg set pgp_gpg_secring=~/.gnupg/secring.gpg </PRE> </CODE></BLOCKQUOTE> <P>Al solito, i file <CODE>~/.gnupg/pubring.gpg</CODE> e <CODE>secring.gpg</CODE> devono esistere. Maggiori informazioni su GnuPG si possono ottenere con i comandi <CODE>man gpg.gnupg</CODE>, <CODE>man gpgm</CODE>, e <CODE>man gpg</CODE>. <P> <H2><A NAME="sec-conf-mix"></A> <A NAME="ss6.6">6.6 Variabili di configurazione miste</A> </H2> <P>Se non si ha intenzione di usare solamente una versione di questi programmi, si dovranno modificare alcune delle variabili presentate in precedenza. In realtà, si dovranno solo cambiare le variabili che impostano la versione utilizzata, rimuovendo quelle ridondanti. <P>Ad esempio, per usare GnuPG per firmare i messaggi, tutti i comandi di <EM>Mutt</EM> che fanno uso di Gnu/PGP chiameranno questo programma per apporre firme, decifrare, cifrare, verificare ecc. Per questo, si dovrà impostare la variabile di configurazione <CODE>$set_pgp_default</CODE> <B>una sola volta</B>, in questo modo: <P> <BLOCKQUOTE><CODE> <PRE> set pgp_default_version=gpg </PRE> </CODE></BLOCKQUOTE> <P>Invece, per usare tutti e tre i programmi, il file <CODE>~/mutt.varios/.gnupgp.mutt</CODE> potrebbe essere simile a questo: <P> <BLOCKQUOTE><CODE> <PRE> set pgp_default_version=gpg # versione del programma da usare di default set pgp_key_version=default # chiave da usare di default # in questo caso, è gnupg a definirla set pgp_receive_version=default # il programma utilizzato per decifrare sarà quello indicato come default set pgp_send_version=default # di nuovo la versione definita nella prima riga (gpg) set pgp_gpg=/usr/bin/gpg # dove trovare l'eseguibile di GnuPG set pgp_gpg_pubring=~/.gnupg/pubring.gpg # il file delle chiavi pubbliche di GnuPG set pgp_gpg_secring=~/.gnupg/secring.gpg # il file delle chiavi segrete di GnuPG set pgp_v2=/usr/bin/pgp # dove trovare l'eseguibile di PGP2 set pgp_v2_pubring=~/.pgp/pubring.pgp # file delle chiavi pubbliche di PGP2 set pgp_v2_secring=~/.pgp/secring.pgp # file delle chiavi private di PGP2 set pgp_v5=/usr/bin/pgp # dove trovare l'eseguibile di PGP5 set pgp_v5_pubring=~/.pgp/pubring.pkr # file delle chiavi pubbliche di PGP5 set pgp_v5_secring=~/.pgp/secring.skr # file delle chiavi private di PGP5 </PRE> </CODE></BLOCKQUOTE> <P> <HR> <A HREF="Mutt-GnuPG-PGP-HOWTO-7.html">Avanti</A> <A HREF="Mutt-GnuPG-PGP-HOWTO-5.html">Indietro</A> <A HREF="Mutt-GnuPG-PGP-HOWTO.html#toc6">Indice</A> </BODY> </HTML>