GPG

De knowledge
Révision datée du 27 février 2025 à 21:46 par Jpinon (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Pour générer une pare de clés GPG il y a une page.

Un interlocuteur m'envoie sa clé gpg "publique" comment s'en servir pour encoder un fichier.

Import de la clé

Import

Votre interlocuteur vous envoie une clé: interlocuteur-public.key (exemple). Pour l'ajouter à votre trousseau de clés publiques utilisez l'option --import.

   $gpg --import interlocuteur-public.key

Devrait donner

   gpg: key 5DEF8373: public key "Mon interlocuteur (D-MVC) <son.nom@sondomaine.com>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1

Bien entendu l'emprunte de clé 5DEF8373 sera différente dans chaque cas.

Valider

Une fois que la clé a été importée, elle devrait être validée. GnuPG utilise un modèle de confiance puissant et flexible qui ne requiert pas que vous validiez personnellement chaque clé que vous importez. Toutefois, certaines clés le nécessitent. Une clé peut être validée en vérifiant son empreinte. En la signant, vous certifiez que c'est une clé valide. L'empreinte d'une clé peut être visualisée rapidement avec l'option de ligne de commandes --fingerprint, mais pour certifier la clé, vous devez l'éditer.

   $ gpg --edit-key son.nom@sondomaine.com
   gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
   This is free software: you are free to change and redistribute it.
   There is NO WARRANTY, to the extent permitted by law.


   pub  1024D/58838373  created: 2009-02-27  expires: never       usage: SC
                        trust: unknown       validity: unknown
   sub  2048g/70BAFFD3  created: 2009-02-27  expires: never       usage: E
   [ unknown] (1). Mon interlocuteur (D-MVC) <son.nom@sondomaine.com>
   Command>

Demandez les infos sur cette clé:

   Command> fpr
   pub   1024D/58838373  2009-02-27 Mon interlocuteur (D-MVC) <son.nom@sondomaine.com>
   Primary key fingerprint: B001 4F1C CB98 92F4 8716  2817 08DA 0E6F 5AAF 8373

Contactez votre interlocuteur (téléphone de vive voi...) et validez son "fingerprint".

Vous êtes maintenant certain de la validité de sa clé. Vous pouvez la signer avec votre clé privée.

   Command> sign
   pub  1024D/5AAF8373  created: 2009-02-27  expires: never       usage: SC
                        trust: unknown       validity: unknown
    Primary key fingerprint: B001 4F1C CB98 92F4 8716  2817 08DA 0E6F 5AAF 8373
    Mon interlocuteur (D-MVC) <son.nom@sondomaine.com>
    Are you sure that you want to sign this key with your
    key "Votre Nom <votremail@votredomaine.com>" (FE31FF5C)
   Really sign? (y/N) y

Répondre OUI (Y)

   You need a passphrase to unlock the secret key for user: "Votre Nom <votremail@votredomaine.com>"

Entrez votre "phrase de passe"

   1024-bit DSA key, ID FE31FF5C, created 2009-04-03

La clé est signée!

En revanche elle n'est pas trusted. En gros tant qu'elle ne l'est pas gpg demandera a chaque vois de valider la clé. C'est un problème si on souhaite utiliser gpg dans un script automatique par exemple.

   Command> trust
   Please decide how far you trust this user to correctly verify other users' keys
   (by looking at passports, checking fingerprints from different sources, etc.)
     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
   Your decision?

Choisir 5

   Do you really want to set this key to ultimate trust? (y/N)

Répondre OUI 'Y'


Sortez de gpg en sauvegardant votre travail.

   Command> quit
   Save changes? (y/N) y

chiffrer et déchiffrer

Déchiffrer

Pour déchiffrer un fichier chiffré avec la clé publique que j'ai envoyé à mon correspondant :

   gpg --output secret.txt --decrypt secret.txt.gpg

Chiffrer grâce à la clé que mon correspondant m'a envoyé (et que j'ai importé)

Vous voulez crypter le fichier monfichier.txt avec la clé de "Mon interlocuteur (D-MVC) <son.nom@sondomaine.com>".

   gpg --output secret.txt.gpg --encrypt --recipient blake@cyb.org secret.txt

Le fichier escret.txt.gpg est crée. C'est la version de secret.txt encodé avec la clé publique de votre interlocuteur. Il vous est impossible de le décoder. Seul votre interlocuteur le peut grâce à sa clé privée. Vous pouvez maintenant envoyer ce fichier (courrier electronique, postal...)