O Enigmail não pode se comunicar com o gpg-agent

10

Atualizar

A partir do Ubuntu 16.04, o plug-in funciona conforme o esperado e não há necessidade de fazer o downgrade conforme sugerido na resposta aceita. A questão era aplicável ao Ubuntu 15.04 e, talvez , 15.10.


Correio Original

Eu uso o Thunderbird + Enigmail há anos. Atualmente, estou usando o Thunderbird 38.5.1, Enigmail versão 1.9 (20160223-1641) e GPG 2.0.26 no meu PC de trabalho (Ubuntu 15.04 64 bits, com Gnome Shell).

Alguns dias atrás, após mais de 1 ano de operação, o Enigmail de repente começou a reclamar com o seguinte erro sempre que tento enviar um email assinado ou criptografado:

O GnuPG relatou um erro na comunicação com o gpg-agent (um componente do GnuPG).

Este é um erro de instalação ou configuração do sistema que impede o Enigmail de funcionar corretamente e não pode ser corrigido automaticamente.

É altamente recomendável que você consulte nosso site de suporte em https://enigmail.net/faq .

Passei pela página de perguntas frequentes e tentei várias coisas, mas ainda não consegui resolver o problema.

O pinentrycomando funciona bem e mostra a pinentry-qt4janela (ou seja, não é baseada em texto):

pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT

No entanto, o gpg-agent-connectcomando falha:

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

Tentei desativar o chaveiro do gnome, como sugerido, mas também não funciona. (Sim, reiniciei o sistema no meio, mas também quero manter o chaveiro ativado como de costume.) Também tentei exportar e reimportar minhas configurações do Enigmail (ou seja, renomear $HOME/.gnupg/para outra coisa nesse meio tempo), mas isso aconteceu também não funciona.

Curiosamente, quando inicio o gpg-agentmanual manualmente a partir do shell e inicio o Thunderbird, ele parece estar se comunicando com o gpg-agent, conforme mostrado abaixo:

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

Eu não vejo nenhuma saída se eu tentar enviar um email assinado e / ou criptografado. Isso só aparece quando o Thunderbird é iniciado.

Além disso, adicionei o /usr/bin/gpg-agent --daemoncomando como um aplicativo de inicialização no painel Aplicativos de Inicialização do Gnome, mas não fez diferença.

Acho que apliquei uma atualização regular em torno de 23/2, mas o problema não se tornou visível até que o sistema fosse reiniciado em 24/2 desta semana. Infelizmente, não me lembro quais pacotes foram atualizados, mas não havia muitos. (Normalmente, mantenho o sistema atualizado.)

Observe que isso funcionava sem problemas há anos ou mais, até cerca de 2 dias atrás. (Eu também uso essa configuração no meu PC de mesa por 4 anos ou mais sem problemas, mas meu PC de trabalho é um laptop e o Ubuntu às vezes não funciona tão bem por razões desconhecidas ...)

Quando tento abrir e-mails criptografados que recebi (ou rascunhos salvos, que também são criptografados), recebo a mesma mensagem de erro sobre o gpg-agentarquivo, mas ele descriptografa a mensagem de e-mail depois de me solicitar a minha frase secreta da chave privada.

P: Como posso resolver esse erro de comunicação que me impede de enviar emails assinados / criptografados?

Para considerar o problema corrigido, a situação precisa voltar a funcionar normalmente sem as mensagens de erro etc.

Agradecemos antecipadamente por qualquer ajuda que você possa fornecer para ajudar a corrigir esse problema.


Enquanto escrevia este post, notei a seguinte mensagem do gpg-agentdaemon no 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

Isso apareceu inesperadamente, pois eu não pedi ao Thunderbird para fazer algo em particular nesse meio tempo.


