Enigmail no puede comunicarse con gpg-agent

10

Actualizar

A partir de Ubuntu 16.04, el complemento funciona como se esperaba y no hay necesidad de degradar como se sugiere en la respuesta aceptada. La pregunta era aplicable a Ubuntu 15.04 y, tal vez , 15.10.


Publicación original

He estado usando Thunderbird + Enigmail durante años. Actualmente estoy usando Thunderbird 38.5.1, Enigmail versión 1.9 (20160223-1641) y GPG 2.0.26 en mi PC de trabajo (Ubuntu 15.04 de 64 bits, con Gnome Shell).

Hace unos días, después de 1 año o más de operación, Enigmail de repente comenzó a quejarse con el siguiente error cada vez que intento enviar un correo electrónico firmado o encriptado:

GnuPG informó un error en la comunicación con gpg-agent (un componente de GnuPG).

Este es un error de configuración o configuración del sistema que impide que Enigmail funcione correctamente y no se puede solucionar automáticamente.

Le recomendamos que consulte nuestro sitio web de soporte en https://enigmail.net/faq .

Revisé la página de preguntas frecuentes e intenté varias cosas, pero aún no he podido solucionar el problema.

El pinentrycomando funciona bien y muestra la pinentry-qt4ventana (es decir, no está basada en texto):

pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT

Sin embargo, el gpg-agent-connectcomando falla:

gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
ERR 280 not implemented

He intentado deshabilitar el llavero de gnomo como se sugirió, pero tampoco funciona. (Sí, reinicié el sistema intermedio, pero también quiero mantener el llavero habilitado como de costumbre). También intenté exportar y volver a importar mis configuraciones de Enigmail (es decir, cambiar el nombre $HOME/.gnupg/a otra cosa mientras tanto), pero eso sí tampoco funciona.

Por extraño que parezca, cuando inicio gpg-agentmanualmente desde el shell, y luego inicio Thunderbird, parece que se está comunicando con el gpg-agent, como se muestra a continuación:

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

Sin embargo, no veo ningún resultado si intento enviar un correo electrónico firmado y / o cifrado. Esto solo aparece cuando se inicia Thunderbird.

Además, agregué el /usr/bin/gpg-agent --daemoncomando como una aplicación de inicio en el panel de aplicaciones de inicio de Gnome, pero no hizo ninguna diferencia.

Creo que apliqué una actualización regular alrededor del 2/23, pero el problema no se hizo visible hasta que el sistema se reinició el 24/02 esta semana. Desafortunadamente, no recuerdo qué paquetes se actualizaron, pero no había tantos. (Normalmente mantengo el sistema actualizado).

Tenga en cuenta que esto había estado funcionando sin problemas durante años más o menos, hasta hace aproximadamente 2 días. (También he estado usando esta configuración en la PC de escritorio de mi casa durante más de 4 años sin problemas, pero mi PC de trabajo es una computadora portátil, y Ubuntu a veces no funciona tan bien allí por razones desconocidas ...)

Cuando intento abrir correos electrónicos cifrados que he recibido (o se guardan los borradores, que también están cifrados), me sale el mismo mensaje de error sobre el gpg-agent, pero lo hace descifrar el mensaje de correo electrónico después de preguntar a mí para mi frase de clave privada.

P: ¿Cómo puedo resolver este error de comunicación que me impide enviar correos electrónicos firmados / cifrados?

Para considerar el problema solucionado, la situación debe volver a funcionar normalmente sin los mensajes de error, etc.

Gracias de antemano por cualquier ayuda que pueda proporcionar para ayudar a solucionar este problema.


Mientras escribía esta publicación, noté el siguiente mensaje del gpg-agentdemonio en la terminal:

# ...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

Esto apareció inesperadamente, ya que no le pedí a Thunderbird que hiciera nada en particular mientras tanto.


Actualicé desde 15.04 -> 15.10 -> 16.04 y puedo confirmar que Thunderbird 38.6 + Enigmail 1.9.1 están funcionando normalmente para mí. La salida de los comandos también es lo que deberían ser:

