it-swarm.com.de

gpg --encrypt schlägt fehl

Beim Versuch, Dateien zu verschlüsseln, wird im KGpg-Editorfenster der folgende Fehler angezeigt:

Die Verschlüsselung ist mit Fehlercode 2 fehlgeschlagen

In der Kommandozeile bekomme ich:

$ gpg --list-keys
/home/user/.gnupg/pubring.gpg
 ---------------------------------
pub   2048D/5E04B919 2012-02-02 [expires: 2016-02-01]
uid                  Firstname Lastname <[email protected]>
uid                  [jpeg image of size 4005]

$ 
$ gpg --encrypt file-to-encrypt
You did not specify a user ID. (you may use "-r")

Current recipients:

Enter the user ID.  End with an empty line: [email protected]
No such user ID.

Dies funktionierte früher sowohl mit dem Editor als auch in der Befehlszeile mit derselben Taste. Das Current recipients: ist leer. Warum ist das so?

PDATE :

Wenn Sie versuchen, die Benutzer-ID in der Befehlszeile mit -r Option bekomme ich folgendes:

$ gpg -r [email protected] --encrypt file-to-encrypt
gpg: [email protected]: skipped: unusable public key
gpg: file-to-encrypt: encryption failed: unusable public key

Die Info:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.10
Release:        12.10
Codename:       quantal

$ dpkg -s gnupg
Package: gnupg
Status: install ok installed
Priority: important
Section: utils
Installed-Size: 1936
Maintainer: Ubuntu Developers <[email protected]>
Architecture: AMD64
Multi-Arch: foreign
Version: 1.4.11-3ubuntu4.4
34
marekful

Ich habe herausgefunden, was das Problem und die Lösung sind, also gebe ich eine Antwort mit Details, falls jemand auf dasselbe Problem stößt, kann dies hilfreich sein.

Das Problem ist etwas mehrdeutig, es wird keine wirklich informative Fehlermeldung ausgegeben.

Es stellte sich heraus, dass der Verschlüsselungsunterschlüssel abgelaufen war. Seltsamerweise hat gpg --list-keys Den abgelaufenen Unterschlüssel NICHT angezeigt !! Nachdem der Ablauf des Unterschlüssels verlängert wurde, wurde er in die Ausgabe von gpg --list-keys Aufgenommen.

Außerdem zeigt KGpg in keiner Weise an, dass der Unterschlüssel abgelaufen ist, und ermöglicht auch nicht, den Ablauf des Unterschlüssels zu verlängern (nur der Ablauf des Hauptschlüssels kann geändert werden).

Die Ausgabe von gpg --list-keys Vor der Lösung (ich habe die persönlichen Daten geändert):

$ gpg --list-keys
/home/user/.gnupg/pubring.gpg
---------------------------------
pub   2048D/5E04B919 2012-02-02 [expires: 2016-02-01]
uid                  Firstname Lastname <[email protected]>
uid                  [jpeg image of size 4005]

Nichts mehr.

gpg --edit 5E04B919 Zeigte jedoch, dass der Unterschlüssel abgelaufen ist

$ gpg --edit 16AE78C5
gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Secret key is available.

pub  2048D/5E04B919  created: 2012-02-02  expires: 2016-02-01  usage: SCA 
                     trust: ultimate      validity: ultimate
sub  1024g/16AE78C5  created: 2012-02-02  expired: 2014-02-01  usage: E   
[ultimate] (1). Firstname Lastname <[email protected]>
[ultimate] (2)  [jpeg image of size 4005]

gpg>

Nach einiger Google-Suche fand ich dieses Mailinglisten-Archiv, das mich in die richtige Richtung wies, um den Ablauf des Unterschlüssels mithilfe der Befehlszeile gpg zu verlängern:

http://lists.gnupg.org/pipermail/gnupg-users/2005-June/026063.html

Ich folgte den Anweisungen und verlängerte den Ablauf des Unterschlüssels. Danach gab gpg --list-keys Eine andere Ausgabe:

$ gpg --list-keys
/home/user/.gnupg/pubring.gpg
---------------------------------
pub   2048D/5E04B919 2012-02-02 [expires: 2016-03-12]
uid                  Firstname Lastname <[email protected]>
uid                  [jpeg image of size 4005]
sub   1024g/16AE78C5 2012-02-02 [expires: 2016-03-12]

Danach war alles wieder normal, ich konnte Dateien usw. verschlüsseln.

38
marekful

In meinem Fall habe ich meinen Schlüssel importiert (gpg --import path/to/key) auf einem anderen Computer generiert.

Aber ich konnte es nicht benutzen, weil es nicht vertrauenswürdig war.

Ich habe gpg --edit-key "MY KEY ID" trust und Vertrauensstufe 5 einrichten.

Danach wurde mein Schlüssel vertrauenswürdig und jetzt kann ich ihn zur Verschlüsselung verwenden.

6
mixel

Sie müssen den Schlüssel angeben, den Sie für die Verschlüsselung verwenden möchten. In diesem Fall benötigen Sie also den Befehl gpg -r [email protected] --encrypt file-to-encrypt.

2
Tim Lamballais

Ich hatte das gleiche Problem (abgelaufener öffentlicher Schlüssel) und bin auf diesen Thread gestoßen. Die vorgeschlagene Lösung marekful funktioniert zwar sehr nützlich, funktioniert jedoch nur, wenn Sie Zugriff auf den (entsprechenden) geheimen Schlüssel haben.

Da in meinem Fall diese Voraussetzung nicht erfüllt war, habe ich schließlich meine Systemzeit auf ein früheres Datum geändert (als der Schlüssel noch gültig war). Dies führte zu einer Vermeidung des skipped: unusable public key Botschaft.

Mir ist bewusst, dass es keine gute Praxis ist, abgelaufene Schlüssel zu verwenden. Verwenden Sie dies als letzten Ausweg, wenn die Situation dies unbedingt erfordert.

1
kung_fu_coder