Atualizei de 15.04 -> 15.10 -> 16.04 e posso confirmar que o Thunderbird 38.6 + Enigmail 1.9.1 está funcionando normalmente para mim. A saída dos comandos também é como devem 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
fonte
Talvez relacionado: sourceforge.net/p/enigmail/bugs/575
Socob
@Socob: Onde você verificaria se ERROR check_hijackestá realmente sendo emitido? O FAQ aparece desatualizado e não tenho mais certeza de onde está a opção de visualizar o log de depuração do Enigmail.
code_dredd
Infelizmente não tenho certeza, verifiquei o rastreador de erros do Enigmail e vi esse problema no topo, o que parece levar a esse problema. Como um aparte, estou tendo o mesmo problema que você (o Enigmail transmitiu essa mensagem de erro depois de ter trabalhado sem problemas por muito tempo). Vou tentar me livrar disso quando tiver tempo.
Socob
@Socob: Parece bom. Esta não é a primeira vez que tenho esse problema. A primeira vez que encontrei esse problema, a data de substituição do meu PC estava bastante próxima, então eu o ignorei depois de perder várias horas tentando corrigi-lo. Desta vez não posso ignorá-lo e passei várias horas novamente. Vou continuar tentando de tempos em tempos. Espero que você tenha melhor sorte do que eu.
code_dredd
1
Mesmo problema aqui. Enigmail > Debugging Options > View Logrevela WARNING: The GNOME keyring manager hijacked the GnuPG agent. Então, eu tenho certeza que o GnomeKeyring está relacionado. echo | gpg2 --signrevela o problema na CLI. Infelizmente, desabilitar o gnome-keyring (como a única solução alternativa) não é uma opção para mim.
meisterluk

Respostas:

5

Enquanto a resposta desse outro mostra apenas como resolvê-lo em um sistema Debian, a abordagem é a mesma:

Desatualização.

Desde que o Enigmail lançou a versão 1.9 em 23 de fevereiro e os problemas começaram a partir desse dia, as únicas três soluções são:

  1. Aguarde o Enigmail resolver as coisas, instale a atualização no 1.9.xe pare de usar a criptografia até que eles forneçam a atualização
  2. Pesquise e resolva o problema você mesmo (o que nem todos são capazes de fazer devido ao conhecimento limitado da arquitetura de software subjacente)
  3. Faça o downgrade para 1.8.2 e aguarde o Enigmail resolver as coisas e atualize para o 1.9.x que resolve o erro que ocorreu com o 1.9.

Não posso ajudar com 1 ou 2, mas com o número 3:

  • Baixe o Enigmail 1.8.2 , que é a versão anterior à 1.9 que não apresentou o erro
  • Desinstalar o Enigmail 1.9 através do menu Complementos do Thunderbird
  • Nesse mesmo menu, instale manualmente o arquivo 1.8.2 baixado, clicando no botão de configuração de Complementos, na parte superior da página de Complementos do Thunderbird, à esquerda do campo de entrada de texto de pesquisa
  • Reinicie o Thunderbird

Agora deve funcionar como antes da atualização para o Enigmail 1.9.

Sugiro desabilitar as atualizações automáticas do Enigmail até que esse bug introduzido no 1.9 seja resolvido. Você pode desativá-los clicando no link "more" que está no texto de descrição da extensão Enigmail na página de complementos do Thunderbird.

Farelo
fonte
Eu acho que você quer dizer "eu não posso ajudar com 1 ou 2 , mas com o número 3 ".
Socob 29/02
1
@Bran: Observe que, depois de mudar as versões do Enigmail, você pode receber uma mensagem de erro sobre sua chave não ter sido encontrada ou estar "expirada", mesmo após reiniciar o Thunderbird. Na verdade, tive que reiniciar completamente o meu PC para contornar isso. Para melhor ou para pior, esta parece ser a única solução prática no momento. Em vez de quebrar o seu software, eles devem ter dado ao usuário a opção de escolher o que fazer (por exemplo, permitir a interação através do gnome chaveiro)
code_dredd
1
Mensagem real:Enigmail Key ... not found or not valid. The (sub-)key might have expired.
code_dredd
Bem, desde que um relatório de bug foi criado por um dos mantenedores logo após o lançamento, não parece ser uma alteração intencional. Estranhamente, o relatório de bug em questão foi apagado agora, embora ...
Socob
A abordagem do @thisthatother também funciona para o ubuntu, consulte packages.ubuntu.com/search?keywords=enigmail ... O Ubuntu fornece o enigmail como apckage com a versão 1.8.2 atualmente para todas as versões do ubuntu.
Matthias
5

