Wie konfiguriere ich gpg2 so, dass die Passphrase auf der Konsole und nicht in einem Popup-Fenster abgefragt wird?

Wie konfiguriere ich gpg2 so, dass die Passphrase auf der Konsole und nicht in einem Popup-Fenster abgefragt wird?

Ich versuche Gpg4win so zu konfigurieren, dass es nicht das Popup-Fenster verwendet, um nach einer Passphrase zu fragen. IchnurVerwenden Sie gpg2 aus der Eingabeaufforderung. Das Popup-Fenster ist daher sowohl störend als auch störend, da es den Fokus von der Eingabeaufforderung wegnimmt und ihn anschließend nicht wieder freigibt.

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 ohne die Endung -w32 oder eine ähnliche auf der Konsole verwendet wird, bleibt sie beim Versuch, eine Testdatei zu signieren, einfach ein paar Sekunden lang dort hängen und gibt dann Folgendes aus:

$ 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, den Pfad in Anführungszeichen und mit Schrägstrichen zu umgeben. Daher habe ich Folgendes ausprobiert:

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 Webseiten einen Tipp dazu gefunden habe, aber ich vermute, dass es sich hierbei um eine ältere Einstellung für gpg (1) und nicht für gpg2 handelt.

Ich habe stattdessen versucht, no-use-agent zur gpg.conf hinzuzufügen und habe Folgendes erhalten:

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

Ist das überhaupt möglich?

Was ich grundsätzlich möchte, ist dieser Befehl:

gpg2 --sign test.md

Vor dem Fortfahren sollte ich im selben Eingabeaufforderungsfenster nach meiner Passphrase fragen.

Antwort1

Ich habe Gpg4win v3.1.15 verwendet, es scheint das Appdata-Verzeichnis als Standard-Home-Verzeichnis zu verwenden. Wenn Ihr Home-Verzeichnis ein anderes ist, muss die gpg.conf dort gespeichert werden.

Erstellen Sie eine Datei mit folgendem Inhalt, falls sie noch nicht vorhanden ist %appdata%\gnupg\gpg.conf:

pinentry-mode loopback

Wenn Sie dies aktivieren, erhalten Sie eine Eingabeaufforderung.

Darüber hinaus können Sie mit derselben Einstellung die PIN als Passphrase für die Befehlszeilenoption übergeben gpg --passphrase 12345 --decrypt, z. B. , was je nach Anwendungsfall natürlich unsicher ist. Wenn Sie programmgesteuert arbeiten, kann dies praktischer sein, als die Eingabe in die Standardeingabe vorzunehmen.

verwandte Informationen