Wie kann man gpg2 so konfigurieren, dass die Passphrase in der Konsole und nicht in einem Popup-Fenster abgefragt wird?

1220
Lasse Vågsæther Karlsen

Ich versuche, Gpg4win so zu konfigurieren, dass das Popup-Fenster nicht zur Eingabe einer Passphrase verwendet wird. Ich verwende nur gpg2 von der Eingabeaufforderung aus, was bedeutet, dass das Popup-Fenster sowohl störend als auch störend ist, da es den Fokus von der Eingabeaufforderung wegnimmt und es danach nicht zurückgibt.

Dies ist unter Windows 10.

Ich habe versucht, die Datei gpg-agent.conf mit folgendem Inhalt zu bearbeiten:

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

In der Hoffnung, dass die Datei pinentry.exe mit -w32 oder einer ähnlichen Endung diejenige ist, die auf der Konsole verwendet wird. Wenn Sie jedoch versuchen, eine Testdatei zu signieren, wird sie nur einige Sekunden dort gespeichert und dann ausgegeben:

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

Ich habe versucht, Anführungszeichen um den Pfad und vorwärts gerichtete Schrägstriche hinzuzufügen, also habe ich Folgendes versucht:

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

In meiner gpg.conf-Datei ist die Einstellung use-agent bereits auskommentiert, da ich auf verschiedenen Websites einen Tipp gefunden habe. Ich vermute jedoch, dass dies eine ältere Einstellung für gpg (1) und nicht für gpg2 ist.

Ich habe versucht, No-Use-Agent stattdessen zur gpg.conf hinzuzufügen und bekam folgendes:

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

Ist das überhaupt möglich?

Grundsätzlich möchte ich, dass dieser Befehl:

gpg2 --sign test.md 

Sollte im selben Eingabeaufforderungsfenster zur Eingabe der Passphrase aufgefordert werden, bevor Sie fortfahren.

1
Das mag der Hauptgrund sein, warum ich gpg2 nie gemocht habe, und ignoriere --no-use-agent. Ich denke, es ignorierte auch --passphrase = ... `und öffnet immer sein Passwort-Eingabefenster. Es ist wie ein Terminalprogramm, das das Terminal aktiv zu hassen scheint. Haben Sie versucht, die pinentry.exe selbst in einem Terminal auszuführen, um sicherzustellen, dass sie funktioniert und der Pfad korrekt ist? Auf Linux, wenn ich Pinentry (aus dem Pinentry-Curses-Paket) starte, wird "OK" angezeigt und "ERR ... unknown command" (Ich kenne die magischen Befehle nicht, die es möchte, es wird nicht gelesen oder abgerufen; -) Xen2050 vor 7 Jahren 0
Ja, das Pinentry-Programm fragt auf der Konsole nach Bestellungen, ja. Es ist nur so, dass ich gpg-agent scheinbar nicht davon überzeugen kann. Lasse Vågsæther Karlsen vor 7 Jahren 0
Es scheint, dass es etwas komisch ist, wenn die Konfigurationsdatei das Programm zur Eingabe von Einträgen nicht hört oder findet, aber ich weiß nicht, wie man Windows & gpg4win dazu bringt, es zusammenzubringen. Vielleicht macht der Versuch mit "--pinentry-mode loopback" etwas anderes? Xen2050 vor 7 Jahren 0
@ Xen2050: Ich glaube, dass `--pinentry-mode loopback`` allow-loopback-pinentry` in der `gpg-agent.conf'-Datei erfordert. harrymc vor 5 Jahren 0
Versuchen Sie, den Befehl 'pinentry-tty' zu 'gpg-agent.conf' hinzuzufügen. harrymc vor 5 Jahren 0

0 Antworten auf die Frage