Annuler la révocation de la clé PGP

20

En jouant avec GPG (et en essayant de trouver un moyen sûr de stocker mon certificat de révocation afin que personne d'autre ne puisse l'utiliser), j'ai révoqué accidentellement ma clé PGP.

La révocation n'était que locale; pas envoyé à un serveur de clés, donc j'étais sûr qu'il y aurait un moyen de le révoquer ... mais je n'ai rien trouvé. Même la suppression de la clé et sa réimportation n'ont pas aidé; il a toujours été révoqué. En fin de compte, j'ai supprimé mon trousseau de clés et réimporté tout, ce qui a fonctionné. Mais il doit y avoir un meilleur moyen ...

Donc; comment annuler la révocation d' une clé PGP dans GPG?

En outre, où la révocation est-elle stockée et pourquoi n'a-t-elle pas été supprimée lorsque j'ai supprimé la clé de mon trousseau?

Au cas où cela ferait une différence, j'utilise GPG sur OS X avec le package GPGTools .

César
la source
@iWizardPro merci, je suis tombé sur ça, mais je ne semble pas avoir (ou être capable de trouver) l' gpgsplitutilitaire. Des idées?
César
Quel système d'exploitation utilisez-vous? Mon gpgsplit se trouve dans / usr / bin / gpgsplit pour Ubuntu.
Ryan Tse
OS X, avec GPGTools ( gpgtools.org ). mon gpg2est à /usr/local/MacGPG2/bin/gpg2(lié depuis /usr/local/bin/gpg2) mais je ne trouve aucune trace de gpgsplit. Je suppose qu'il serait possible de faire le processus depuis Ubuntu, mais à ce stade, supprimer et restaurer mon trousseau est probablement l'option la plus facile ... Savez-vous pourquoi (et où) la révocation est conservée après avoir supprimé la paire de clés elle-même?
César
1
Le GnuPG de Homebrew apporte gpgslit. Vous pouvez installer le package à l'aide de brew install gnupg.
Jens Erat

Réponses:

21

Il s'avère qu'il est possible (et relativement simple) de supprimer et de réimporter la clé, à condition qu'elle se trouve sur un serveur de clés (et à condition que la révocation n'ait pas été envoyée au serveur de clés, bien sûr).

Voici ce que j'ai trouvé à travailler ( THEKEYIDc'est l'ID court de la clé):

  1. Supprimez la clé publique comme suit (l' --expertoption permet de supprimer la clé publique pendant que la clé privée est conservée):
    gpg --expert --delete-key THEKEYID

  2. Confirmez en appuyant sur:
    y

  3. Récupérez à nouveau la clé publique à partir d'un serveur de clés:
    gpg --keyserver subkeys.pgp.net --recv-keys THEKEYID

Terminé!

Vraisemblablement, cela pourrait également être fait à partir d'une sauvegarde locale (avant révocation) de la clé publique, en utilisant à la gpg --import public.keyplace de la troisième commande.

La suppression de la clé entière (publique et privée) de l'interface graphique GPG Keychain Access, puis la restauration à partir d'une sauvegarde, n'a pas fonctionné - je ne sais pas pourquoi.

César
la source