Wie verschlüsselt man Inhalte in einer Datei über die Batch-Eingabeaufforderung in GnuPG?

Wie verschlüsselt man Inhalte in einer Datei über die Batch-Eingabeaufforderung in GnuPG?

Ich verwende den folgenden Befehl, um eine Zeichenfolge in einer Datei zu verschlüsseln, aber es schlägt immer mit der Fehlermeldung „gpg --encrypt benötigt Eingabe“ fehl.

gpg.exe --batch --passphrase-fd 0 --armor --sign --recipient [email protected] --homedir "c:\gnupg" --encrypt 1 > "test.gpg"

Irgendwelche Ideen?

Antwort1

GnuPG erwartet immer Eingaben aus einer Datei oder von STDIN. Um einen String an STDIN zu übergeben, verwenden Sie ECHOauf Windows-Systemen oder echoauf Unix-Systemen und geben Sie Folgendes ein gpg:

ECHO 1 | gpg [other options] --encrypt
echo 1 | gpg [other options] --encrypt

Da Sie die Passphrase bereits vom Dateideskriptor 0 (STDIN) erwarten, müssen Sie entweder

  • Geben Sie eine beliebige Passphrase und Daten ein, die von einem anderen Standort aus signiert werden sollen
  • shPipe in beiden Zeichenfolgen, getrennt durch ein Newline-Zeichen, was mit / auf Unix-Systemen einfach ist bash( echo -e "passphrase\ndata" | gpg --sign --encrypt), abererfordert eine ziemlich hackige Lösung unter Windows(Ich bin mit der Windows-Eingabeaufforderung nicht so vertraut, aber wahrscheinlich müssen Sie eine der Lösungen mit einem einzelnen ECHOBefehl wählen.)

verwandte Informationen