Vendredi 23 novembre 2018

Importation de clés

Importation clés privées/publiques

[yann@e6230 ~]$ gpg --import /run/media/yann/GnuPG/GnuPG/yanspm_sec.gpg
gpg: clef 6B0F9DED70A41FE0 : « Yanspm <yanspm@yanspm.com> » n'est pas modifiée
gpg: clef 6B0F9DED70A41FE0/6B0F9DED70A41FE0 : erreur d'envoi à l'agent : Aucun fichier ou dossier de ce type
gpg: error building skey array: Aucun fichier ou dossier de ce type
gpg:       Quantité totale traitée : 1
gpg:                 non modifiées : 1
gpg:           clefs secrètes lues : 1

En cas d’erreur error building skey array: Il faut exécuter l’instruction gpg-agent ( How to encrypt/decrypt a file or directory in Linux?)

[yann@e6230 ~]$ gpg-agent --daemon
gpg-agent[2960]: répertoire « /home/yann/.gnupg/private-keys-v1.d » créé
gpg-agent: une instance de gpg-agent fonctionne déjà —
pas de démarrage d'une nouvelle instance

Importer la clé privée xeuyak (la clé publique est jointe)

[yann@e6230 ~]$ gpg --import /run/media/yann/GnuPG/GnuPG/xyz-xeuyak_sec.gpg 
gpg: le trousseau local « /home/yann/.gnupg/pubring.kbx » a été créé
gpg: /home/yann/.gnupg/trustdb.gpg : base de confiance créée
gpg: clef 8CDE52D4A8DB230C : clef publique « xeuyak (xeuyak-xeuyakzas) <xeuyak@xeuyakzas.xyz> » importée
gpg: clef 8CDE52D4A8DB230C : clef secrète importée
gpg:       Quantité totale traitée : 1
gpg:                     importées : 1
gpg:           clefs secrètes lues : 1
gpg:      clefs secrètes importées : 1
gpg: aucune clef de confiance ultime n'a été trouvée

[yann@e6230 ~]$ gpg --list-keys
/home/yann/.gnupg/pubring.kbx
-----------------------------
pub   rsa4096 2016-10-10 [SC]
      32CF904F1C08584E20FF99558CDE52D4A8DB230C
uid          [ inconnue] xeuyak (xeuyak-xeuyakzas) <xeuyak@xeuyakzas.xyz>
uid          [ inconnue] xyz-xeuyakzas (xyz alias xeuyak) <xyz@xeuyakzas.xyz>
sub   rsa4096 2016-10-10 [E]

[yann@e6230 ~]$ gpg --list-secret-keys
/home/yann/.gnupg/pubring.kbx
-----------------------------
sec   rsa4096 2016-10-10 [SC]
      32CF904F1C08584E20FF99558CDE52D4A8DB230C
uid          [ inconnue] xeuyak (xeuyak-xeuyakzas) <xeuyak@xeuyakzas.xyz>
uid          [ inconnue] xyz-xeuyakzas (xyz alias xeuyak) <xyz@xeuyakzas.xyz>
ssb   rsa4096 2016-10-10 [E]

ajouter une clé de signature

On édite pour ajouter une clé de signature [S]

[yann@e6230 ~]$ gpg --edit-key 32CF904F1C08584E20FF99558CDE52D4A8DB230C addkey
gpg (GnuPG) 2.1.21; Copyright (C) 2017 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.

La clef secrète est disponible.

sec  rsa4096/8CDE52D4A8DB230C
     créé : 2016-10-10  expire : jamais      utilisation : SC  
     confiance : inconnu       validité : inconnu
ssb  rsa4096/9CAC11AE9DD342B1
     créé : 2016-10-10  expire : jamais      utilisation : E   
[ inconnue] (1). xeuyak (xeuyak-xeuyakzas) <xeuyak@xeuyakzas.xyz>
[ inconnue] (2)  xyz-xeuyakzas (xyz alias xeuyak) <xyz@xeuyakzas.xyz>

Sélectionnez le type de clef désiré :
   (3) DSA (signature seule)
   (4) RSA (signature seule)
   (5) Elgamal (chiffrement seul)
   (6) RSA (chiffrement seul)
Quel est votre choix ? 4
les clefs RSA peuvent faire une taille comprise entre 1024 et 4096 bits.
Quelle taille de clef désirez-vous ? (2048) 4096
La taille demandée est 4096 bits
Veuillez indiquer le temps pendant lequel cette clef devrait être valable.
         0 = la clef n'expire pas
      <n>  = la clef expire dans n jours
      <n>w = la clef expire dans n semaines
      <n>m = la clef expire dans n mois
      <n>y = la clef expire dans n ans
