Enigmail не може спілкуватися з gpg-агентом


10

Оновлення

Станом на Ubuntu 16.04, плагін працює так, як очікувалося, і немає потреби в пониженні рівня, як пропонується у прийнятій відповіді. Питання стосувалося Ubuntu 15.04 і, можливо , 15.10.


Оригінальна публікація

Я використовую Thunderbird + Enigmail роками. Наразі я використовую Thunderbird 38.5.1, Enigmail версії 1.9 (20160223-1641) та GPG 2.0.26 у своєму робочому ПК (Ubuntu 15.04 64-розрядний, з Gnome Shell).

Кілька днів тому, після 1 року роботи, Enigmail раптом почав скаржитися на таку помилку, коли я намагався надіслати підписаний чи зашифрований електронний лист:

GnuPG повідомив про помилку в спілкуванні з gpg-агентом (компонентом GnuPG).

Це помилка налаштування або конфігурації системи, яка заважає Enigmail працювати належним чином і не може бути виправлена ​​автоматично.

Ми настійно рекомендуємо звернутися до нашого веб-сайту підтримки за адресою https://enigmail.net/faq .

Я переглянув сторінку поширених запитань і спробував кілька речей, але ще не зміг виправити проблему.

pinentryКоманда працює відмінно, і показує pinentry-qt4вікно (тобто не на основі тексту):

pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT

Однак gpg-agent-connectкоманда не вдається:

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

Я намагався вимкнути ключовий ключ gnome, як було запропоновано, але це також не працює. (Так, я перезавантажував систему між ними, але я також хочу підтримувати введення ключа, як завжди.) Я також намагався експортувати та повторно імпортувати свої настройки Enigmail (тобто перейменувати $HOME/.gnupg/тим часом на щось інше), але це зробило теж не працюють.

Як не дивно, коли я запускаю gpg-agentвручну з оболонки, а потім запускаю Thunderbird, здається , він спілкується з gpg-agent, як показано нижче:

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

Я не бачу жодного результату, якщо намагаюся надіслати підписаний та / або зашифрований електронний лист. Це відображається лише при запуску програми Thunderbird.

Крім того, я додав /usr/bin/gpg-agent --daemonкоманду як додаток для запуску на панелі програм Gnome Startup Applications, але це не мало значення.

Я думаю, що я застосував регулярне оновлення близько 2/23, але проблема не стала видимою, поки система не була перезапущена 2/24 цього тижня. На жаль, я не пам'ятаю, які пакунки оновлювались, але їх було не так багато. (Я зазвичай постійно оновлюю систему.)

Зверніть увагу, що це питання працювало без жодних років або приблизно до 2 днів тому. (Я також використовував цю установку на домашньому настільному ПК для 4yrs + без проблем, але мій робочий ПК - це ноутбук, а Ubuntu іноді невідомо працює з невідомих причин ...)

Коли я намагаюся відкрити зашифровані електронні листи, які я отримав (або зберегли чернетки, які також зашифровані), я отримую те саме повідомлення про помилку gpg-agent, але воно розшифровує повідомлення електронної пошти після того, як попросив мене пройти мій ключ приватного ключа.

Питання: Як я можу вирішити цю помилку зв’язку, яка не дозволяє мені надсилати підписані / зашифровані електронні листи?

Щоб вважати проблему виправленою, ситуацію потрібно повернути до нормальної роботи без повідомлень про помилки тощо.

Заздалегідь дякую за будь-яку допомогу, яку ви можете надати, щоб допомогти виправити цю проблему.


Поки я писав це повідомлення, я помітив таке повідомлення від gpg-agentдемона в терміналі:

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

Це з’явилось несподівано, оскільки я тим часом не просив Thunderbird робити щось, зокрема.


Я оновлювався з 15.04 -> 15.10 -> 16.04 і можу підтвердити, що Thunderbird 38.6 + Enigmail 1.9.1 працює нормально для мене. Вихід команд також є таким, яким вони повинні бути:

➜  ~ 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

Можливо, пов'язане: sourceforge.net/p/enigmail/bugs/575
Socob

