KMail 1.12.0 + OpenPGP, «Bad passphrase»
Использую Ubuntu 9.10 + KDE 4. По некоторым причинам решил сменить почтовый клиент Thunderbird на KMail. Как только я установил новый клиент, как столкнулся с проблемой шифрования и подписывания писем с помощью OpenPGP. Каждый раз при подписывании или шифровании начала выскакивать ошибка «Bad passphrase», хотя никакой пароль от ключей меня никто не спрашивал.
Все, что я находил по этому поводу, заключалось в «установи gpg-agent» и «установи pinentry-qt». Все это было проинсталлировано, но результата не дало. Немного углубившись в багтрекер kde узнал, что баг уже давно известен. Решение проблемы нашлось тут же.
Для того, чтобы заставить gpg-agent корректно работать с KMail необходимо выполнить следующее:
- Установить в систему пакеты pinentry-qt и gnupg-agent если они еще не установлены.
- Создать исполняемый файл в директории ~/.kde/env (у меня это ~/.kde/env/gpg-agent.sh) со следущей строкой:
eval $(gpg-agent --daemon --pinentry-program /usr/bin/pinentry-qt)
- В директорию ~/.kde/shutdown добавить исполняемый файл (например ~/.kde/shutdown/gpg-agent.sh) со следующим содержанием:
!/bin/sh # the second field of the GPG_AGENT_INFO variable is the # process ID of the gpg-agent active in the current session # so we'll just kill that, rather than all of them [ -n "${GPG_AGENT_INFO}" ] && kill $(echo "${GPG_AGENT_INFO}" | cut -d ':' -f 2)
После логаута у меня все заработало. Теперь при подписывании или шифровании письма выскакивает окно с просьбой ввести пароль от ключа.