Как настроить gpg2 для запроса парольной фразы на консоли, а не во всплывающем окне?

1153
Lasse Vågsæther Karlsen

Я пытаюсь настроить Gpg4win, чтобы он не использовал всплывающее окно для запроса ключевой фразы. Я использую только gpg2 из командной строки, что означает, что всплывающее окно является раздражающим и разрушительным, поскольку оно отвлекает внимание от командной строки и не возвращает его впоследствии.

Это на Windows 10.

Я попытался редактировать файл gpg-agent.conf со следующим содержанием:

pinentry-program C:\...path-to\pinentry.exe 

В надежде, что файл pinentry.exe без конца -w32 или с аналогичным окончанием будет использоваться на консоли, но при попытке подписать тестовый файл он просто сидит там несколько секунд, а затем выдает:

$ gpg2 --sign test.md gpg: problem with the agent: No pinentry gpg: no default secret key: Operation cancelled gpg: signing failed: Operation cancelled 

Я попытался добавить кавычки вокруг пути и косой черты, поэтому я попробовал все следующее:

pinentry-program 'C:\...path-to\pinentry.exe' pinentry-program C:/...path-to/pinentry.exe pinentry-program file://C:/...path-to/pinentry.exe 

В моем файле gpg.conf параметр use-agent уже закомментирован, так как я нашел подсказку на разных сайтах, но я подозреваю, что это старая настройка для gpg (1), а не для gpg2.

Я попытался добавить no-use-agent в gpg.conf и получил это:

gpg: C:/.../gpg.conf:202: obsolete option "--no-use-agent" - it has no effect 

Так возможно ли это вообще?

В основном я хочу, чтобы эта команда:

gpg2 --sign test.md 

Должен запросить мой пароль в том же окне командной строки, прежде чем продолжить.

1
Это может быть самой большой причиной, по которой мне никогда не нравился gpg2, игнорируя --no-use-agent, я думаю, что он даже игнорировал `--passphrase = ...`, всегда открывающее окно ввода пароля. Это похоже на программу терминала, которая, кажется, активно ненавидит терминал. Вы сами пытались запустить pinentry.exe в терминале, убедиться, что он работает и путь указан правильно? В linux, когда я запускаю pinentry (из пакета pinentry-curses), он говорит: «Хорошо, ваши заказы, пожалуйста» и говорит мне: «ERR ... неизвестная команда» (я не знаю магические команды, которые он хочет, он не читается и не получается; -) Xen2050 7 лет назад 0
Да, программа pinentry запрашивает заказы, на консоли - да. Просто я не могу убедить gpg-agent использовать его. Lasse Vågsæther Karlsen 7 лет назад 0
Кажется, что-то смешное в том, что файл конфигурации не слушает или не находит программу pinentry, но я не знаю, как заставить windows & gpg4win «собрать его». Может быть, попытка '--pinentry-mode loopback' может сделать что-то другое? Xen2050 7 лет назад 0
@ Xen2050: Я полагаю, что для "--pinentry-mode loopback" требуется `allow-loopback-pinentry` в файле` gpg-agent.conf`. harrymc 5 лет назад 0
Попробуйте добавить в `gpg-agent.conf` команду` pinentry-tty`. harrymc 5 лет назад 0

0 ответов на вопрос