O Enigmail não está pedindo a frase-senha pgp, mas dizendo que não há chave disponível

8

descriptografar e-mails com enigmail no thunderbird não funciona mais. É porque eu não tenho a chance de digitar minha frase-senha, um formulário que me pede para fazê-lo costumava aparecer, agora não é e estou recebendo esta mensagem:

Error - no matching private/secret key found to decrypt message; click on 'Details' button for more information

A chave privada está disponível, desde

gpg -d Desktop/mail.eml     

faz o formulário aparecer. Depois de preencher minha senha, posso ler o correio descriptografado no terminal.

Outra dica para um problema com as senhas apareceu quando criei novas chaves hoje. Não consegui criar um certificado de revogação porque não havia conjunto de frase-senha. O que, novamente, não é verdade.

Eu notei o problema pela primeira vez na segunda-feira, 31 de agosto.

Eu verifiquei um pouco a internet e fiz o seguinte:

  1. Certifique-se de que uma instância de gpg-agent esteja em execução:

    gpg-agent -v
    

    retorna

    gpg-agent: gpg-agent running and available
    

    Conteúdo do .gnupg / gpg-agent.conf:

    default-cache-ttl 0
    max-cache-ttl 0

  2. Vá para dconf Editor desktop->gnome->crypto->cache e defina gpg-cache-ttl para 0

  3. Thunderbird Enigmail->Clear Saved Passphrases informa um alerta do Enigmail:

    You are using gpg-agent for passphrase handling. Clearing the passphrase is therefore not possible from within Enigmail.

    Thunderbird Enigmail->Preferences->Basic Remember passphrase for 0 minutes of idle time

  4. Faça gpg-agent esquecer minha senha:

    pkill -SIGHUP gpg-agent
    
  5. Seahorse->GnuPG keys exclua todas as chaves e reimporte-as

Nenhuma dessas listas fez diferença no problema. Gostaria de saber como faço o Enigmail pedir minha senha novamente?

Obrigado antecipadamente!
Bronk

Editar

  1. A remoção de /etc/xdg/autostart/gnome-keyring-gpg.desktop não fez nada.
  2. A remoção de seahorse não fez nada.
  3. Usando decrypt-file :

    Couldn't decrypt file: mail.eml.pgp
    Bad passphrase
    
por Bronk 06.09.2015 / 14:38

7 respostas

7

Tente isto: link No meu caso, eu preciso instalar uma versão gráfica de pinentry (pacote pinentry-qt4).

"Resolvendo problemas com o GnuPG 2.xe com o gpg-agent

Observação O GnuPG 2.x requer um "agente" para manipular as senhas. Por padrão, isso é feito pelo gpg-agent, mas existem outras ferramentas implementando um subconjunto de sua funcionalidade. Estas instruções são apenas para o agente gpg. Se você usa um agente como o gnome-keyring, seahorse-agent ou o KDE Wallet Manager, essas instruções não se aplicam. Problema mais comum

Sintomas

O problema mais comum é que o gpg-agent (uma parte do GnuPG) não pode lançar o pinentry (a ferramenta usada para consultar sua senha). O Enigmail exibia mensagens como:

when reading messages:
Error - no matching private/secret key found to decrypt message; click on 'Details' button for more information

when sending messages:
- Send operation aborted. Error - encryption command failed
- Send operation aborted. Key 0x....... not found or not valid. The (sub-)key might have expired

Como analisar

Try sending a signed and unencrypted message to yourself.
Check the output in the Enimgail log: go to menu Enigmail > Debugging Options > View Log.
Search for the following text: parseErrorOutput: status message. You will probably find this message several times. Check what follows below.
If the message says something like "no pinentry", "problem with the agent", "Invalid IPC response" or "problem with gpg-agent", then there is something wrong with your gpg-agent and/or pinentry setup.

Como corrigir isso

Execute the following script from a terminal to find out if a graphical version of pinentry is used:

pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT

