<!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: Note e trucchi per usare Procmail</TITLE> <LINK HREF="Mutt-GnuPG-PGP-HOWTO-9.html" REL=next> <LINK HREF="Mutt-GnuPG-PGP-HOWTO-7.html" REL=previous> <LINK HREF="Mutt-GnuPG-PGP-HOWTO.html#toc8" REL=contents> </HEAD> <BODY> <A HREF="Mutt-GnuPG-PGP-HOWTO-9.html">Avanti</A> <A HREF="Mutt-GnuPG-PGP-HOWTO-7.html">Indietro</A> <A HREF="Mutt-GnuPG-PGP-HOWTO.html#toc8">Indice</A> <HR> <H2><A NAME="s8">8. Note e trucchi per usare Procmail</A></H2> <H2><A NAME="sec-procmail.1"></A> <A NAME="ss8.1">8.1 Configurare Procmail per inviare automaticamente le proprie chiavi pubbliche </A> </H2> <P>Dato che questo non è lo scopo principale di questo Howto, aggiungeremo che il modo più sicuro per ottenere una chiave pubblica da qualcuno è che questi ce la dia di persona, a mano. <P>Poiché molte volte questo non è facilmente realizzabile, le persone si scambiano chiavi pubbliche via posta elettronica o cercandole in un key server, per quanto nessuno di questo metodi assicuri che la chiave ricevuta sia realmente la chiave di chi dovrebbe essere. Si possono usare altri mezzi di comunicazione considerati "sicuri" (cercare il possessore della chiave nell'elenco telefonico e chiedendogli di leggere la sua "fingerprint" per confrontarla con quella della chiave ottenuta attraverso percorsi non sicuri): <P>Quello che vedremo è un "trucco" da inserire nel file <CODE>.procmailrc</CODE> per restituire la propria chiave pubblica al mittente di un messaggio che abbia un ben determinato <CODE>Subject</CODE>: <P> <BLOCKQUOTE><CODE> <PRE> :0 h * ^Subject:[ ]+\/(|send)[ ]+key pub\>.* | mutt -s "Re: $MATCH" `formail -rtzxTo:` </clau/mykey.asc </PRE> </CODE></BLOCKQUOTE> <P>Ciò che è indicato nel precedente paragrafo è: abbiamo una copia in ASCII della nostra chiave pubblica, in una certa directory (in questo caso in <CODE>/clau</CODE>) in un file chiamato <CODE>mykey.asc</CODE>. Quando procmail riceve un messaggio che include "send key pub" nel <CODE>Subject:</CODE>, invia quel file al mittente. <P>IMPORTANTE: tra le parentesi è contenuto <B>uno spazio</B> e <B>una tabulazione</B>. <P> <H2><A NAME="sec-procmail.2"></A> <A NAME="ss8.2">8.2 Verificare e decifrare automaticamente un messaggio senza PGP/MIME</A> </H2> <P>Quando si riceve un messaggio firmato che utilizza PGP/MIME e lo si apre col proprio MUA preferito (Mutt, no?), questo riconosce il messaggio come PGP/MIME e controlla la firma se si possiede la chiave del mittente. Questi messaggi sono quelli con la lettera "S" nella prima parte della riga del messaggio in Mutt: <P> <BLOCKQUOTE><CODE> <PRE> 36 S 05/09 Andres Seco Her ( 12K) Al fin </PRE> </CODE></BLOCKQUOTE> <P>Invece i messaggi cifrati hanno la "P": <P> <BLOCKQUOTE><CODE> <PRE> 12 P 03/24 Andres Seco Her (6,3K) Re: FW: Re: Mutt - pgp/gnupg </PRE> </CODE></BLOCKQUOTE> <P>Ma se il messaggio è cifrato e ha il tipo MIME "application/pgp", quando lo si apre Mutt non ne controlla la firma e la firma è contenuta all'interno del corpo del messaggio, come in questo caso: <P> <BLOCKQUOTE><CODE> <PRE> -----BEGIN PGP SIGNED MESSAGE----- Date: Tue, 25 May 1999 13:04:26 +0200 From: La Corporación <bill@reboot.com> Subject: Actualización S.O. To: Sufrido Usuario <pepe@casa.es> Sufrido usuario: le comunicamos que puede usted adquirir la última actualización del programa O.E. con la adquisición de nuestro sistema operativo reboot99 por el módico precio de ... etc. -----BEGIN PGP SIGNATURE----- Version: 2.6.3ia Charset: noconv iKBGNpUBX0235VapRBUy1KklAQGl9wQA3SBMio0bbbajHAnyKMOlx3tcgNG7/UVC AbqXcUnyGGOo13Nbas95G34Fee3wsXIFo1obEfgiRzqPzZPLWoZdAnyTlZyTwCHe 6ifVpLTuaXvcn9/76rXoI6u9svN2cqHCgHuNASKHaK9034uq81PSdW4QdGLgLoeB vnGmxE+tGg32= =Xidf -----END PGP SIGNATURE----- </PRE> </CODE></BLOCKQUOTE> <P>Per verificarlo, lo si deve salvare e usare la linea di comando. Tuttavia, è possibile convertire il tipo MIME di questo messaggio con <EM>Procmail</EM> per permettere a <EM>Mutt</EM> di riconoscerlo come <EM>PGP/MIME</EM>. Si deve solo aggiungere a <CODE>.procmailrc</CODE>: <P> <BLOCKQUOTE><CODE> <PRE> :0 * !^Content-Type: message/ * !^Content-Type: multipart/ * !^Content-Type: application/pgp { :0 fBw * ^-----BEGIN PGP MESSAGE----- * ^-----END PGP MESSAGE----- | formail \ -i "Content-Type: application/pgp; format=text; x-action=encrypt" :0 fBw * ^-----BEGIN PGP SIGNED MESSAGE----- * ^-----BEGIN PGP SIGNATURE----- * ^-----END PGP SIGNATURE----- | formail \ -i "Content-Type: application/pgp; format=text; x-action=sign" } </PRE> </CODE></BLOCKQUOTE> <P>Si può notare che questo è valido per messaggi firmati e cifrati di tipo application/pgp. <P> <H2><A NAME="ss8.3">8.3 Cambiare il tipo MIME per messaggi contenenti chiavi senza PGP/MIME</A> </H2> <P>Se si riceve un public key block da un MUA che non rispetta <EM>PGP/MIME</EM>, si deve salvare il corpo del messaggio e poi inserirlo nel proprio public key ring. Però, inserendo queste linee in <CODE>.procmailrc</CODE>, si potrà includere la chiave direttamente da mutt. <P> <BLOCKQUOTE><CODE> <PRE> :0 fBw * ^-----BEGIN PGP PUBLIC KEY BLOCK----- * ^-----END PGP PUBLIC KEY BLOCK----- | formail -i "Content-Type: application/pgp-keys; format=text;" </PRE> </CODE></BLOCKQUOTE> <P>Grazie a Denis Alan per questa nota su procmail. <P> <HR> <A HREF="Mutt-GnuPG-PGP-HOWTO-9.html">Avanti</A> <A HREF="Mutt-GnuPG-PGP-HOWTO-7.html">Indietro</A> <A HREF="Mutt-GnuPG-PGP-HOWTO.html#toc8">Indice</A> </BODY> </HTML>