Ich verstehe, dass es Probleme gibt, pinentry-curses
mit Emacs zu arbeiten (siehe einige Kommentare auf http://emacswiki.org/emacs/EasyPG ), weshalb die Verwendung von Emacs in einem Terminal aus diesem Grund nicht mit gpg-agent kompatibel ist .
In diesem Fall kann ich kein grafisches Pinentry-Tool verwenden, da dies über eine SSH-Verbindung zu einem Remote-Computer erfolgt.
Ist es jedoch möglich, dem gpg-Agenten die Passphrase vorher einzugeben und diese dann von Emacs verwenden zu lassen, aber nicht zur Eingabe einer Passphrase aufzufordern, wenn der Agent diese Informationen noch nicht hat?
Mit welchen Einstellungen könnte dies funktionieren notmuch.el
und EasyPG
?
Oder gibt es alternative Methoden zum Zwischenspeichern der Passphrase, die den gleichen Effekt erzielen würden, aber möglicherweise Sicherheitsprobleme aufweisen (weshalb gpg-agent überhaupt existiert)?
Antworten:
DIESE! -> https://github.com/ecraven/pinentry-emacs
Du musst ein bisschen schrauben, aber dieses Ding zu benutzen hat bei mir funktioniert. Legen Sie das Skript dort in einem Verzeichnis in Ihrem ab
PATH
und fügen Sie den folgenden Eintrag hinzu~/.gnupg/gpg-agent.conf
:Laden Sie dann den Agenten neu:
Funktioniert wie ein Traum für mich :)
quelle
Eine Alternative, wenn Sie ein relativ neues pinentry / gpg2 haben (getestet mit 0.9.7 bzw. 2.1.11 unter Arch Linux), ist die Verwendung von http://elpa.gnu.org/packages/pinentry.html .
Installieren
pinentry
vonM-x list-packages
, dann setzenin deine
.gnupg/gpg-agent.conf
und setzenin deinem
.emacs.d/init.el
. Ich musste das Setenv dort einfügen, da INSIDE_EMACS zwar beim AusführenM-x shell
festgelegt ist, beim einfachen Öffnen einer.gpg
Datei jedoch nicht.Jetzt verwendet gpg-agent die reguläre Curses-Version vom Terminal und von Emacs aus
read-passwd
(wodurch die Zeichen vor der Eingabeaufforderung und vor versteckt werdenview-lossage
).BEARBEITEN: Es scheint, dass das Debian-Paket einen Patch zum Entfernen der Emacs-Unterstützung enthält. Daher funktioniert diese Lösung derzeit nur für andere Distributionen / Personen, die bereit sind, Pinentry selbst zu kompilieren.
quelle
pkill gpg-agent
startet sie beim nächsten Mal mit der neuen Einstellung neu!