Entziehen Sie den PGP-Schlüssel

20

Während ich mit GPG spielte (und versuchte, einen sicheren Weg zu finden, um mein Widerrufszertifikat zu speichern, damit es niemand anderes verwenden konnte), widerrief ich versehentlich meinen PGP-Schlüssel.

Der Widerruf war nur lokal; wurde nicht an einen Schlüsselserver gesendet, daher war ich mir sicher, dass es eine Möglichkeit geben würde, den Widerruf aufzuheben ... aber ich konnte nichts finden. Selbst das Löschen des Schlüssels und das erneute Importieren halfen nicht. es zeigte sich immer noch als widerrufen. Am Ende habe ich meinen gesamten Schlüsselbund gelöscht und alles neu importiert, was funktioniert hat. Aber es muss einen besseren Weg geben ...

So; Wie kann man einen PGP-Schlüssel in GPG widerrufen ?

Wo wird der Widerruf außerdem gespeichert und warum wurde er nicht gelöscht, als ich den Schlüssel von meinem Schlüsselbund löschte?

Falls es einen Unterschied macht, verwende ich GPG unter OS X mit dem GPGTools- Paket.

Caesar
quelle
@iWizardPro danke, ich würde tatsächlich darauf stoßen, aber ich scheine das gpgsplitDienstprogramm nicht zu haben (oder finden zu können) . Irgendwelche Ideen?
Caesar
Welches Betriebssystem verwenden Sie? Mein gpgsplit befindet sich unter / usr / bin / gpgsplit für Ubuntu.
Ryan Tse
OS X mit GPGTools ( gpgtools.org ). Mein gpg2ist bei /usr/local/MacGPG2/bin/gpg2(verlinkt von /usr/local/bin/gpg2), aber ich kann keine Spur von finden gpgsplit. Ich denke, es wäre möglich, den Vorgang von Ubuntu aus durchzuführen, aber zu diesem Zeitpunkt ist das Löschen und Wiederherstellen meines Schlüsselbunds wahrscheinlich die einfachere Option ... Wissen Sie, warum (und wo) der Widerruf beibehalten wird, nachdem ich das Schlüsselpaar selbst gelöscht habe?
Caesar
1
Homebrews GnuPG bringt gpgslit. Sie können das Paket mit installieren brew install gnupg.
Jens Erat

Antworten:

21

Es stellt sich heraus , dass es ist möglich (und relativ einfach) zu löschen und Re-Import den Schlüssel, vorausgesetzt , dass es auf einem Keyserver ist (und unter der Voraussetzung , dass der Widerruf an den Keyserver wurde nicht gesendet, natürlich).

Ich habe festgestellt, dass dies funktioniert (dies THEKEYIDist die Kurz-ID des Schlüssels):

  1. Löschen Sie den öffentlichen Schlüssel wie folgt (die --expertOption ermöglicht das Löschen des öffentlichen Schlüssels, während der private Schlüssel erhalten bleibt):
    gpg --expert --delete-key THEKEYID

  2. Bestätigen Sie mit:
    y

  3. Rufen Sie den öffentlichen Schlüssel erneut von einem Schlüsselserver ab:
    gpg --keyserver subkeys.pgp.net --recv-keys THEKEYID

Getan!

Vermutlich könnte dies auch durch eine lokale Sicherung (vor dem Widerruf) des öffentlichen Schlüssels unter Verwendung gpg --import public.keydes dritten Befehls erfolgen.

Das Löschen des gesamten Schlüssels (öffentlich und privat) von der GPG-Benutzeroberfläche für den Schlüsselbundzugriff und das anschließende Wiederherstellen von einem Backup hat nicht funktioniert - ich weiß nicht warum.

Caesar
quelle