« GnuPG : Créer la paire de clé gpg parfaite : clé maitre, subkeys et support smartcard (yubikey) » : différence entre les versions

De Linux Server Wiki
Aller à la navigation Aller à la recherche
Ligne 42 : Ligne 42 :
Vous pouvez ajouter des <code>uid</code> à votre clé maître en utilisant la commande <code>adduid</code> du prompt gpg. Vous devez pour cela commencer par éditer votre clé maître :
Vous pouvez ajouter des <code>uid</code> à votre clé maître en utilisant la commande <code>adduid</code> du prompt gpg. Vous devez pour cela commencer par éditer votre clé maître :
<pre>gpg --homedir /media/veracrypt1/GNUPG_HOME/HOME/ --edit-key 427356638BBAAD5E85A6763634B914CEACD9EE59</pre>
<pre>gpg --homedir /media/veracrypt1/GNUPG_HOME/HOME/ --edit-key 427356638BBAAD5E85A6763634B914CEACD9EE59</pre>
Puis entrer la commande <code>adduid</code> au prompt gpg :
Puis entrer la commande <code>adduid</code> au prompt gpg. Terminez avec <code>save</code>.
<pre>adduid</pre>
<pre>
adduid
save
</pre>
 
Si vous rencontrez un problème lors de la génération d'un uid, éditez la clé avec l'argument <code>--allow-freeform-uid</code>


=Ajout des sous-clés (subkeys)=
=Ajout des sous-clés (subkeys)=

Version du 7 juillet 2017 à 02:13

Prérequis

  • Une clé usb, disque usb, ou tout autre média amovible réinscriptible pour stocker de manière sécurisé votre clé gpg maître. Je vous recommande vivement de chiffrer ce media (en utilisant par exemple veracrypt).

Initialisation

Montez votre media usb sur votre ordinateur. Dans cet exemple, il sera monté dans /media/veracrypt1. Créez un dossier qui va contenir votre trousseau gpg maître.

mkdir -p /media/veracrypt1/GNUPG_HOME/HOME/

Si vous utilisez le système de fichier FAT sur le media usb sur lequel vous allez stocker votre trousseau maître gpg, il faut créer un fichier S.gpg-agent à la racine de votre futur trousseau gpg afin de forcer la création du socket de l'agent gpg en dehors du système de fichier FAT. Dans cet exemple, je force la création du socket de l'agent gpg dans le répertoire utilisateur de ma machine :

cat >/media/veracrypt1/GNUPG_HOME/HOME/S.gpg-agent <<EOF
%Assuan%
socket=${HOME}/.gnupg/S.gpg-agent-SecureDisk
EOF

Générer la clé maître

Nous allons créer une clé maître RSA de 8192 bits. Cette taille de clé n'est pas nativement supportée par gpg mais on peut en forcer la création en passant par le mode batch de gpg. Pour cela, nous créons le fichier newkey contenant les différentes informations de notre future clé maître. Pensez à changer les lignes Name-Real, Name-Email et Passphrase :

cat >newkey <<EOF
     %echo Generating a RSA key
     Key-Type: RSA
     Key-Length: 8192
     Key-Usage: cert,sign
     Name-Real: pfoo
     #Name-Comment:
     Name-Email: pfoo@yourdomain.tld
     Expire-Date: 0
     Passphrase: tmppassphrasepleaseedit
     # Do a commit here, so that we can later print "done"
     %commit
     %echo done
EOF

Générez la clé maître dans le trousseau gpg maître que nous avons créé :

gpg --homedir /media/veracrypt1/GNUPG_HOME/HOME/ --batch --gen-key --enable-large-rsa -a newkey

Dans cet exemple, la clé créé a l'identifiant 427356638BBAAD5E85A6763634B914CEACD9EE59.

Vous pouvez ajouter des uid à votre clé maître en utilisant la commande adduid du prompt gpg. Vous devez pour cela commencer par éditer votre clé maître :

gpg --homedir /media/veracrypt1/GNUPG_HOME/HOME/ --edit-key 427356638BBAAD5E85A6763634B914CEACD9EE59

Puis entrer la commande adduid au prompt gpg. Terminez avec save.

adduid
save

Si vous rencontrez un problème lors de la génération d'un uid, éditez la clé avec l'argument --allow-freeform-uid

Ajout des sous-clés (subkeys)

Clé de signature

Pour commencer, nous allons créer une subkey de signature. Commencez par ouvrir votre clé maître :

gpg --homedir /media/veracrypt1/GNUPG_HOME/HOME/ --edit-key 427356638BBAAD5E85A6763634B914CEACD9EE59

Au prompt gpg, utilisez la commande addkey. Utilisez le type RSA (sign only), la taille 4096 et éventuellement une date d'expiration (dans mon cas, je n'en spécifie aucune (0)). Terminez en sauvegardant la clé (save) :

addkey
(4) RSA (sign only)
4096
0
save

Clé de chiffrement

Nous allons maintenant créer une subkey de chiffrement. Commencez par ouvrir votre clé maître :

gpg --homedir /media/veracrypt1/GNUPG_HOME/HOME/ --edit-key 427356638BBAAD5E85A6763634B914CEACD9EE59

Au prompt gpg, utilisez la commande addkey. Utilisez le type RSA (encrypt only), la taille 4096 et éventuellement une date d'expiration (dans mon cas, je n'en spécifie aucune (0)). Terminez en sauvegardant la clé (save) :

addkey
(6) RSA (encrypt only)
4096
0
save

Clé d'authentification