Aggiornare
A partire da Ubuntu 16.04, il plug-in funziona come previsto e non è necessario eseguire il downgrade come suggerito nella risposta accettata. La domanda era applicabile a Ubuntu 15.04 e, forse , 15.10.
Posta originale
Uso Thunderbird + Enigmail da anni. Attualmente sto usando Thunderbird 38.5.1, Enigmail versione 1.9 (20160223-1641) e GPG 2.0.26 nel mio PC di lavoro (Ubuntu 15.04 64-bit, con Gnome Shell).
Qualche giorno fa, dopo 1 anno + di operazione, Enigmail improvvisamente ha iniziato a lamentarsi del seguente errore ogni volta che provo a inviare un'e-mail firmata o crittografata:
GnuPG ha riportato un errore nella comunicazione con gpg-agent (un componente di GnuPG).
Si tratta di un errore di installazione o configurazione del sistema che impedisce a Enigmail di funzionare correttamente e non può essere corretto automaticamente.
Raccomandiamo vivamente di consultare il nostro sito Web di supporto all'indirizzo https://enigmail.net/faq .
Ho consultato la pagina FAQ e ho provato diverse cose, ma non sono ancora riuscito a risolvere il problema.
Il pinentry
comando funziona bene e mostra la pinentry-qt4
finestra (cioè non basata sul testo):
pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT
Tuttavia, il gpg-agent-connect
comando non riesce:
gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
ERR 280 not implemented
Ho provato a disabilitare il portachiavi gnome come suggerito, ma non funziona neanche. (Sì, ho riavviato il sistema nel mezzo, ma voglio anche mantenere il portachiavi abilitato come al solito.) Ho anche provato a esportare e reimportare le mie impostazioni di Enigmail (ovvero rinominare $HOME/.gnupg/
qualcos'altro nel frattempo), ma questo ha fatto non funziona neanche.
Stranamente, quando avvio gpg-agent
manualmente dalla shell e quindi avvio Thunderbird, sembra comunicare con gpg-agent
, come mostrato di seguito:
gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh
gpg-agent[6469]: enabled debug flags: command cache assuan
gpg-agent[6469]: directory `/home/ray/.gnupg' created
gpg-agent[6469]: directory `/home/ray/.gnupg/private-keys-v1.d' created
gpg-agent[6469]: listening on socket `/home/ray/.gnupg/S.gpg-agent'
gpg-agent[6470]: gpg-agent (GnuPG) 2.0.26 started
#
# Thunderbird started at this point
#
$ gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 started
gpg-agent[6470]: chan_7 -> OK Pleased to meet you, process 6470
gpg-agent[6470]: chan_6 <- OK Pleased to meet you, process 6470
gpg-agent[6470]: chan_6 -> GETINFO pid
gpg-agent[6470]: chan_7 <- GETINFO pid
gpg-agent[6470]: chan_7 -> D 6470
gpg-agent[6470]: chan_7 -> OK
gpg-agent[6470]: chan_6 <- D 6470
gpg-agent[6470]: chan_6 <- OK
gpg-agent[6470]: chan_6 -> BYE
gpg-agent[6470]: chan_7 <- BYE
gpg-agent[6470]: chan_7 -> OK closing connection
gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 terminated
Tuttavia, non vedo alcun output se provo a inviare un'e-mail firmata e / o crittografata. Questo appare solo all'avvio di Thunderbird.
Inoltre, ho aggiunto il /usr/bin/gpg-agent --daemon
comando come applicazione di avvio nel pannello Applicazioni di avvio di Gnome, ma non ha fatto alcuna differenza.
Penso di aver applicato un aggiornamento regolare intorno al 2/23, ma il problema non è diventato visibile fino a quando il sistema non è stato riavviato il 2/24 questa settimana. Sfortunatamente, non ricordo quali pacchetti sono stati aggiornati, ma non ce ne sono stati molti. (Di solito tengo aggiornato il sistema.)
Si noti che questo ha funzionato senza problemi per anni o giù di lì, fino a circa 2 giorni fa. (Ho anche usato questa configurazione nel mio PC desktop domestico per 4yrs + senza problemi, ma il mio PC di lavoro è un laptop e Ubuntu a volte non funziona altrettanto bene lì per motivi sconosciuti ...)
Quando provo ad aprire e-mail crittografate che ho ricevuto (o salvate bozze, che sono anche crittografate), ricevo lo stesso messaggio di errore su gpg-agent
, ma decrittografa il messaggio e-mail dopo avermi chiesto la mia passphrase della chiave privata.
D: Come posso risolvere questo errore di comunicazione che mi impedisce di inviare e-mail firmate / crittografate?
Per considerare risolto il problema, la situazione deve tornare a funzionare normalmente senza i messaggi di errore, ecc.
Grazie in anticipo per qualsiasi aiuto che puoi fornire per aiutarti a risolvere questo problema.
Mentre stavo scrivendo questo post, ho notato il seguente messaggio dal gpg-agent
demone nel terminale:
# ...from previous output above
gpg-agent[6470]: chan_7 -> OK closing connection
gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 terminated
#
# new/unexpected error message from agent
#
gpg-agent[6470]: can't connect my own socket: IPC connect call failed
gpg-agent[6470]: this process is useless - shutting down
gpg-agent[6470]: gpg-agent (GnuPG) 2.0.26 stopped
Ciò si presentò inaspettatamente, poiché non avevo chiesto a Thunderbird di fare qualcosa in particolare nel frattempo.
Ho aggiornato da 15.04 -> 15.10 -> 16.04 e posso confermare che Thunderbird 38.6 + Enigmail 1.9.1 funzionano normalmente per me. L'output dei comandi è anche quello che dovrebbero essere:
➜ ~ pinentry <<EOT
heredoc> SETDESC Hello World
heredoc> CONFIRM
heredoc> EOT
OK Pleased to meet you
OK
OK
➜ ~ gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
D 2.1.11
OK
ERROR check_hijack
viene effettivamente emesso? Le FAQ appaiono obsolete e non sono sicuro di dove sia più l'opzione per visualizzare il registro di debug di Enigmail.
Enigmail > Debugging Options > View Log
rivela WARNING: The GNOME keyring manager hijacked the GnuPG agent
. Quindi sono abbastanza sicuro che GnomeKeyring sia imparentato. echo | gpg2 --sign
rivela il problema sulla CLI. Disabilitare tristemente il portachiavi di gnome (come unica soluzione) non è un'opzione per me.