➜  ~ 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
code_dredd
fuente
Quizás relacionado: sourceforge.net/p/enigmail/bugs/575
Socob
@Socob: ¿Dónde verificaría si ERROR check_hijackrealmente se está emitiendo? Las preguntas frecuentes aparecen desactualizadas y no estoy seguro de dónde está la opción de ver el registro de depuración de Enigmail.
code_dredd
Desafortunadamente, no estoy seguro, solo revisé el rastreador de errores de Enigmail y vi ese problema en la parte superior que parece que podría conducir a este problema. Además, tengo el mismo problema que tú (Enigmail muestra este mensaje de error después de haber trabajado sin problemas durante mucho tiempo). Trataré de deshacerme de eso cuando tenga tiempo.
Socob
@ Socob: Suena bien. Esta no es la primera vez que tengo este problema. La primera vez que me encontré con este problema, la fecha de reemplazo de mi PC estaba bastante cerca, por lo que lo ignoré después de perder varias horas tratando de solucionarlo. Esta vez no puedo ignorarlo, y he pasado varias horas nuevamente. Seguiré intentándolo de vez en cuando. Espero que tengas mejor suerte que yo.
code_dredd
1
El mismo problema aqui. Enigmail > Debugging Options > View Logrevela WARNING: The GNOME keyring manager hijacked the GnuPG agent. Así que estoy bastante seguro de que GnomeKeyring está relacionado. echo | gpg2 --signrevela el problema en la CLI. Lamentablemente, deshabilitar gnome-keyring (como la única solución) no es una opción para mí.
meisterluk

Respuestas:

5

Si bien la respuesta a esto es que solo muestra cómo resolverlo en un sistema Debian, el enfoque es el mismo:

Degradación.

Desde que Enigmail lanzó la versión 1.9 el 23 de febrero y los problemas comenzaron a partir de ese día, las únicas tres soluciones son:

  1. Espere a que Enigmail solucione las cosas e instale su actualización a 1.9.xy deje de usar el cifrado hasta que proporcionen la actualización
  2. Excave y resuelva el problema usted mismo (lo que no todos son capaces de hacer debido al conocimiento limitado de la arquitectura de software subyacente)
  3. Baje a 1.8.2, luego espere a que Enigmail solucione las cosas y actualice a 1.9.x que resuelva el error que ocurrió con 1.9.

No puedo ayudar con 1 o 2, pero con el número 3:

  • Descargue Enigmail 1.8.2 , que es la última versión anterior a 1.9 que no introdujo el error
  • Desinstale Enigmail 1.9 a través del menú Complementos de Thunderbird
  • Desde ese mismo menú, instale manualmente el archivo descargado 1.8.2 haciendo clic en el botón de configuración de Complementos en la parte superior de la página de Complementos de Thunderbird, a la izquierda del campo de entrada de texto de búsqueda
  • Reiniciar Thunderbird

Ahora debería funcionar como antes de la actualización a Enigmail 1.9.

Sugeriría deshabilitar las actualizaciones automáticas para Enigmail hasta que se solucione este error introducido en 1.9. Puede deshabilitarlos haciendo clic en el enlace "más" que se encuentra en el texto descriptivo de la extensión Enigmail en la página Complementos de Thunderbird.

Salvado
fuente
Creo que quiere decir "No puedo ayudar con 1 o 2 , pero con el número 3 ".
Socob
1
@Bran: Tenga en cuenta que después de cambiar las versiones de Enigmail, puede recibir un mensaje de error acerca de que su clave no se encuentra o está "caducada", incluso después de reiniciar Thunderbird. De hecho, tuve que reiniciar completamente mi PC para evitar eso. Para bien o para mal, esta parece ser la única solución práctica en este momento. En lugar de romper su software, deberían haberle dado al usuario una opción para elegir qué hacer (por ejemplo, permitir la interacción a través del llavero gnome)
code_dredd
1
Mensaje real:Enigmail Key ... not found or not valid. The (sub-)key might have expired.
code_dredd
Bueno, dado que uno de los mantenedores creó un informe de error sobre esto poco después del lanzamiento, no parece ser un cambio intencional. Curiosamente, el informe de error en cuestión se ha eliminado ahora, sin embargo ...
Socob
El enfoque de @thisthatother también funciona para ubuntu, consulte packages.ubuntu.com/search?keywords=enigmail ... Ubuntu proporciona enigmail como paquete con la versión 1.8.2 actualmente para todas las versiones de ubuntu.
Matthias
5

