-->

Archive for the 'OpenPGP' Category

OpenPGP: Widerrufenen Schlüssel wiederherstellen

GnuPG - PGP/GPG: Widerrufenen Schlüssel wiederherstellen

Aus Versehen habe ich vor kurzem meine verschiedenen OpenPGP-Schlüssel widerrufen. In der Schlüsselverwaltung von Thunderbird auf einem neuen System wollte ich meine Schlüssel importieren und weiterverwenden. Dazu habe ich alles aus dem Ordner mit den exportierten Schlüssel importiert und dabei übersehen, dass durch das Importieren der ebenfalls darin enthaltenen Widerrufzertifikate (revoke keys) bereits die öffentlichen Schlüssel (ohne explizite Bestätigung) ungültig gemacht werden. Für den Fall, dass mal jemand in die selbe Situation kommt, hier das Vorgehen zum Wiederherstellen.

Wenn die entsprechenden öffentlichen Schlüssel noch vorhanden sind, genügt es in der Schlüsselverwaltung die eigenen Schlüssel zu löschen und erneut zu importieren - ohne das Widerrufszertifikat. Falls nicht, kommt man mit dieser Anleitung weiter. Der Schlüssel wird dabei zunächst in seine Bestandteile zerlegt, dann wird der Teil mit dem Widerruf gelöscht und schließlich werden die verbleibenden Teile wieder zu einem dann “reparierten” Schlüssel zusammengeführt. Das genaue Vorgehen ist dann also Folgendes:

  1. Zunächst muss man den betroffenen Schlüssel exportieren (dabei nicht -a verwenden). email@domain.tld steht natürlich für die jeweilig betroffene E-Mail-Adresse:
    $ gpg --export email@domain.tld > email@domain.tld.gpg

  2. Der so exportierte Schlüssel muss im Anschluss mit “gpgsplit” seziert und so in seine Bestandteile zerlegt werden. Dadurch entstehen sechs weitere Dateien, jeweils Teile des zerlegten Schlüssels:
    $ gpgsplit email@domain.tld.gpg

  3. Aus diesen Dateien muss man nun diejenige heraussuchen, die den Revoke-Key enthält und diese löschen. Meist ist das die Datei mit dem Namen “000002-002.sig”. Um sicher zu sein, sollte man folgenden Befehl ausführen. Liefert dieser für die angegebene Datei “sigclass 0×20″ zurück, ist es die richtige Datei:
    $ gpg --list-packets 000002-002.sig

  4. Diese muss nun gelöscht werden:

    $ rm 000002-002.sig 

  5. Nun muss der öffentliche Schlüssel aus den verbliebenen Teilen wieder zusammengestellt werden:

    $ cat 0000* > fixedkey.gpg

  6. Der alte Schlüssel wird entfernt (muss nochmal bestätigt werden):
    $ gpg --expert --delete-key email@domain.tld.gpg

  7. Und der “reparierte”, neue öffentliche Schlüssel (fixedkey.gpg) wird schließlich anstelle des alten importiert und kann sofort wieder verwendet werden:
    $ gpg --import fixedkey.gpg






Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Germany
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Germany