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.
gpgsplit
Dienstprogramm nicht zu haben (oder finden zu können) . Irgendwelche Ideen?gpg2
ist bei/usr/local/MacGPG2/bin/gpg2
(verlinkt von/usr/local/bin/gpg2
), aber ich kann keine Spur von findengpgsplit
. 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?gpgslit
. Sie können das Paket mit installierenbrew install gnupg
.Antworten:
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
THEKEYID
ist die Kurz-ID des Schlüssels):Löschen Sie den öffentlichen Schlüssel wie folgt (die
--expert
Option ermöglicht das Löschen des öffentlichen Schlüssels, während der private Schlüssel erhalten bleibt):gpg --expert --delete-key THEKEYID
Bestätigen Sie mit:
y
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.key
des 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.
quelle