Wie vermeide ich alle Passphrasen-Eingabeaufforderungen für die asymmetrische Entschlüsselung von GPG2?

397
Shule

Ich habe mein eigenes Programm erstellt, das gpg zum Ver- und Entschlüsseln (symmetrisch und asymmetrisch) verwendet. Es funktioniert gut mit gpg1 auf allen Konten und es funktioniert gut mit gpg2 für beide Arten der Verschlüsselung und für symmetrische Entschlüsselung, aber ich bekomme immer noch eine GUI-basierte Passphrasenaufforderung für asymmetrische Entschlüsselung. Irgendwelche Ideen, wie man es automatisch weitergibt (ohne Benutzereingabe)?

Denken Sie daran, dass --no-use-agentes veraltet ist und nichts in gpg2 tut.

Denken Sie auch daran, dass ich die Optionen --passphrase myPassphraseund ausprobiert habe echo "myPassphrase|gpg --passphrase-fd 0(zumindest die letztere funktioniert gut für die symmetrische Entschlüsselung - z. B. für das Entschlüsseln von verschlüsselten Dingen -c).

Denken Sie auch daran --batchund --yeshelfen Sie nicht.

Ich habe den Eindruck (das weiß ich nicht), dass GNU Privacy Guard diese Art von Unterstützung nicht mehr unterstützen möchte - was ziemlich frustrierend ist.

Meine derzeitige Problemumgehungsidee ist, mit gpg2 zu verschlüsseln (um die sicherste Verschlüsselung zu gewährleisten, wenn es darauf ankommt) und mit gpg1 zu entschlüsseln. Aber dann und jeder, der mein Programm verwendet, muss seine Schlüsseldaten in beide Versionen von gpg eingeben (I ' bin darüber nicht aufgeregt). Außerdem bin ich etwas besorgt, dass sie eines Tages aufhören, gpg1 anzubieten (ich weiß jedoch nicht, dass das passieren wird).

Eine weitere Alternative besteht darin, die Verwendung des GUI-basierten Eingabefelds von GPG anstelle meines benutzerdefinierten Eingabefelds zuzulassen. Dies ist vermutlich nicht das Ende der Welt.

Ich verwende Xubuntu 18.04 mit GPG 2.2.4 mit Libcrypt 1.8.1.

1
Was ist falsch daran, einen Agenten mit der Passphrase umgehen zu lassen? Es wird wahrscheinlich sicherer als Ihre Anwendung damit umgehen! Attie vor 5 Jahren 0
Seien Sie auch sehr vorsichtig beim Wiederherstellen von Dateideskriptoren ... verwenden Sie nicht --passphrase-fd 0` ... (_stdin_), verwenden Sie ein anderes, wenn Sie müssen ... Attie vor 5 Jahren 0
@Attie Nichts ist besonders falsch damit (obwohl es weniger vorhersagbar ist, da es manchmal nach einer Passphrase fragt und manchmal auch nicht; es speichert auch Passphrasen temporär zwischen), aber es ist schön, das Aussehen und Verhalten des Passphraseneintrags (und was es sagt) und wie es reagiert (und wie schnell es reagiert). Ich bin sicher, dass der Agent wahrscheinlich viel sicherer ist, da er nicht so sehr auf mein Programm vertrauen muss (und ich habe vor, es zu unterstützen). Zu Ihrem zweiten Kommentar - warum? Shule vor 5 Jahren 0
Ich weiß, dass der Task-Manager Passwörter anzeigen kann, wenn Sie diese direkt mit --passphrase-fd 0 eingeben, diese aber in eine temporäre Datei ablegen (die sofort gelöscht wird) und sie wie `cat" myTempFile "| weitergibt gpg --passphrase-fd 0… `umgeht dieses spezielle Problem (solange ein Hackerprogramm die temporäre Datei in diesem Moment nicht erfassen kann). Ich bin mir jedoch sicher, dass es noch mehr Probleme gibt (ich weiß nur nicht, was sie alle sind, wenn Sie auf etwas hinweisen möchten). Shule vor 5 Jahren 0
Ich denke, Sie haben recht, dass Sie am besten mit der GUI-Eingabeaufforderung gehen. Nach ersten Tests scheint es viel besser zu klappen als beim ersten Versuch. Hoffentlich ändert sich das bei einem Update nicht! Ich bin immer noch etwas besorgt über zwischengespeicherte Passphrasen (obwohl das irgendwie bequem ist). Shule vor 5 Jahren 0

0 Antworten auf die Frage