@Socob: Де ви перевірите, чи ERROR check_hijackсправді випромінюється? Поширені запитання видаються застарілими, і я не впевнений, де більше немає можливості переглянути журнал налагодження Enigmail.
code_dredd

На жаль, я не впевнений, я щойно перевірив помилку Enigmail і побачив цю проблему на самій вершині, яка здається, що це може призвести до цієї проблеми. У стороні у мене така ж проблема, що і у вас (Enigmail, даючи це повідомлення про помилку, працюючи без проблем дуже довго). Я спробую розібратися в тому, щоб позбутися цього, коли матиму час.
Сокоб

@Socob: Звучить добре. Це не перший раз, коли я мав цю проблему. Перший раз, коли я зіткнувся з цією проблемою, дата заміни мого ПК була досить близькою, тому я проігнорував її, витративши кілька годин на спробу виправити. Цього разу я не можу ігнорувати це, і я знову провів кілька годин. Я буду намагатися час від часу намагатися. Сподіваюся, вам пощастить більше, ніж я.
code_dredd

1
Тут же проблема. Enigmail > Debugging Options > View Logрозкриває WARNING: The GNOME keyring manager hijacked the GnuPG agent. Тож я майже впевнений, що GnomeKeyring пов'язаний. echo | gpg2 --signрозкриває проблему на CLI. На жаль, відключення gnome-keyring (як єдине вирішення) не є для мене варіантом.
meisterluk

Відповіді:


5

Хоча відповідь цього лише показує, як вирішити це в системі Debian, підхід той самий:

Пониження рівня.

Оскільки Enigmail випустила версію 1.9 23 лютого, а проблеми почалися з цього дня, єдині три рішення:

  1. Зачекайте, поки Enigmail розбере речі та встановить їх оновлення до 1.9.x та перестане використовувати шифрування, поки вони не нададуть оновлення
  2. Копайтесь та вирішіть проблему самостійно (що не кожен здатний зробити завдяки обмеженим знанням базової архітектури програмного забезпечення)
  3. Оновіть версію до 1.8.2, тоді зачекайте, коли Enigmail розібрає речі та оновить до 1.9.x, який вирішує помилку, що сталася з 1.9.

Я не можу допомогти з 1 або 2, але з номером 3:

  • Завантажте Enigmail 1.8.2 , найновішу версію до 1.9, яка не ввела помилку
  • Видаліть Enigmail 1.9 через меню додатків Thunderbird
  • З цього самого меню вручну встановіть завантажений файл 1.8.2, натиснувши кнопку налаштування додатків у верхній частині сторінки додатків Thunderbird, зліва від поля введення тексту пошуку.
  • Перезапустіть Thunderbird

Тепер він повинен працювати як до оновлення до Enigmail 1.9.

Я б запропонував вимкнути автоматичні оновлення для Enigmail, поки ця помилка, введена в 1.9, не буде розроблена. Ви можете відключити їх, натиснувши посилання "ще", що знаходиться в тексті опису розширення Enigmail на сторінці додатків Thunderbird.


Я думаю, ти маєш на увазі "я не можу допомогти з 1 або 2 , але з числом 3 ".
Сокоб

