Générer paire de clés

De knowledge
Révision datée du 27 février 2025 à 21:47 par Jpinon (discussion | contributions) (Page créée avec « Avant d'utiliser gpg sur un ordinateur il faut posséder un paire de clés (publiques/privés). On peut les importer d'une autre machine ou bien les générer sur place. C'est cette dernière opération qui est décrite ici: == Génération == L'option de ligne de commande --gen-key est utilisée pour créer une nouvelle paire de clés. La ligne de commande suivante lance la génération: $ gpg --gen-key Après l'en-tête affichée: gpg (GnuPG) 1.4.9; Co... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Avant d'utiliser gpg sur un ordinateur il faut posséder un paire de clés (publiques/privés). On peut les importer d'une autre machine ou bien les générer sur place. C'est cette dernière opération qui est décrite ici:

Génération

L'option de ligne de commande --gen-key est utilisée pour créer une nouvelle paire de clés.

La ligne de commande suivante lance la génération:

   $ gpg --gen-key

Après l'en-tête affichée:

   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.

gpg demande de choisir une methode de codage:

   Please select what kind of key you want:
      (1) DSA and Elgamal (default)
      (2) DSA (sign only)
      (5) RSA (sign only)

Choisir (1).

   Your selection? 1
   DSA keypair will have 1024 bits.
   ELG-E keys may be between 1024 and 4096 bits long.
   What keysize do you want? (2048)

Il faut entrer la taille de votre clé (2048 est une bonne taille)

   Requested keysize is 2048 bits
   Please specify how long the key should be valid.
            0 = key does not expire
         <n>  = key expires in n days
         <n>w = key expires in n weeks
         <n>m = key expires in n months
         <n>y = key expires in n years

Donnez la durée de vie de votre "paire de clés". 0 (zéro) pour une paire immortelle.

   Key is valid for? (0)
   Key does not expire at all
   Is this correct? (y/N) y

Validez la saisie

   You need a user ID to identify your key; the software constructs the user ID
   from the Real Name, Comment and Email Address in this form:
       "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
   Real name:

Entrez votre nom sous la forme "Prénom Nom"

   Email address:

Entrez votre "vraie" adresse email.

   Comment:

Vous pouvez par exemple entrer un No de téléphone. Vos interlocuteurs pourront ansi valider votre clé publique ne vous appelant.

   You selected this USER-ID:
       "Prénom Nom <addresse@mondomaine.com>"
   Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?

Validez par O (pour Ok)

   You need a Passphrase to protect your secret key.

Entrez deux fois une "phrase de passe" (plus de 40 ou 50 caracteres)

   We need to generate a lot of random bytes. It is a good idea to perform
   some other action (type on the keyboard, move the mouse, utilize the
   disks) during the prime generation; this gives the random number
   generator a better chance to gain enough entropy.
   +++++..+++++.+++++.+++++++++++++++.+++++.++++++++++.++++++++++.+++++.+++++.+++++
   ++++++++++++++++++++......+++++.++++++++++++++++++++++++++++++++++++++++.+++++++
   +++>..+++++....+++++>+++++>+++++>..+++++........................................
   ..............................................................+++++^^^^
   gpg: /home/user/.gnupg/trustdb.gpg: trustdb created
   gpg: key FE3CCD5C marked as ultimately trusted
   public and secret key created and signed.
   gpg: checking the trustdb
   gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
   gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
   pub   1024D/FE3CCD5C 2009-04-03
         Key fingerprint = DEA8 4539 A504 B550  B456 1774 99FF F451 554C
   uid                  Prénom Nom <addresse@mondomaine.com>
   sub   2048g/1DDDBD69 2009-04-03

La paire de clé est générée.

Vérifier la clé

Liste des clés dans le "trousseau".

   $ gpg --list-keys
   /home/user/.gnupg/pubring.gpg
   -------------------------------
   pub   1024D/FE3CCD5C 2009-04-03
   uid                  Prénom Nom <addresse@mondomaine.com>
   sub   2048g/1DDDBD69 2009-04-03

Exporter vos clés

Clé publique

C'est indispensable si vous désirez qu'un personne vous envoie des données sécurisées. (Mails Fichiers)

   gpg --output user-key.gpg --export addresse@mondomaine.com

ou bien pour avoir un fichier ASCII

   gpg --output user-key.gpg -a --export addresse@mondomaine.com

Un fichier user-key.gpg est crée sur le disque. C'est ce fichier qu'il faut envoyer a vos interlocuteurs.

Clé privée

ATTENTION: Il faut tenir cette clé en lieu sur. C'est elle qui permetrait a des pirates de lires les données cryptées par vos partenaires. Exportez cette clé dans un fichier et déposez là dans un lieu sûr. (CD dans un coffre, Clé USB attachée au cou...)

   gpg --output private-user-key.gpg --export-secret-key

ou bien pour avoir un fichier ASCII

   gpg --output private-user-key.gpg -a --export-secret-key

Déplacer clé privée

Dans le cas de machines pas assez puissantes pour générer elle même la clé il est possible de générer la clé sur une autre machine.

  • Générer la clé comme indiqué ci-dessus.
  • Exporter là.
  • Transférer là.
  • Faire le ménage sur la machine de génération (fichier de clé et répertoire .gnupg)
  • Importer la clé sur la machine utilisatrice.


Export de clé

Pour générer un fichier secret.key contenant la clé (machine sur laquelle on a généré la clé).

   gpg --export-secret-key -a > secret.key

Import de clé

Pour importer cette clé privée (machine sur laquelle elle sera utilisée)

   gpg --import secret.key

ATTENTION : Bien penser à retirer la clé dans la machine de "génération" et à transférer par un moyen sûr. N'oubliez pas le .gnupg de la racine !

 rm -rf .gnupg/