проблемы с запуском GPG (кодировка, pinentry) – [решено]
Доброго времени суток! Извините за банальщину. Пользовался PGP Desktop, решил приобщиться к GPG. Скачал и установил gpg4win 2.0.4 но тутже столкнулся со следующим:
1. После интеграции GpgOL в MS Outlook 2003 перестали отправляться сообщения. Открывается окно создания сообщения, вводим текст, все как всегда... нажимаем "отправить" – ничего не происходит. Окно создания сообщения не закрывается, сообщение не отправляется. Ситуацию исправляет выполнение команды "Сервис->remove GpgOL flags from this folder".
2. При попытке запустить gpg2 из консоли на экран валятся нечитаемые символы. Если бы это была программа на кирилице, я бы подумал что проблема с кодировкой. Запускаю из Command prompt в WinXP SP2
3. Не удается создать новую пару OpenPGP ключей. пытаюсь из фронтэндов Kleopatra и GPA, результат один: после начала генерации ключевой пары выдается сообщение об ошибке "General error". Всплывает окно "pinentry.exe обнаружена ошибка. приложение будет закрыто. давайте отправим отчет"... давайте не будем.
Еще раз извиняюсь за "детский сад", буду признателен за помощь.
По сумме факторов, Вам лучше оставаться на PGP Desktop.
Это провоцирует на то чтобы разобраться наверняка. Спасибо.
пуск -> run command -> cmd -> gpg --gen-key?
Вот именно поэтому настоятельно не рекомендовалось ставить gpg2 на винду, а также ставить софт, который жёстко завязан на gpg2 — гемороя не оберётесь. Собственно, что вас в gpg 1.4.10 не устраивает? Кажется, для gpg2 в нагрузку надо было ставить ещё какой-то софт, чтобы оно заработало (SATtva бы точнее сказал).
Запускаю из Command prompt – это так:
'Пуск'->'Выполнить'->cmd
да собственно я просто скачал последнюю доступную версию... и именно дистрибутив с проекта gpg4win, т.е. именно для винды. Какой смысл садиться на старую версию? или это две ветки которые будут параллельно поддерживаться и развиваться?
Да.
Выглядит как русская локализация в юникоде.
на сайте www.gpg4win.org никаких слов про взаимоотношения версий 2.х и 1.4.10 не нашел. Где можно что-то почитать?
Да, выглядит так. но она же не может быть на кирилице...
В смысле? А каким ещё алфавитом может быть выполнена локализация на русском языке? Не транслитом же :)
да, sentaus, Вы правы. Вот результат обработки "битого" вывода gpg2 товарищем Штирлицем IV:
Не мог как-то предположить что gpg2 локализована на русский язык. "Кляча" – это не моя опечатка :) А нельзя отказаться от благ локализации и пользоваться английским? это где-то в конфиг-файлах прописывается, не подскажите?
В доке есть такое:
Т.е. надо либо установить переменную LANGUAGE в значение, соответствующее файлику для английского языка из директории gnupg.nls (например en@quot для использования en@quot.mo), либо сделать это же в реестре (а вот где именно – уже хороший вопрос)
как сменить LANGUAGE понять не удалось. Простое добавление системной переменной set LANGUAGE=en результата не дает. однако чтобы читать локализованный вывод gpg2 в WinXP, оказывается, нужно установить кодовую страницу 1251: chcp 1251.
Далее при попытке сгенерировать новую ключевую пару имеем аналогичную проблему с "вылетанием" pinentry.exe, как и при пользовании фронт-эндами:
не ясно, что такое IPC и какой там случается error...
Прямо даже интересно стало, скачал посмотреть.
В общем диагноз следующий:
1) файл pinentry.exe скорее всего битый. Вместо него можно использовать, например, pinentry-qt4.exe. Можно добавить в файл $HOME/AppData/Roaming/gpg-agent.conf строчку pinentry-program=путь к pinentry-qt4.exe, тогда всё должно заработать. Ну или удалить pinentry.exe, а pinentry-qt4.exe переименовать в pinentry.exe
2) Не нужно пользоваться gpg2 из консоли – она требует кучу других процессов, которые придётся в этом случае запускать ручками(в фронтэндах это автоматизировано).
3) Что такое IPC в образовательных целях всегда можно найти в гугле :), но в данном случае это неважно.
круто, спасибо, сейчас попробую повторить. Наверное нужно отправить багрепорт на GnuPG, как думаете?
Команде GPG4Win – безусловно, а сам GnuPG скорее всего ни при чём, это явно косяк сборки.
Знаете, файла $HOME/AppData/Roaming/gpg-agent.conf у меня почему-то нет. Поэтому я пошел по второму указанному Вами пути: переименовал pinentry-qt4.exe в pinentry.exe. После этого процесс согдания ключа удалось довести до конца. Аллилуйа!
Кстати, обратите внимание – при вводе пассфразы индикатор качества дает 100% стойкости такой комбинации: 123123123123.
Это я ошибся, директорию gnupg не скопировал, должно быть: $HOME/AppData/Roaming/gnupg/gpg-agent.conf
В этой же директории также лежат все ключи. Если файлика нет, то его создать надо.
InterProcess Communication (взаимодействие между процессами). Считается, что gpg не достаточно секурен при вводе пассфразы на ключ, и потому сей функционал решили вынести в отдельный модуль, типа того же pinetry (опять же, не ясно — не секурен с т.зр. гуйни, или и в консоли не секурен). Ессно, такой жосткий надруг порушил кучу компатибилити и привёл к массе эпик-фейл-багов.
Не стоит надеяться на автоматические проверяльщики качества энтропии/случайности — у нас это уже много раз обсуждалось в куче веток, в т.ч. вызывая эпические криптосрачи[link1].
На pgpru: см. /comment40335[link2] и /comment40352[link3].
[offtop]
Никогда не понимал людей, которые не боятся конфиг-файлов, но при этом продолжают пользоваться виндой.
[/offtop]
Суммируем. Проблема с кодировкой решилaась командой chcp 1251. проблема с "падением" pinentry.exe при попытке создать новую ключевую пару в gpg2 решилась установкой gpg 1.4.10 и написанием баг-репорта команде gpg4win. Альтернативно, сохраняя gpg2, можно заменить файл pinentry.exe на pinentry-qt4.exe (© Sentaus).
Это был нулевой уровень игры, переходим на 0,5-ый :) Большое всем спасибо за помощь, кажется тема исчерпана.
Доброго времени суток!
Недавно начал пользоваться gpg4win. Версия файла с оф.сайта gpg4win-2.0.4.exe. Все работает хорошо. Только вот недавно решил сменить пароль на имеющуюся у меня пару ключей (change the passphrase) в прилагающейся утилите Cleopatra. После ввода пароля выходит ошибка: An error occurred while trying to change the passphrase. The output from C:\Program Files\GNU\GnuPG\gpg2.exe was: gpg: AllowSetForegroundWindow(2896) failed: Отказано в доступе. gpg: проблема с агентом: IPC read error. Не подскажите люди знающие в чем дело? Почему выскакивает такая ошибка?
Сорри, решил заменой файлов.
Прошу прошения за флуд. :)
столкнулась с идентичной проблемой, переименование pinentry-qt4.exe помогло! спасибо :D
Как вариант решения проблемы нечитаемой в консоли локализации – удалить/переименовать каталог GnuPG\share\locale\ru, тогда все сообщения будут на нормальном английском