You should get a graphical window with a confirmation message "Hello World". If a "window" is opened within your terminal window then pinentry is text-based, which does not work with Enigmail. To fix this, ensure that a graphical version of pinentry is installed. On Linux/Unix systems, these would typically be pinentry-qt/pinentry-qt4 or pinentry-gtk/pinentry-gtk2, and on Mac OS X pinentry-mac. Rename the existing pinentry file to "pinentry-text" or similar, and create a symlink from pinentry-qt, pinentry-qt4, pinentry-gtk, pinentry-gtk2 or pinentry-mac to pinentry. Then restart your PC.

If the above does not help, check the contents of $HOME/.gnupg/gpg-agent.conf. Make sure that there is a configuration entry pinentry-program containing the full path to a graphical version of pinentry as above. E.g.:

pinentry-program /usr/local/bin/pinentry-gtk

Then save the file and restart your PC.

If you still can't access your key, then execute the following script from a terminal:

gpg-connect-agent <<EOT
GETINFO version
EOT

The output should be something like the text below, where 2.0.26 represents the agent version number. The version number should match your gpg version number:

D 2.0.26
OK

If you get an error message like "ERR 280 not implemented" then you don't use gpg-agent, but one of the alternatives like gnome-keyring. We recommend you switch to gpg-agent by disabling your current agent. See e.g. askubuntu for how to disable gnome-keyring or how to disable KDE wallet.

If you get a useful result from above, then execute the following script from a terminal:

gpg-connect-agent <<EOT
GET_CONFIRMATION Hello
EOT

Pinentry should now open as a graphical window (just like above), with the difference to the step above that this instance of pinentry was launched from gpg-agent. If this is successful, then GnuPG 2 should work correctly in Enigmail.

If gpg-agent still cannot launch pinentry from Enigmail, then you need to start debugging gpg-agent. Execute the following commands from a terminal:

killall gpg-agent
gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh

This will start gpg-agent from the command line, open a new shell and print the debug output to that shell. If the command succeeded, you will see somehting like:
gpg-agent[76979]: gpg-agent 2.0.26 started
Leave the terminal window untouched, start Thunderbird and try to use Enigmail. As you'll try to access gpg-agent, you will see the output in your terminal window. If gpg-agent cannot start pinentry successfully, you will see something like this:

gpg-agent[76993]: starting a new PIN Entry
gpg-agent[76993]: chan_19 <- ERR 67109133 can't exec '/usr/bin/pinentry': No such file or directory
gpg-agent[76993]: chan_19 -> BYE
gpg-agent[76993]: can't connect to the PIN entry module: IPC connect call failed
gpg-agent[76993]: command get_passphrase failed: No pinentry

Press Ctrl+D in the terminal to end the debugging session. The bold line should tell you the reason for the error (in the example above, pinentry cannot be found). Try to fix the error and repeat the test."
    
por user462453 18.10.2015 / 16:09
1

Eu tive o mesmo problema, mas achei que matar o gpg-agent era uma tarefa.

(A partir do código-fonte descobri que você pode habilitar o logging do enigmail editando o arquivo "defaults / preferences / enigmail.js" em algum lugar em ~ / .thunderbird, configurando a propriedade "extensions.enigmail.logDirectory" para "/ tmp ". O arquivo de log" /tmp/enigdbug.txt "então mostrou o comando gpg completo que o enigmail estava rodando, terminando com" --use-agent ". Eu executei o comando gpg a partir da linha de comando, alimentando-o com um e-mail criptografado Ele reclamou com a mensagem de erro "gpg: problema com o agente: No PINentry" .Ganhar para essa mensagem de erro apareceu a sugestão para matar o gpg-agent.Enquanto isso, a NSA esfrega as mãos de alegria que a experiência do usuário de A criptografia PKI é tão ruim.)

    
por Graeme 09.09.2015 / 02:36
1

