Ich versuche, eine Konsolenanwendung zu schreiben, die eine GPS-Signatur auf Anfrage entschlüsseln wird. Alles läuft gut, AUSSER für den Teil, wo es zur Eingabe meines GPG-Passworts auffordert. Wie rufe ich gpg --decrypt
von der Befehlszeile ohne ein Kennwortdialog auf?Entschlüsselung einer GPG-Zeichenfolge von der Befehlszeile
Hier ist mein Code so weit:
var startInfo = new ProcessStartInfo("gpg.exe");
startInfo.Arguments = "--decrypt"; //this is where I want to insert "--passphrase MyFakePassword"
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
startInfo.WorkingDirectory = @"C:\Program Files (x86)\GNU\GnuPG";
var proc = Process.Start(startInfo);
var sCommandLine = stringData + "\n"+(char)26+"\n"; //stringData is the encrypted string
proc.StandardInput.WriteLine(sCommandLine);
proc.StandardInput.Flush();
proc.StandardInput.Close();
var result = proc.StandardOutput.ReadToEnd();
ich --passphrase MyFakePassword
mit versucht haben, --passphrase-fd MyFakePassword
und sogar --passphrase-fd 0
mit meinem Passwort auf der ersten Zeile der Eingabe. Ich möchte es vermeiden, mein Passwort in eine TXT-Datei auf dem Rechner zu legen, auf dem dieser Code läuft, wenn irgend möglich.
Vielen Dank im Voraus für jede Hilfe.
Dank dafür! Vergeudete Tage darauf. Das Herunterladen von ftp://ftp.gnupg.org/gcrypt/binary/gnupg-w32cli-1.4.9.exe und die Installation behebt das Problem für mich –