GnuPG reste l’outil que je prends quand la question est : certifier, signer, chiffrer, authentifier sans donner le matériel privé à un vendeur. L’accueil est ingrat. C’est une raison de traiter le secret primaire comme un objet rare, hors-ligne, et de faire le quotidien avec des sous-clés.
C’est le chemin expert. Un défaut moderne plus petit : age pour les fichiers, SSH pour le login. OpenPGP gagne sa barbe quand il faut une toile de certification, du mail, des signatures git, et une clé que l’on peut mettre dans un tiroir.
Notions de base · Ce que fait une clé ici
La clé publique se publie. La privée reste sous contrôle. Certification, signature, chiffrement, authentification (SSH via gpg-agent) peuvent être répartis sur des sous-clés pour que le secret le plus dangereux — celui qui peut en émettre d’autres — ne vive pas dans le sac du train.
Une primaire certification seule, puis trois métiers
L’arrangement que j’utilise, documenté dans GnuPG Keys Management : primaire certify seulement ; sous-clés sign, encrypt, authenticate ; secret primaire sur média amovible chiffré puis supprimé du quotidien ; sous-clés éventuellement sur carte. Les défauts actuels de GnuPG préfèrent l’ECC. Raisonnable. J’utilise encore une grande RSA de certification quand je veux une primaire conservative. Pas de phrase secrète dans un modèle batch. L’empreinte complète, jamais un ID court.
gpg --list-secret-keys --fingerprint --with-keygrip
Exporter, prouver, puis supprimer
Une commande d’export n’est pas une sauvegarde. Restaurez dans un GNUPGHOME jetable en RAM avant de supprimer. Vous voulez sec (pas sec#) et de vrais ssb. gpg --list-packets montre gnu-dummy ou gnu-divert-to-card si vous avez exporté un stub.
umask 077
TEST_GNUPGHOME="$(mktemp -d /dev/shm/gnupg-test.XXXXXX)"
gpg --homedir "$TEST_GNUPGHOME" --import ./primary.private-key.sec
gpg --homedir "$TEST_GNUPGHOME" --list-secret-keys --fingerprint
Le ! cité sélectionne la primaire seulement. Ensuite le quotidien montre sec#. Sur YubiKey, attendez ssb>.
Utiliser la primaire hors-ligne
Certifier veut dire monter le volume et, de préférence, un GNUPGHOME propre. Puis démonter. Le portable qui signe git ne doit pas pouvoir forger une nouvelle identité.
Intermédiaire · Si vous n’êtes pas prêt pour une primaire hors-ligne
Alors ne faites pas semblant. Ed25519/Cv25519 avec expiration, certificat de révocation quelque part, sauvegarde de ~/.gnupg restaurée. age est plus propre pour chiffrer des fichiers sans toile OpenPGP. Vous pourrez passer à une clé de certification hors-ligne plus tard. Vous ne pouvez pas « dé-fuiter » une primaire qui a vécu trois ans dans un sac.
Ce que ce n’est pas
Pas un tutoriel pour chiffrer une blague. Pas un argument pour que tout le monde fasse du RSA-8192. C’est la forme d’une clé dont la partie dangereuse tient dans un tiroir, dont les parties quotidiennes se remplacent, et dont la reprise a été vue dans /dev/shm avant le besoin.
gpg --delete-secret-keys "${FINGERPRINT}!"
gpg --list-secret-keys "$FINGERPRINT"
gpgconf --list-dirs homedir