1
@Bran: Зауважте, що після перемикання версій Enigmail ви можете отримати повідомлення про помилку про те, що ваш ключ не знайдений або "минув термін дії", навіть після перезапуску програми Thunderbird. Мені довелося повністю перезапустити свій ПК, щоб обійти це. На краще чи гірше, це здається єдиним практичним рішенням на даний момент. Замість того, щоб зламати їх програмне забезпечення, вони повинні були дати користувачеві можливість вибирати, що робити (наприклад, дозволити взаємодію через
ключі

1
Фактичне повідомлення:Enigmail Key ... not found or not valid. The (sub-)key might have expired.
code_dredd

Отже, оскільки звіт про помилку був створений одним із підтримуючих про це дуже скоро після виходу, це, здається, не є навмисною зміною. Як не дивно, зараз звіт про помилки видалений, хоча ...
Socob

Підхід @thisthatother робіт для Убунту теж см packages.ubuntu.com/search?keywords=enigmail ... Ubuntu надає Enigmail як apckage з версією 1.8.2 в даний час для всіх версій Ubuntu.
Маттіас

5

Велике спасибі за детальний вклад у цю проблему для всіх.

У мене є аналогічна проблема, оскільки мою систему оновлено до Enigmail 1.9 25 лютого. Я усунув проблему, видаливши Enigmail 1.9 та перейшовши на 1.8.

Для мене це було просто, оскільки я використовую Debian 8 і я просто видалив Enigmail як окремий аддон і замінив його на основне репортаж Debian Enigmail (що, як показують деякі дослідження, має бути версією 1.8.2 ). Потиснути плечима. З тих змін не виникло жодних проблем. Я сподіваюся, що це корисно для інших і ще раз дякую за те, що ви поставили мене на правильний шлях вирішення проблеми.


завдяки попереднім плакатам за детальну інформацію, яка допомогла мені розібратися у вирішенні мого конкретного випадку. Я сподіваюсь, що це вийде і для інших
вдруге

Цікава знахідка. Однак я не використовую Debian, і хоча специфічне для Debian рішення може працювати лише для кількох, краще більш загальне рішення.
code_dredd

1
Ну, це має спрацювати у будь-якому випадку - потрібно просто перейти на старішу версію Enigmail (я не думаю, що проблем із сумісністю файлів .xpi не повинно бути).
Сокоб

Цей спосіб вирішує цю проблему і для мене. З тих пір жодних проблем.
Маттіас

2

Не потрібно поновлювати плагін enigmail:

  • Елемент списку
  • Ubuntu 16.04
  • Thunderbird 45.2.0
  • Enigmail 1.9.5
  • gpg (GnuPG) 1.4.20

У терміналі:

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

(- use-standard-socket є застарілим)

Не потрібно перезапускати Thunderbird.


Правда. Я заявив, що немає потреби в пониженні версії коментаря, але я оновив публікацію, щоб зробити її дуже помітною.
code_dredd

1

У мене була така ж проблема в тому сенсі, що Enigmail раптом кинув це повідомлення про помилку на кожній операції після того, як працював протягом багатьох місяців. Вимкнення компонента агента GPG Password Agent GNOME Keyring вирішило цю проблему для мене - Enigmail потім використовує «оригінал» gpg-agentіз програмною програмою (замість запиту пропускної фрази GNOME Keyring) і все працює без проблем.

Я відключив компонент пароля GNOME Keyring GPG за допомогою програми Ubuntu "Запуск програм" за замовчуванням:

Вимкнення агента паролів GPG (від брелока GNOME) за допомогою "Запуск програм"

Ви сказали, що ви намагалися відключити GNOME Keyring і використовуєте Shell GNOME. Можливо, це спрацювало неправильно? Ви можете спробувати скористатися тими ж кроками, що й у мене (Startup Applications / Unity), і побачити, чи щось змінить.

Схоже, що ця проблема була викликана нещодавним оновленням в Enigmail (версія 1.9 була випущена 23 лютого 2016 року), оскільки раніше її можна було використовувати з GNOME Keyring, не генеруючи цю помилку. Той факт, що відключення GNOME Keyring вирішує проблему (та терміни), говорить про те, що помилка Enigmail № 575 пов'язана.


Я вчора змогла трохи більше розібратися в цьому. Я виявив, що ERROR hijackповідомлення відображається в журналі. Я намагався вимкнути той самий варіант, який ви там уже мали, але проблема полягає в тому, що коли я це зробив, то з ним ніколи не заговорюється, gpg-agentоскільки pinentryпідказка про фразу ніколи не з’являється (тобто я отримую інше повідомлення про помилку раніше до будь-якої спроби спілкування з gpg-agent). Я піду ще раз, коли завтра повернусь до роботи.
code_dredd

Посилання помилки
Enigmail

@xuhdev Так, помилка була видалена незабаром після створення. Я поняття навіть не маю, чому.
Сокоб
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.