Eu tive um problema semelhante. O Thunderbird estava pedindo uma e outra vez para colocar a senha da minha chave e o chaveiro do Gnome não se lembraria, embora eu tenha pedido. O problema era que gpg-agent não estava sendo executado na minha sessão. O problema desapareceu quando eu iniciei manualmente na sessão atual com:

gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh

Para resolver o problema permanentemente, você deve assegurar que o agente está sendo executado em sua sessão: 1. Verifique se você tem o seguinte arquivo /etc/X11/Xsession.d/90gpg-agent . O meu parece assim:

  : ${GNUPGHOME=$HOME/.gnupg}

  GPGAGENT=/usr/bin/gpg-agent
  PID_FILE="$GNUPGHOME/gpg-agent-info-$(hostname)"

  if grep -qs '^[[:space:]]*use-agent' "$GNUPGHOME/gpg.conf" "$GNUPGHOME/options" &&
     test -x $GPGAGENT &&
     { test -z "$GPG_AGENT_INFO" || ! $GPGAGENT 2>/dev/null; }; then

     if [ -r "$PID_FILE" ]; then
         . "$PID_FILE"
     fi

     # Invoking gpg-agent with no arguments exits successfully if the agent
     # is already running as pointed by $GPG_AGENT_INFO
     if ! $GPGAGENT 2>/dev/null; then
         STARTUP="$GPGAGENT --daemon --sh --write-env-file=$PID_FILE $STARTUP"
     fi
  fi
  1. Verifique se você tem o arquivo ~/.gnupg/gpg.conf , com pelo menos a seguinte linha:

    use-agent
    

Se não, você pode adicioná-lo com o seguinte comando:

echo "use-agent" >>  ~/.gnupg/gpg.conf 
    
por user5950 09.04.2016 / 23:54
0

Obteve o mesmo erro de erro sobre pinagem. No final, descobri que o agente-gpg estava usando a pinagem errada. Resolvi isso definindo a pinagem correta editando ~ / .gnupg / gpg-agent.conf e adicionando a seguinte linha

pinentry-program /usr/bin/pinentry-gtk-2

O padrão para o sistema em que estou trabalhando foi o pinentry-x11 (é uma instalação de toda a empresa que permite uma variedade de gerenciadores de janelas), o que não funcionou para o gnome3. - Então, é preciso ter certeza de que o agente-gpg está usando a pinagem correta para o gerenciador de janelas real em uso.

    
por Carsten König 16.03.2016 / 15:55
0

No meu caso, eu não tinha nenhuma ferramenta pinentry , exceto pinentry-curses (linha de comando com suporte a ponteiro). Então, no Fedora, instale qualquer um desses diálogos de entrada com senha / senha:

  • pinentry-qt.x86_64 com base no Qt4;
  • pinentry-gtk.x86_64 com base no GTK +;
  • pinentry-emacs.x86_64 para o emacs;
  • pinentry-gnome3.x86_64 para o GNOME 3.

Eu usei o pacote GNOME 3 pinentry .

    
por David 10.10.2016 / 18:24
0

No thunderbird, selecione a mensagem, clique no hambúrguer, expanda o menu Enigmail e selecione descriptografar / verificar. Você receberá um prompt de senha após o qual a mensagem será descriptografada.

    
por Diederick 11.07.2017 / 14:22
0

Eu tive um problema semelhante! Após o debug gpg-agent feito com:

gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh

Descobri que algo foi quebrado entre enigmail e gpg e nunca pedi uma senha. Mas no caso da frase-senha foi pré-carregado tudo funcionou perfeitamente.

No meu caso o problema é que, no passado, forcei a opção follow no ~ / .gnupg / gpg.conf

pinentry-mode loopback

Isso quebrou o processo. Você pode verificar o comando que o enigmail está executando, ativando o modo expert no Enigmail e, em seguida, em "Opções de depuração - > Exibir console"

Comentou e tudo funcionou.

    
por Alex 20.03.2018 / 10:39