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

Я пытаюсь настроить 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 ответ

Я использовал Gpg4win v3.1.15, похоже, он использует каталог appdata в качестве домашнего каталога по умолчанию. Если ваш домашний каталог отличается, файл gpg.conf должен храниться там.

Создать файл, если он еще не существует%appdata%\gnupg\gpg.confс содержимым:

      pinentry-mode loopback

Если вы включите это, вы получите приглашение командной строки.

Кроме того, этот же параметр позволяет вам передавать PIN-код в качестве парольной фразы параметра командной строки, напримерgpg --passphrase 12345 --decrypt, что, конечно, небезопасно в зависимости от вашего варианта использования. Если вы занимаетесь программными задачами, это может быть удобно вместо ввода стандартного ввода.

Другие вопросы по тегам