Muito obrigado pela contribuição detalhada de todos sobre esta questão.

Eu tenho um problema semelhante desde que meu sistema foi atualizado para o Enigmail 1.9 em 25 de fevereiro. Corrigi o problema desinstalando o Enigmail 1.9 e passando para 1.8.

Para mim, isso foi fácil, porque eu uso o Debian 8 e simplesmente desinstalei o Enigmail como um complemento independente e o substitui pela versão do repositório principal do Debian, o Enigmail (que, segundo algumas pesquisas, é a versão 1.8.2 ). Dar de ombros. Não houve problemas desde essa mudança. Espero que seja útil para os outros e agradeço novamente por me colocar no caminho certo para resolver o problema.

essa
fonte
graças aos pôsteres anteriores pelas informações detalhadas que me ajudaram a descobrir uma solução para meu caso específico. i espero que funcione para os outros também
thisthatother
Achado interessante. No entanto, não estou usando o Debian e, embora uma solução específica do Debian possa funcionar para apenas alguns, é preferível ter uma solução mais geral.
code_dredd
1
Bem, isso deve funcionar em qualquer caso - seria necessário colocar as mãos em uma versão mais antiga do Enigmail (não acho que deva haver problemas de compatibilidade com arquivos .xpi).
Socob 29/02
Esta solução alternativa também corrige o problema para mim. Sem problemas desde então.
Matthias
2

Não é necessário fazer o downgrade do plug-in do enigmail:

  • Item da lista
  • Ubuntu 16.04
  • Thunderbird 45.2.0
  • Enigmail 1.9.5
  • gpg (GnuPG) 1.4.20

Em um terminal:

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

(--use-soquete padrão obsoleto)

Não há necessidade de reiniciar o Thunderbird.

0xFAb
fonte
Verdade. Eu havia declarado que não havia necessidade de fazer o downgrade como um comentário, mas atualizei a postagem para torná-la muito visível.
precisa saber é o seguinte
1

Eu tive o mesmo problema no sentido em que o Enigmail repentinamente lançou essa mensagem de erro em todas as operações depois de trabalhar por muitos meses. Desabilitar o componente GPG Password Agent do GNOME Keyring resolveu esse problema para mim - o Enigmail usa o “original” gpg-agentcom um programa de pinentry (em vez do prompt da senha do GNOME Keyring) e tudo funciona sem problemas.

Desativei o componente de senha do GNOME Keyring GPG usando o programa padrão “Startup Applications” do Ubuntu:

Desativando o GPG Password Agent (do GNOME Keyring) usando "Aplicativos de inicialização"

Você disse que tentou desativar o GNOME Keyring e que estava usando o GNOME Shell. Talvez isso não funcionou corretamente? Você pode tentar usar as mesmas etapas que eu tenho (Aplicativos de inicialização / Unity) e ver se isso muda alguma coisa.

Parece que esse problema foi causado por uma atualização recente do Enigmail (a versão 1.9 foi lançada em 23 de fevereiro de 2016), pois anteriormente, ele poderia ser usado com o GNOME Keyring sem gerar esse erro. O fato de desativar a chave do GNOME resolver o problema (e o tempo) sugere que o bug do Enigmail # 575 está relacionado.

Socob
fonte
Eu fui capaz de cavar um pouco mais sobre isso ontem. Eu achei que a ERROR hijackmensagem aparece no log. Eu tentei desabilitar a mesma opção que você já tinha lá, mas o problema é que, quando fiz isso, ele nunca consegue falar gpg-agentporque o pinentryprompt da frase secreta nunca aparece (ou seja, recebo uma mensagem de erro diferente antes a qualquer tentativa de comunicação com gpg-agent). Darei outra chance quando voltar amanhã ao trabalho.
code_dredd
O link bug Enigmail é quebrada ...
xuhdev
@xuhdev Sim, o bug foi removido logo após a criação. Eu não tenho nenhuma idéia do porquê.
27516 Socob