URL: https://linuxfr.org/users/nox/journaux/ma-redecouverte-de-gpg Title: Ma redécouverte de GPG Authors: nox Date: 2021年05月10日T19:36:16+02:00 License: CC By-SA Tags: gpg, openpgp et gnupg Score: 23 Hello, Je me permets d'écrire ce journal tel un mémo technique sur mon utilisation relativement basique de GPG, mais également comme un appel à la correction de ce que je n'aurais pas ou mal compris. J'ai personnellement découvert GPG lors de ma fin d'étude (encore relativement proche), avec le logiciel [pass](https://www.passwordstore.org/). En effet `pass` nécessite l'utilisation d'une clef GPG pour le chiffrement de ses données. A l'époque j'étais tombé sur l'article de [alexcabal](https://alexcabal.com/creating-the-perfect-gpg-keypair) que j'avais jugé pertinent et que j'avais suivi plus ou moins à la lettre sans plus de réflexion. Un certain temps plus tard, j'ai souhaité revoir mon usage complètement casual de Git, et en souhaitant m'améliorer sur ce sujet, j'ai découvert le principe de _signature_ de commit par clef GPG. J'ai donc décidé de créer une nouvelle clef GPG afin de l'utiliser en tant que signature sur mes projets pro, et encore une autre clef pour mes projets perso (oui, on va en reparler de ces clefs). Bref, me voici quelques années plus tard sans avoir véritablement réutilisé GPG, sur le point de quitter mon entreprise pour une autre. Et c'est donc logiquement qu'il va me falloir générer une nouvelle clef pour mon nouvel emploi, mais également une seconde pour mon nouvel email personnel (au revoir Google). Pour me dépoussiérer un peu sur le sujet je me rends en premier lieu sur linuxfr.org (mais pas que), je fouille un peu et je dévore tous les articles suivants : GPG en large en long en travers sur linuxfr.org : - https://linuxfr.org/news/bien-demarrer-avec-gnupg - https://linuxfr.org/users/gouttegd/journaux/de-la-gestion-des-clefs-openpgp - https://linuxfr.org/news/gpg-les-concepts-en-clair-et-pedagogiquement Ces trois articles à eux seuls sont une mine d'or qui m'ont énormément éclaircie ma lanterne, et je recommande d'ailleurs de lire les commentaires de ces trois articles qui fourmillent de questions et de remarques pertinentes. La signature de commit sur git-scm/github/gitlab : - https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work - https://docs.github.com/en/github/authenticating-to-github/generating-a-new-gpg-key - https://docs.gitlab.com/ee/user/project/repository/gpg_signed_commits/ Et enfin plusieurs articles sur les best-practices et notamment l'utilisation des Subkeys : - https://wiki.debian.org/subkeys - https://gist.github.com/Integralist/f7e17034800b65b51eb7e9807720025a - https://blog.eleven-labs.com/en/openpgp-almost-perfect-key-pair-part-1/ - https://gist.github.com/Integralist/f7e17034800b65b51eb7e9807720025a Après avoir lu ce contenu, je suis resté cependant perplexe sur certains détails, et notamment ce concept de _trust_ et d'identité, je ne comprenais pas comment gérer aussi facilement plusieurs identités avec plusieurs clefs qui évoluent au cours de la vie. Long story short, je suis finalement tombé sur [l'article de Bortzmeyer](https://www.bortzmeyer.org/nouvelle-cle-pgp.html) dans [un commentaire](https://linuxfr.org/nodes/105773/comments/1604606), qui parle justement des identités. Il semble que j'étais à côté de la plaque pendant plusieurs années. Donc après avoir fait le ménage dans mon `~/.gnupg` je me retrouve avec une seule clef principale contenant toutes mes identités, et je (pense?) avoir maintenant compris les bases de GnuPG. Prochaine étape, les mails chiffrés :) Ah non j'allais oublier un problème ! J'ai eu un mal fou pour changer la clef utilisée pour `pass`, et n'obtenais que des ``` gpg: 878AED67: skipped: Unusable public key ``` Jusqu'à ce que je tombe sur le mot clef `usage`: ``` gpg --edit-key --expert name@domain.tld sec ed25519/0xABC1234567890 created: 2021年05月10日 expires: 2023年05月10日 usage: SC trust: ultimate validity: ultimate ssb ed25519/0x0987654321DEF created: 2021年05月10日 expires: 2023年05月10日 usage: S ``` J'ai rapidement fait le lien avec `SC = sign capability` et `S = sign only`. Et je me suis rendu compte qu'il me manquait donc une clef de Chiffrement (`usage: E` pour `Encrypt`). Je n'ai pas vérifié cela plus tôt car j'avais pu lire sur plusieurs sources qu'à la génération d'une clef principale, on obtenait automatiquement une subkey de chiffrement, mais il semble que cela ne soit plus le cas, où que j'ai raté quelque chose.

AltStyle によって変換されたページ (->オリジナル) /