Podczas gry z GPG (i próbując znaleźć bezpieczny sposób na przechowywanie mojego certyfikatu odwołania, aby nikt inny nie mógł go użyć), przypadkowo odwołałem mój klucz PGP.
Cofnięcie miało charakter wyłącznie lokalny; nie wysłano do serwera kluczy, więc byłem pewien, że będzie sposób, aby go cofnąć ... ale nic nie znalazłem. Nawet usunięcie klucza i ponowne zaimportowanie go nie pomogło; nadal był wyświetlany jako odwołany. Na koniec usunąłem cały brelok i ponownie zaimportowałem wszystko, co zadziałało. Ale musi być lepszy sposób ...
Więc; jak cofnąć klucz PGP w GPG?
Gdzie jest przechowywane odwołanie i dlaczego nie zostało usunięte, gdy usunąłem klucz z mojego klucza?
W przypadku, gdy robi to jakąkolwiek różnicę, używam GPG na OS X z pakietem GPGTools .
gpgsplit
narzędzia. Jakieś pomysły?gpg2
jest w/usr/local/MacGPG2/bin/gpg2
(link z/usr/local/bin/gpg2
), ale nie mogę znaleźć śladugpgsplit
. Wydaje mi się, że można to zrobić z Ubuntu, ale do tego momentu usunięcie i przywrócenie mojego pęku kluczy jest prawdopodobnie łatwiejszą opcją ... Czy wiesz, dlaczego (i gdzie) odwołanie jest przechowywane po usunięciu samej pary kluczy?gpgslit
. Możesz zainstalować pakiet za pomocąbrew install gnupg
.Odpowiedzi:
Okazuje się, że możliwe jest (i stosunkowo proste) usunięcie i ponowne zaimportowanie klucza, pod warunkiem, że znajduje się on na serwerze kluczy (i oczywiście pod warunkiem, że odwołanie nie zostało wysłane do serwera kluczy).
Oto, co znalazłem do pracy (
THEKEYID
jest to krótki identyfikator klucza):Usuń klucz publiczny w następujący sposób (
--expert
opcja umożliwia usunięcie klucza publicznego, gdy klucz prywatny jest przechowywany):gpg --expert --delete-key THEKEYID
Potwierdź, naciskając:
y
Pobierz ponownie klucz publiczny z serwera kluczy:
gpg --keyserver subkeys.pgp.net --recv-keys THEKEYID
Gotowy!
Prawdopodobnie można to również zrobić z lokalnej (przed odwołaniem) kopii zapasowej klucza publicznego, używając
gpg --import public.key
zamiast trzeciego polecenia.Po prostu usunięcie całego klucza (publicznego i prywatnego) z GUI GPG Keychain Access, a następnie przywrócenie z kopii zapasowej, nie działało - nie wiem dlaczego.
źródło