GPG2-Verschlüsselung - Kein Fehler mit öffentlichen Schlüsseln

3179
Steve Ward

Wenn ich meine Schlüssel mit generiere

gpg2 --gen-key 

und dann versuche ich die Datei mit zu verschlüsseln

gpg2 --batch --yes -r myemail@test.com --always-trust --homedir . -e test.text 

Ich erhalte die Fehlermeldung "Verschlüsselung fehlgeschlagen: Kein öffentlicher Schlüssel".

Ich kann es jedoch mit dem Befehl sehen:

gpg2 --list-keys 

Das explizite Importieren des öffentlichen Schlüssels hilft nicht. Ideen?

1

1 Antwort auf die Frage

2
Jens Erat

Sie legen Ihr aktuelles Arbeitsverzeichnis als GnuPG-Ausgangsverzeichnis fest, was eigentlich nie das ist, was Sie tun möchten. Für den täglichen Umgang, nicht setzen Sie diese Option überhaupt und hat GnuPG verwenden, um die Standard - GnuPG Home - Verzeichnis Lage ( ~/.gnupg).

Lassen Sie diese Option aus und die Verschlüsselung funktioniert einwandfrei.

Außerdem --always-trustsollten Sie niemals zusammen mit Schlüsseln verwendet werden, die Sie nicht selbst validiert haben, dh. nur zusammen mit dem Fingerabdruck oder zumindest langer Schlüssel-ID des Schlüssels. Ein Angreifer kann Schlüssel für beliebige andere E-Mail-Adressen / Benutzer-IDs generieren und verteilen. Möglicherweise endet die Verschlüsselung für den falschen Schlüssel. Es gibt Gründe, dieses Flag zu verwenden (insbesondere wenn Sie GnuPG mit Skripts und Anwendungen verbinden), seien Sie jedoch hinsichtlich der Sicherheitsaspekte sehr sicher .

Vielen Dank dafür - es funktioniert, wenn ich den Home-Verzeichnis-Parameter entferne. Das ist großartig. Der Grund für den Parameterwert von. In diesem Verzeichnis wurden die Dateien pubring.gpg usw. zur Quellcodeverwaltung eingecheckt (der Ordner gnupg ist nicht). Ich frage mich, ob es eine Möglichkeit gibt, ein Home-Verzeichnis param von zu verwenden. Ich nehme an, ich könnte diese Dateien (pubring.gpg usw.) manuell in meinen Ordner kopieren, damit ich in die Quellcodeverwaltung einchecken kann. Steve Ward vor 7 Jahren 0
Der Ordner `~ / .gnupg` ist standardmäßig ausgeblendet. Aktivieren Sie die Anzeige versteckter Dateien, oder zeigen Sie sie mithilfe von "ls -a" mithilfe eines Terminals an. Wenn Sie zuvor einen anderen Ordner hatten, müssen Sie die Umgebungsvariablen oder die andere Konfiguration geändert haben. `~ / .gnupg` ist der Standard für unixoide Systeme. Jens Erat vor 7 Jahren 0