Passworteingabe über Shell in laufenden Prozess



  • Hallo,
    Ich würde gerne in einem C++ Programm einen Prozess erzeugen, der eine Passworteingabe zum ver- oder entschlüsseln verlangt. Den Prozess zu erzeugen ist erstmal ohne weiteres möglich, beispielsweise mit Qt über QProcess. Das Problem ist aber, dass ich über QProcess:write() nicht die Passworteingabe erreiche. Wenn ich also das erstellte Programm mit der Shell öffne, bei diesem Programm dann auf die Passwortabfrage des QProcess gewartet wird und anschließend write() ausgeführt wird, bleibt die Anweisung ohne Effekt. Stattdessen landet die Passwortabfrage bei der Shell.
    Ich habe gehört, das läge daran, dass die Programme (z.B. rar, gpg) aus Sicherheitsgründen die Passworteingabe nicht über stdin, sondern die laufende Shell erledigen. Es gibt aber eine Reihe von Programmen, die über eine graphische Oberfläche Passwörter an CommandLine-Tools übergeben.

    Wie kann man sowas am einfachsten erledigen?

    Danke im Voraus.


Anmelden zum Antworten