L'operazione da svolgere sul messaggio in uscita (firmare, cifrare o entrambe le cose)
è scelta proprio prima di premere il tasto "y
" per inviare il messaggio,
dal menu raggiungibile con l'opzione
"p
". Una volta scelta l'operazione da compiere,
cambierà soltanto la linea PGP nell'header del messaggio mostrato a video.
Finché il messaggio non viene inviato con il comando "y
",
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.
NOTA: se non si inserisce correttamente la passphrase,
Mutt sembra "bloccarsi". Ma non è così: attende solo che venga
inserita nuovamente. Per farlo, si deve premere <Invio>
e cancellare la passphrase dalla memoria con <Ctrl>F
. Poi,
si deve ripetere l'invio del messaggio con "y
" e inserire di nuovo
la passphrase.
In questo modo, Mutt userà PGP/MIME 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 MIME). 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):
Nota: se per qualche motivo il mail user agent del destinatario non è in grado di usare MIME, si dovrà includere la firma all'interno del corpo del messaggio. Si veda la sezione riguardante application/pgp alle voci PGP5 e GnuPG.
Mutt proverà a verificare la firma o a decifrare automaticamente i messaggi ricevuti che utilizzano PGP/MIME. Si veda la sezione Note e trucchi per usare Procmail, in cui si spiega come cambiare automaticamente il tipo MIME dei messaggi ricevuti che non lo impostano correttamente.
Nella sezione che segue si trovano modifiche al file di configurazione di Mutt necessarie per usare facilmente PGP2, PGP5, e GnuPG.
A questo scopo, utilizziamo un nuovo file di configurazione che abbiamo chiamato .gnupgp.mutt
(qualsiasi altro nome va bene, purché si inserisca il nome prescelto
all'interno del file di configurazione principale ~/.muttrc
).
Lo si può fare includendo il percorso completo del file
.gnupgp.mutt
in una linea alla fine del file
~/.muttrc
. 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 ~/Mail/
), ad esempio all'interno della propria home directory.
Anche sul nome non ci sono vincoli. Si può creare la directory mutt.varios:
~$ mkdir mutt.varios
in cui copiare (o creare) il file di configurazione opzionale
.gnupgp.mutt
e poi includere questo file nel file
.muttrc
col comando source
, in questo modo:
source ~/mutt.varios/.gnupgp.mutt
Ora Mutt considererà le variabili di configurazioni inserite in .gnupgp.mutt
come se
fossero contenute direttamente in .muttrc
.
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
vim come editor in Mutt, possiamo indicare a
.muttrc
di utilizzare direttamente il file di configurazione di vim: .vimrc
.
Innanzitutto, si deve copiare
~/.vimrc
nella nostra directory contenente i file di configurazione opzionali,
~/mutt.varios/
, e dargli un altro nome (per esempio
vim.mutt
):
$ cd /home/user
~$ cp .vimrc mutt.varios/vim.mutt
Poi, si devono cambiare le opzioni di configurazione che vogliamo siano diverse
quando usiamo vim come editor in Mutt, ed infine modificare .muttrc
:
set editor="/usr/bin/vim -u ~/mutt.varios/vim.mutt"
Con quest'ultima linea stiamo impostando Mutt
in modo da usare un editor esterno,
Vim, con le opzioni di configurazione desiderate.
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 set (attivate) o unset (disattivate).
Nel file di configurazione (~/.muttrc
,
~/mutt.varios/.gnupgp.mutt
o qualsiasi altro nome si preferisca), il simbolo
(#) è un commento e verrà ignorato. Lo useremo per di qui in avanti
per commentare ciascuna variabile:
# se questa variabile è attivata Mutt chiederà di firmare tutti
# i messaggi in uscita.
(1)
# se questa variabile è attivata Mutt chiederà di criptare tutti
# i messaggi in uscita.
(1)
# salva una copia criptata di tutti i messaggi inviati che vogliamo criptare
# (si deve porre set copy=yes
).
# quando si risponde ad un messaggio firmato, la risposta sarà
# anch'essa firmata.
# quando si risponde ad un messaggio cifrato, la risposta
# sarà anch'essa cifrata.
# si desidera verificare automaticamente i messaggi firmati ricevuti?
# Certo!
# cancella la passphrase dalla memoria cache dopo <n> secondi
# che la si è inserita.
(2)
# che chiave si vuole usare per firmare i messaggi in uscita?
# Nota: si può impostare questa variabile col proprio user id, ma
# questo può generare confusione se si hanno diverse chiavi e lo stesso user id.
# usa "quoted-printable" quando PGP lo richiede.
# non usa 64 bit key id, usa 32 bit key id.
# algoritmo per il controllo dell'integrità del messaggio.
# <some> va scelto tra uno dei seguenti valori:
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.
(1) Dal momento che Mutt 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.
(2) 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. Attenzione: tenere la passphrase nella memoria cache non è sicuro, soprattutto in sistemi connessi alla rete.
(3) Questo è necessario solo con la chiave che si usa per firmare. Quando la chiave viene scelta dal menu, sarà Mutt a calcolare l'algoritmo più appropriato.
Per usare PGP2 con Mutt-i si dovranno aggiungere le seguenti linee
al file ~/mutt.varios/.gnupgp.mutt
:
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
Come già detto, i file ~/.pgp/pubring.pgp
e secring.pgp
devono esistere. Maggiori informazioni su PGP2 si possono ottenere col comando man pgp
.
Per usare PGP5 con Mutt-i si dovranno aggiungere le seguenti linee
al file ~/mutt.varios/.gnupgp.mutt
:
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
Anche in questo caso, i file ~/.pgp/pubring.pkr
e secring.pkr
devono esistere. Maggiori informazioni su PGP5 si possono ottenere col comando
man pgp5
.
Per usare GnuPGcon Mutt-i si dovranno aggiungere le seguenti linee
al file ~/mutt.varios/.gnupgp.mutt
:
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
Al solito, i file ~/.gnupg/pubring.gpg
e secring.gpg
devono esistere. Maggiori informazioni su GnuPG si possono ottenere con i comandi man gpg.gnupg
,
man gpgm
, e man gpg
.
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.
Ad esempio, per usare GnuPG per firmare i messaggi, tutti
i comandi di Mutt 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 $set_pgp_default
una sola volta,
in questo modo:
set pgp_default_version=gpg
Invece, per usare tutti e tre i programmi,
il file ~/mutt.varios/.gnupgp.mutt
potrebbe essere simile a questo:
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