GnuPG : Créer la paire de clé gpg parfaite : clé maitre, subkeys et support smartcard (yubikey)
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 foo
contenant les différentes informations de notre future clé maître. Pensez à changer les lignes Name-Real
, Name-Email
et Passphrase
:
cat >foo <<EOF %echo Generating a RSA key Key-Type: RSA Key-Length: 8192 Key-Usage: cert,sign Name-Real: pfoo #Name-Comment: Name-Email: pfoo@unscdf.org Expire-Date: 0 Passphrase: tmppassphrasepleaseedit # Do a commit here, so that we can later print "done" %commit %echo done EOF