¿Cómo configurar gpg2 para solicitar una frase de contraseña en la consola en lugar de en una ventana emergente?

¿Cómo configurar gpg2 para solicitar una frase de contraseña en la consola en lugar de en una ventana emergente?

Estoy intentando configurar Gpg4win para que no use la ventana emergente para solicitar una frase de contraseña. Isolouse gpg2 desde el símbolo del sistema, lo que significa que la ventana emergente es molesta y perturbadora ya que desvía el foco del símbolo del sistema y no lo devuelve después.

Esto es en Windows 10.

Intenté editar el archivo gpg-agent.conf con el siguiente contenido:

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

Con la esperanza de que pinentry.exe sin terminación -w32 o similar sea el que se usará en la consola, pero al intentar firmar un archivo de prueba simplemente permanece allí durante unos segundos y luego genera:

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

Intenté agregar comillas alrededor de la ruta y barras diagonales, así que intenté todo lo siguiente:

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

En mi archivo gpg.conf, la configuración use-agent ya está comentada, ya que encontré un consejo en varios sitios web, pero sospecho que esta es una configuración anterior para gpg (1) y no para gpg2.

Intenté agregar no-use-agent a gpg.conf y obtuve esto:

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

Entonces, ¿es esto posible?

Básicamente lo que quiero es que este comando:

gpg2 --sign test.md

Debería solicitar mi contraseña en la misma ventana del símbolo del sistema antes de continuar.

Respuesta1

Usé Gpg4win v3.1.15, parece usar el directorio appdata como directorio de inicio predeterminado. Si su directorio de inicio es diferente, gpg.conf debe almacenarse allí.

Cree un archivo si aún no existe %appdata%\gnupg\gpg.confcon el contenido:

pinentry-mode loopback

Si habilita eso, obtendrá una línea de comando.

Además, esta misma configuración le permite pasar el pin como frase de contraseña de opción de línea de comando, por ejemplo gpg --passphrase 12345 --decrypt, lo cual, por supuesto, no es seguro según su caso de uso. Si está haciendo cosas programáticas, puede resultar útil en lugar de escribir la entrada estándar.

información relacionada