Aller au contenu

Aide mémoire GPG.

Cette page explique les concepts principaux de GPG, comment gérer les clés principales et sous-clés, signer et chiffrer, ainsi que l’export des clés en format texte.


1. Génération clé GPG

gpg --gen-key

2. Niveau de confiance

Niveau Nom Signification
Unknown Inconnue Tu n’as aucune information sur cette clé.
Invalid Invalide Signature non valide ou clé expirée/révoquée.
Marginal Marginale Tu as un peu confiance (1 personne fiable a signé la clé).
Full Complète Tu as suffisamment confiance (au moins 3 signatures fiables).
Ultimate Ultime Tu es absolument certain que cette clé t’appartient.
gpg --edit-key <ID_ou_email>
trust
Please decide how far you trust this user to correctly verify other users' keys
 1 = I don't know or won't say
 2 = I do NOT trust
 3 = I trust marginally
 4 = I trust fully
 5 = I trust ultimately
 m = back to the main menu

3. Structure des clés GPG

3.1 Clé principale (Primary Key)

  • Sert à signer (S) et certifier (C) des clés.
  • Doit être conservée secrète et sécurisée.
  • Typiquement, ne sert pas à chiffrer.

Exemple :

pub   rsa4096 2023-01-01 [SC] [expires: 2028-01-01]
uid           [ultimate] Alexis Mercat <alexis@example.com>

3.2 Sous-clés (Subkeys)

  • Dédiées à des usages spécifiques :

  • Chiffrement [E] → déchiffrer les messages reçus

  • Signature [S] → signer mails/fichiers
  • Authentification [A] → SSH/OpenPGP auth

Exemple :

sub   rsa4096 2023-01-01 [E] [expires: 2025-01-01]
sub   rsa2048 2023-01-01 [A] [expires: 2025-01-01]

4. Capacités des clés

Lettre Signification Usage
S Sign Signer documents/mails
C Certify Signer d’autres clés
E Encrypt Chiffrer messages/fichiers
A Authenticate Authentification SSH/OpenPGP
D Disabled Capacité désactivée
R Revoked Clé révoquée
T Timestamp Signer horodatages

5. Gestion des clés

5.1 Lister les clés

gpg --list-keys
gpg --list-secret-keys

5.2 Modifier la clé principale

gpg --edit-key <email_ou_ID>
# Puis dans l'interface interactive :
# expire      -> pour changer date d'expiration
# save        -> sauvegarder

5.3 Modifier une sous-clé

  1. Lister les clés dans l’interface :
gpg --edit-key <email_ou_ID>
gpg> list
  1. Sélectionner la sous-clé :
gpg> key <numéro>
gpg> expire   # changer date d'expiration
gpg> save

4. Chiffrement et signature

4.1 Chiffrer un fichier

gpg --encrypt --recipient alice@example.com secret.txt

4.2 Signer un fichier

gpg --sign message.txt

4.3 Chiffrer et signer en même temps

gpg --encrypt --sign --recipient alice@example.com secret.txt

6. Exporter les clés en format texte

6.1 Clé publique

gpg --export -a <ID_ou_email> > ma_cle_publique.txt

6.2 Clé privée (à sécuriser)

gpg --export-secret-keys -a <ID_ou_email> > ma_cle_privee.txt

6.3 Export d’une sous-clé spécifique

gpg --export -a <ID_sous_cle> > subkey.txt

7. Bonnes pratiques

  • Toujours garder une sauvegarde de la clé privée dans un endroit sûr.
  • Préférer prolonger la date d’expiration plutôt que générer une nouvelle clé pour éviter les doublons.
  • Utiliser des sous-clés pour chiffrement et authentification pour protéger la clé principale.