Enigmail non può comunicare con gpg-agent


10

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 pinentrycomando funziona bene e mostra la pinentry-qt4finestra (cioè non basata sul testo):

pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT

Tuttavia, il gpg-agent-connectcomando 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-agentmanualmente 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 --daemoncomando 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-agentdemone 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


@Socob: dove verifichi se ERROR check_hijackviene effettivamente emesso? Le FAQ appaiono obsolete e non sono sicuro di dove sia più l'opzione per visualizzare il registro di debug di Enigmail.
code_dredd,

Sfortunatamente non sono sicuro, ho appena controllato il tracker dei bug di Enigmail e ho visto quel problema in cima che sembra che potrebbe portare a questo problema. Per inciso, sto avendo lo stesso problema di te (Enigmail che dà questo messaggio di errore dopo aver lavorato senza problemi per molto tempo). Proverò a cercare di liberarmene quando avrò tempo.
Socob,

@Socob: suona bene. Questa non è la prima volta che ho avuto questo problema. La prima volta che ho riscontrato questo problema la mia data di sostituzione del PC è stata abbastanza vicina, quindi l'ho ignorato dopo aver perso diverse ore nel tentativo di risolverlo. Questa volta non posso ignorarlo, e ho trascorso diverse ore di nuovo. Continuerò a provare di volta in volta. Spero che tu abbia più fortuna di me.
code_dredd,

1
Lo stesso problema qui. Enigmail > Debugging Options > View Logrivela WARNING: The GNOME keyring manager hijacked the GnuPG agent. Quindi sono abbastanza sicuro che GnomeKeyring sia imparentato. echo | gpg2 --signrivela il problema sulla CLI. Disabilitare tristemente il portachiavi di gnome (come unica soluzione) non è un'opzione per me.
Meisterluk,

Risposte:


5

Mentre la risposta di thisthatother mostra solo come risolverlo su un sistema Debian, l'approccio è lo stesso:

Declassamento.

