Batalkan pencabutan kunci PGP

20

Saat bermain dengan GPG (dan mencoba mencari cara aman untuk menyimpan sertifikat pencabutan saya sehingga tidak ada orang lain yang dapat menggunakannya), saya tidak sengaja mencabut kunci PGP saya.

Pencabutan itu hanya lokal; tidak dikirim ke server kunci, jadi saya yakin akan ada cara untuk mencabutnya ... tapi saya tidak dapat menemukan apa pun. Bahkan menghapus kunci dan mengimpor kembali itu tidak membantu; masih terlihat dicabut. Pada akhirnya saya menghapus seluruh keyring saya dan mengimpor kembali semuanya, yang berfungsi. Tetapi harus ada cara yang lebih baik ...

Begitu; bagaimana cara Anda mencabut kunci PGP di GPG?

Juga, di mana pencabutan disimpan, dan mengapa itu tidak dihapus ketika saya menghapus kunci dari keyring saya?

Jika ada bedanya, saya menggunakan GPG pada OS X dengan paket GPGTools .

Caesar
sumber
@ iWizardPro terima kasih, saya benar-benar menemukan itu, tapi saya sepertinya tidak memiliki (atau dapat menemukan) gpgsplitutilitas. Ada ide?
Caesar
OS apa yang Anda jalankan? Gpgsplit saya terletak di / usr / bin / gpgsplit untuk Ubuntu.
Ryan Tse
OS X, dengan GPGTools ( gpgtools.org ). saya gpg2di /usr/local/MacGPG2/bin/gpg2(ditautkan dari /usr/local/bin/gpg2) tetapi saya tidak dapat menemukan jejak gpgsplit. Saya kira akan mungkin untuk melakukan proses dari Ubuntu, tetapi pada saat itu menghapus dan mengembalikan gantungan kunci saya mungkin sebenarnya adalah pilihan yang lebih mudah ... Apakah Anda tahu mengapa (dan di mana) pencabutan disimpan setelah saya menghapus keypair itu sendiri?
Caesar
1
Homebrew 's GnuPG menghadirkan gpgslit. Anda dapat menginstal paket menggunakan brew install gnupg.
Jens Erat

Jawaban:

21

Ternyata itu adalah mungkin (dan relatif sederhana) untuk menghapus dan re-impor kunci, asalkan itu adalah pada keyserver (dan asalkan pencabutan tersebut belum dikirim ke server kunci, tentu saja).

Ini yang saya temukan bekerja (THEKEYID adalah ID singkat kunci):

  1. Hapus kunci publik sebagai berikut ( --expertopsi memungkinkan kunci publik dihapus sementara kunci pribadi disimpan):
    gpg --expert --delete-key THEKEYID

  2. Konfirmasikan dengan menekan:
    y

  3. Ambil kunci publik lagi dari server kunci:
    gpg --keyserver subkeys.pgp.net --recv-keys THEKEYID

Selesai!

Mungkin ini juga bisa dilakukan dari cadangan lokal (pra-pencabutan) kunci publik, menggunakan gpg --import public.keybukannya perintah ketiga.

Cukup menghapus seluruh kunci (publik dan pribadi) dari GUI Keychain Access GPG, dan kemudian memulihkan dari cadangan, tidak berfungsi - saya tidak tahu mengapa.

Caesar
sumber