
Estou tentando configurar o Gpg4win para não usar a janela pop-up para solicitar uma senha. EUapenasuse gpg2 no prompt de comando, o que significa que a janela pop-up é irritante e perturbadora, pois tira o foco do prompt de comando e não o devolve depois.
Isso está no Windows 10.
Tentei editar o arquivo gpg-agent.conf com o seguinte conteúdo:
pinentry-program C:\...path-to\pinentry.exe
Na esperança de que o pinentry.exe sem -w32 ou final semelhante seja aquele que será usado no console, mas ao tentar assinar um arquivo de teste, ele fica lá por alguns segundos e depois exibe:
$ gpg2 --sign test.md
gpg: problem with the agent: No pinentry
gpg: no default secret key: Operation cancelled
gpg: signing failed: Operation cancelled
Tentei adicionar aspas ao redor do caminho e barras, então tentei todos os seguintes:
pinentry-program 'C:\...path-to\pinentry.exe'
pinentry-program C:/...path-to/pinentry.exe
pinentry-program file://C:/...path-to/pinentry.exe
No meu arquivo gpg.conf a configuração use-agent já está comentada, pois encontrei uma dica em vários sites sobre mas suspeito que esta seja uma configuração mais antiga para gpg (1) e não para gpg2.
Tentei adicionar no-use-agent ao gpg.conf e consegui o seguinte:
gpg: C:/.../gpg.conf:202: obsolete option "--no-use-agent" - it has no effect
Então isso é possível?
Basicamente o que eu quero é que este comando:
gpg2 --sign test.md
Devo solicitar minha senha na mesma janela do prompt de comando antes de continuar.
Responder1
Usei Gpg4win v3.1.15, parece usar o diretório appdata como diretório inicial padrão. Se o seu diretório inicial for diferente, o gpg.conf deverá ser armazenado lá.
Crie um arquivo se ele ainda não existir %appdata%\gnupg\gpg.conf
com conteúdo:
pinentry-mode loopback
Se você ativar isso, receberá um prompt de linha de comando.
Além disso, essa mesma configuração permite que você passe o pino como senha de opção de linha de comando, por exemplo gpg --passphrase 12345 --decrypt
, o que obviamente não é seguro dependendo do seu caso de uso. Se você estiver fazendo coisas programáticas, pode ser útil em vez de digitar a entrada padrão.