Как настроить gpg2 так, чтобы он запрашивал парольную фразу на консоли, а не во всплывающем окне?

Как настроить 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

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

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

Связанный контент