Pendant combien de temps la clef est-elle valable ? (0) 
La clef n'expire pas du tout
Est-ce correct ? (o/N) o
Faut-il vraiment la créer ? (o/N) o
De nombreux octets aléatoires doivent être générés. Vous devriez faire
autre chose (taper au clavier, déplacer la souris, utiliser les disques)
pendant la génération de nombres premiers ; cela donne au générateur de
nombres aléatoires une meilleure chance d'obtenir suffisamment d'entropie.

sec  rsa4096/8CDE52D4A8DB230C
     créé : 2016-10-10  expire : jamais      utilisation : SC  
     confiance : inconnu       validité : inconnu
ssb  rsa4096/9CAC11AE9DD342B1
     créé : 2016-10-10  expire : jamais      utilisation : E   
ssb  rsa4096/4939E4CB81297910
     créé : 2017-07-21  expire : jamais      utilisation : S   
[ inconnue] (1). xeuyak (xeuyak-xeuyakzas) <xeuyak@xeuyakzas.xyz>
[ inconnue] (2)  xyz-xeuyakzas (xyz alias xeuyak) <xyz@xeuyakzas.xyz>

gpg> save

Sauvegarde clés

On sauvegarde (passphrase demandée pour clé privée)

# clé publique
gpg --export -a xeuyak@xeuyakzas.xyz > /run/media/yann/GnuPG/GnuPG/xyz-xeuyak_pub.gpg
# clé privée
gpg --export-secret-keys -a xeuyak@xeuyakzas.xyz > /run/media/yann/GnuPG/GnuPG/xyz-xeuyak_sec.gpg

Sous-clés

C’est ici qu’arrive la partie délicate. Il va vous falloir **supprimer la clé privée maîtresse**, mais GnuPG ne le permet pas de façon pratique.
Vous allez devoir exporter la sous-clé, supprimer la clé privée, puis réimporter la sous-clé.

Trouvez l’identifiant de votre nouvelle sous-clé privée : gpg --list-secret-keys
Exportez votre (ou vos) sous-clé(s) : gpg --output $HOME/subkeys.gpg --export-secret-subkeys [SubkeyID!...] saisie passphrase
Sans argument, toutes vos sous-clés seront exportées. Si vous n’en spécifiez que certaines, n’oubliez pas les points d’exclamation !

gpg --output $HOME/subkeys.gpg --export-secret-subkeys

Supprimez votre clé privée maîtresse :

gpg --delete-secret-keys 8CDE52D4A8DB230C
gpg (GnuPG) 2.1.21; Copyright (C) 2017 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.


sec  rsa4096/8CDE52D4A8DB230C 2016-10-10 xeuyak (xeuyak-xeuyakzas) <xeuyak@xeuyakzas.xyz>

Faut-il supprimer cette clef du porte-clefs ? (o/N) o
C'est une clef secrète — faut-il vraiment la supprimer ? (o/N) o

Réimportez vos sous-clés (passphrase demandée):

gpg --import subkeys.gpg
gpg: clef 8CDE52D4A8DB230C : « xeuyak (xeuyak-xeuyakzas) <xeuyak@xeuyakzas.xyz> » n'est pas modifiée
gpg: To migrate 'secring.gpg', with each smartcard, run: gpg --card-status
gpg: clef 8CDE52D4A8DB230C : clef secrète importée
gpg:       Quantité totale traitée : 1
gpg:                 non modifiées : 1
gpg:           clefs secrètes lues : 1
gpg:      clefs secrètes importées : 1

Vérifiez que gpg -K affiche sec# en face de l’identifiant de votre clé maîtresse, et non un simple sec. Cela signifie que la clé secrète n'est pas réellement présente.

gpg -K
/home/yann/.gnupg/pubring.kbx
-----------------------------
sec#  rsa4096 2016-10-10 [SC]
      32CF904F1C08584E20FF99558CDE52D4A8DB230C
uid          [ inconnue] xeuyak (xeuyak-xeuyakzas) <xeuyak@xeuyakzas.xyz>
uid          [ inconnue] xyz-xeuyakzas (xyz alias xeuyak) <xyz@xeuyakzas.xyz>
ssb   rsa4096 2016-10-10 [E]
ssb   rsa4096 2017-07-21 [S]

On exporte la sous-clef

–export-secret-subkeys

sous clé privée

gpg –export-secret-subkeys -a xeuyak@xeuyakzas.xyz > /run/media/yann/GnuPG/GnuPG/xyz-xeuyak_sec_subkeys.gpg

rm $HOME/subkeys.gpg

Effacer une sous-clé

gpg --delete-keys 8CDE52D4A8DB230C
gpg (GnuPG) 2.1.21; Copyright (C) 2017 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  rsa4096/8CDE52D4A8DB230C 2016-10-10 xeuyak (xeuyak-xeuyakzas) <xeuyak@xeuyakzas.xyz>

Faut-il supprimer cette clef du porte-clefs ? (o/N) o