Da quando Enigmail ha rilasciato la versione 1.9 il 23 febbraio e i problemi sono iniziati da quel giorno in poi, le uniche tre soluzioni sono:

  1. Attendi che Enigmail risolva i problemi e installi il loro aggiornamento su 1.9.xe smetta di usare la crittografia fino a quando non fornisce l'aggiornamento
  2. Scava e risolvi il problema da solo (cosa che non tutti sono in grado di fare a causa della conoscenza limitata dell'architettura software sottostante)
  3. Esegui il downgrade a 1.8.2, quindi attendi che Enigmail risolva i problemi e esegua l'aggiornamento a 1.9.x che risolve l'errore che si è verificato con 1.9.

Non posso fare a meno di 1 o 2, ma con il numero 3:

  • Scarica Enigmail 1.8.2 , che è l'ultima versione pre-1.9 che non ha introdotto l'errore
  • Disinstallare Enigmail 1.9 tramite il menu dei componenti aggiuntivi di Thunderbird
  • Dallo stesso menu, installa manualmente il file 1.8.2 scaricato facendo clic sul pulsante Configurazione componenti aggiuntivi nella parte superiore della pagina Componenti aggiuntivi di Thunderbird, a sinistra dal campo di immissione del testo di ricerca
  • Riavvia Thunderbird

Ora dovrebbe funzionare come prima dell'aggiornamento a Enigmail 1.9.

Suggerirei di disabilitare gli aggiornamenti automatici per Enigmail fino a quando questo bug introdotto in 1.9 non sarà risolto. Puoi disabilitarli facendo clic sul link "altro" presente nel testo descrittivo dell'estensione Enigmail nella pagina dei componenti aggiuntivi di Thunderbird.


Penso che intendi "Non posso fare a meno di 1 o 2 , ma con il numero 3 ".
Socob,

1
@Bran: Nota che dopo aver cambiato le versioni di Enigmail potresti ricevere un messaggio di errore sulla tua chiave non trovata o "scaduta", anche dopo aver riavviato Thunderbird. In realtà ho dovuto riavviare completamente il mio PC per aggirare il problema. Nel bene e nel male, questa sembra l'unica soluzione pratica in questo momento. Invece di rompere il loro software, avrebbero dovuto dare all'utente la possibilità di scegliere cosa fare (ad es. Consentire l'interazione tramite il portachiavi di gnome)
code_dredd,

1
Messaggio attuale:Enigmail Key ... not found or not valid. The (sub-)key might have expired.
code_dredd,

Bene, dato che uno dei manutentori ha creato una segnalazione di bug a questo proposito poco dopo il rilascio, non sembra essere un cambiamento intenzionale. Stranamente, la segnalazione di bug in questione è stata eliminata ora, però ...
Socob

L'approccio di @thisthatother funziona anche per Ubuntu, vedere pacchetti.ubuntu.com/search?keywords=enigmail ... Ubuntu fornisce enigmail come apckage con la versione 1.8.2 attualmente per tutte le versioni di Ubuntu.
Matthias,

5

Grazie mille per l'input dettagliato di tutti su questo problema.

Ho un problema simile da quando il mio sistema è stato aggiornato a Enigmail 1.9 il 25 febbraio. Ho risolto il problema disinstallando Enigmail 1.9 e passando a 1.8.

Per me, questo è stato facile poiché utilizzo Debian 8 e ho semplicemente disinstallato Enigmail come componente aggiuntivo autonomo e lo ho sostituito con la versione di Enigmail del repository principale debian (che, secondo alcune ricerche, sembra essere la versione 1.8.2 ). Scrollata di spalle. Non ho avuto problemi da quel cambiamento. Spero che sia utile agli altri e grazie ancora per avermi messo sulla strada giusta per risolvere il problema.


grazie ai precedenti poster per le informazioni dettagliate che mi hanno aiutato a trovare una soluzione al mio caso particolare. spero che
vada

Trova interessante. Tuttavia, non sto usando Debian, e mentre una soluzione specifica per Debian potrebbe funzionare solo per pochi, è preferibile avere una soluzione più generale.
code_dredd,

1
Bene, questo dovrebbe funzionare in ogni caso - bisognerebbe solo mettere le mani su una versione precedente di Enigmail (non credo che ci dovrebbero essere problemi di compatibilità con i file .xpi).
Socob,

Questa soluzione alternativa risolve il problema anche per me. Nessun problema da allora.
Matthias,

2

Non è necessario eseguire il downgrade del plug-in enigmail:

  • Voce di elenco
  • Ubuntu 16.04
  • Thunderbird 45.2.0
  • Enigmail 1.9.5
  • gpg (GnuPG) 1.4.20

In un terminale:

killall gpg-agent
export GPG_TTY=$(tty)
gpg-agent --daemon /bin/bash

(--use-standard-socket è obsoleto)

Non è necessario riavviare Thunderbird.


Vero. Avevo dichiarato che non era necessario effettuare il downgrade come commento, ma ho aggiornato il post per renderlo molto visibile.
code_dredd

1

Ho avuto lo stesso problema nel senso che Enigmail improvvisamente ha lanciato questo messaggio di errore su ogni operazione dopo aver lavorato per molti mesi. Disabilitare il componente GPG Password Agent di GNOME Keyring ha risolto questo problema per me - Enigmail quindi utilizza l'originale gpg-agentcon un programma pinentry (invece del prompt passphrase di GNOME Keyring) e tutto funziona senza problemi.

Ho disabilitato il componente password GNOME Keyring GPG usando il programma Ubuntu "Startup Applications" predefinito:

Disabilitare GPG Password Agent (dal portachiavi GNOME) usando "Startup Applications"

Hai detto che hai provato a disabilitare il portachiavi GNOME e che stavi usando la shell GNOME. Forse non ha funzionato correttamente? Potresti provare ad usare gli stessi passaggi che ho (Startup Applications / Unity) e vedere se ciò cambia qualcosa.

Sembra che questo problema sia stato causato da un recente aggiornamento in Enigmail (la versione 1.9 è stata rilasciata il 23 febbraio 2016) da prima, potrebbe essere usato con il portachiavi GNOME senza generare questo errore. Il fatto che la disabilitazione del portachiavi GNOME risolva il problema (e i tempi) suggerisce che il bug # 575 di Enigmail è correlato.


Sono stato in grado di scavare un po 'di più in questo ieri. Ho scoperto che il ERROR hijackmessaggio appare nel registro. Avevo provato a disabilitare la stessa opzione che avevi già lì, ma il problema è che quando l'ho fatto, allora non riesco mai a parlare gpg-agentperché il pinentryprompt per la passphrase non viene mai visualizzato (cioè ricevo un messaggio di errore diverso prima a qualsiasi tentativo di comunicazione con gpg-agent). Ci riproverò quando tornerò al lavoro domani.
code_dredd,

Il link al bug di Enigmail è interrotto ...
xuhdev

@xuhdev Sì, il bug è stato rimosso poco dopo la creazione. Non ho idea del perché, però.
Socob,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.