Muchas gracias por el aporte detallado de todos sobre este tema.

Tengo un problema similar desde que mi sistema se actualizó a Enigmail 1.9 el 25 de febrero. Solucioné el problema desinstalando Enigmail 1.9 y cambiando a 1.8.

Para mí, esto fue fácil ya que utilizo Debian 8 y simplemente desinstalé Enigmail como un complemento independiente y lo reemplacé con la versión del repositorio principal de Debian de Enigmail (que, según algunos estudios, es la versión 1.8.2 ). Encogimiento de hombros. No he tenido problemas desde ese cambio. Espero que sea útil para los demás y gracias nuevamente por ponerme en el camino correcto para resolver el problema.

este otro
fuente
Gracias a los pósters anteriores por la información detallada que me ayudó a encontrar una solución a mi caso particular Espero que también funcione para los demás
Esto es lo otro
Interesante hallazgo. Sin embargo, no estoy usando Debian, y aunque una solución específica de Debian podría funcionar para unos pocos, es preferible tener una solución más general.
code_dredd
1
Bueno, esto debería funcionar en cualquier caso: uno solo necesitaría tener en sus manos una versión anterior de Enigmail (no creo que deba haber problemas de compatibilidad con los archivos .xpi).
Socob
Esta solución también me soluciona el problema. No hay problemas desde entonces.
Matthias
2

No es necesario degradar el complemento enigmail:

  • Elemento de la lista
  • Ubuntu 16.04
  • Thunderbird 45.2.0
  • Enigmail 1.9.5
  • gpg (GnuPG) 1.4.20

En una terminal:

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

(--use-standard-socket está obsoleto)

No es necesario reiniciar Thunderbird.

0xFAb
fuente
Cierto. Dije que no había necesidad de degradar como comentario, pero he actualizado la publicación para que sea muy visible.
code_dredd
1

Tuve el mismo problema en el sentido de que Enigmail arrojó repentinamente este mensaje de error en cada operación después de haber trabajado durante muchos meses. Desactivar el componente GPG Password Agent de GNOME Keyring resolvió este problema por mí: Enigmail luego usa el "original" gpg-agentcon un programa de pinentry (en lugar de la frase de contraseña de GNOME Keyring) y todo funciona sin problemas.

Desactivé el componente de contraseña GPG GNOME Keyring usando el programa predeterminado de Ubuntu "Startup Applications":

Deshabilitar el Agente de Contraseñas GPG (de GNOME Keyring) usando "Aplicaciones de Inicio"

Dijiste que intentaste deshabilitar GNOME Keyring y que estabas usando GNOME Shell. Quizás eso no funcionó correctamente? Puede intentar seguir los mismos pasos que tengo (Aplicaciones de inicio / Unidad) y ver si eso cambia algo.

Parece que este problema fue causado por una actualización reciente en Enigmail (la versión 1.9 fue lanzada el 23 de febrero de 2016) ya que anteriormente, podría usarse con GNOME Keyring sin generar este error. El hecho de que la desactivación de GNOME Keyring resuelva el problema (y el momento) sugiere que el error Enigmail # 575 está relacionado.

Socob
fuente
Pude profundizar un poco más en esto ayer. Encontré que el ERROR hijackmensaje aparece en el registro. Intenté deshabilitar la misma opción que ya tenía allí, pero el problema es que cuando hice eso, entonces nunca llega a hablar gpg-agentporque el pinentrymensaje de la frase de contraseña nunca aparece (es decir, recibo un mensaje de error diferente antes a cualquier intento de comunicación con gpg-agent). Daré otra oportunidad en esto cuando vuelva a trabajar mañana.
code_dredd
El enlace de error de Enigmail está roto ...
xuhdev
@xuhdev Sí, el error se eliminó poco después de la creación. Sin embargo, no tengo idea de por qué.
Socob