J’ai importé ma clef GPG et ses sous clés sur ma clef Yubikey. Et aujourd’hui je viens de me rendre compte que la date de validité des clefs était dépassé. Voici mes notes pour me souvenir de la procédure pour la prochaine fois.

Si on a bien fait les choses on ne doit pas avoir de clef privé sur notre machine. Seule la clef publique est nécessaire pour l’utilisation au quotidien. Il faut donc récupérer la clef privée qu’on avait placée en lieu sûr et l’importer. On peut redémarrer l’agent gpg pour éviter tout cache.

gpg --import gpg-private.gpg

systemctl restart --user gpg-agent

Attention la clef peut avoir un mot de passe (j’ai mis du temps à retrouver le mien).

On peut vérifier que la clef est bien présente avec la commande gpg -K. Il ne doit pas y avoir de > derrière les entrées sec ou ssb.

On peut maintenant modifier la date d’expiration. Je l’ai placée pour dans 2 ans (d’où ces lignes en espérant les retrouver dans 2 ans).

gpg --edit-key 7321XXXXX

gpg> expire
gpg> key 1
gpg> expire
gpg> save

On peut sélectionner plusieurs clefs pour les modifier en même temps.

On exporte la clef principale, les sous clefs et la clef privée. Les deux premières sont à placer en lieu sûr.

gpg --armor --export-secret-keys 7321XXX > mastersub.key
gpg --armor --export-secret-subkeys 7321XXX > sub.key
gpgp --export --armor 7321XXXX > gpg-pubkey.asc

Il faut maintenant tester que tout est bon. On va retirer la clef et supprimer la clef privée.

gpg --delete-secret-and-public-keys 7321XXXX

Si on relance les commandes précédentes on doit voir les changements que nous venons de faire.

gpg -K
gpg --card-status

Enfin on publie la clef sur les serveurs de clef.

gpg --keyserver keyserver.ubuntu.com --send-keys 7321XXX
gpg --keyserver pgp.mit.edu --send-keys 7321XXX