{"meta":{"title":"Génération d’une nouvelle clé GPG","intro":"Si vous n’avez pas de clé GPG à disposition, vous pouvez en générer une pour signer les commits et les étiquettes.","product":"Authentification","breadcrumbs":[{"href":"/fr/authentication","title":"Authentification"},{"href":"/fr/authentication/managing-commit-signature-verification","title":"Vérifier les signatures de commit"},{"href":"/fr/authentication/managing-commit-signature-verification/generating-a-new-gpg-key","title":"Génération d’une nouvelle clé GPG"}],"documentType":"article"},"body":"# Génération d’une nouvelle clé GPG\n\nSi vous n’avez pas de clé GPG à disposition, vous pouvez en générer une pour signer les commits et les étiquettes.\n\n### Algorithmes de clé GPG pris en charge\n\nGitHub supporte plusieurs algorithmes de clés GPG. Si vous essayez d’ajouter une clé générée avec un algorithme non pris en charge, vous pouvez rencontrer une erreur.\n\n* RSA\n* ElGamal\n* DSA\n* ECDH\n* ECDSA\n* EdDSA\n\n## Génération d’une clé GPG\n\n> \\[!NOTE]\n> Avant de générer une nouvelle clé GPG, veillez à vérifier votre adresse e-mail. Si vous n’avez pas vérifié votre adresse e-mail, vous ne pourrez pas signer de validations et de balises avec GPG. Pour plus d’informations, consultez [Vérification de votre adresse e-mail](/fr/account-and-profile/how-tos/email-preferences/verifying-your-email-address).\n\n1. Téléchargez et installez [les outils en ligne de commande GPG](https://www.gnupg.org/download/) pour votre système d’exploitation. D’une manière générale, nous recommandons d’installer la version la plus récente de votre système d’exploitation.\n\n2. Ouvrez <span class=\"platform-mac\">Terminal</span><span class=\"platform-linux\">Terminal</span><span class=\"platform-windows\">Git Bash</span>.\n\n3. Générez une paire de clés GPG. Étant donné qu’il existe plusieurs versions de GPG, vous devrez peut-être consulter la [*page man*](https://en.wikipedia.org/wiki/Man_page) correspondante pour trouver la commande de génération de clé appropriée.\n   * Si vous utilisez la version 2.1.17 ou une version ultérieure, collez le texte ci-dessous pour générer une paire de clés GPG.\n\n     ```shell copy\n     gpg --full-generate-key\n     ```\n\n   * Si vous n’utilisez pas la version 2.1.17 ou une version ultérieure, la commande `gpg --full-generate-key` ne fonctionne pas. Collez le texte ci-dessous et passez à l’étape 6.\n\n     ```shell copy\n     gpg --default-new-key-algo rsa4096 --gen-key\n     ```\n\n4. À l’invite, spécifiez le type de clé souhaité ou appuyez sur `Enter` pour accepter la valeur par défaut.\n\n5. À l’invite, spécifiez la taille de clé souhaitée ou appuyez sur `Enter` pour accepter la valeur par défaut.\n\n6. Entrez la durée de validité de la clé. Appuyez sur `Enter` pour confirmer la sélection par défaut (la clé n’expire pas). Sauf si vous avez besoin d’une date d’expiration, nous vous recommandons d’accepter cette valeur par défaut.\n\n7. Vérifiez que vos sélections sont correctes.\n\n8. Entrez vos informations d’identifiant utilisateur.\n\n   > \\[!NOTE]\n   > Lorsque vous êtes invité à entrer votre adresse e-mail, vérifiez que vous entrez l’adresse e-mail vérifiée pour votre compte GitHub.\n\nPour garder votre adresse email privée, utilisez votre GitHub fourni par GitHub. `no-reply` l’adresse électronique.\n\nPour plus d’informations, consultez [Vérification de votre adresse e-mail](/fr/account-and-profile/how-tos/email-preferences/verifying-your-email-address) et [Définition de votre adresse e-mail de commit](/fr/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address).\n\n1. Tapez une phrase secrète sûre.\n\n2. Utilisez la commande `gpg --list-secret-keys --keyid-format=long` pour répertorier la forme longue des clés GPG pour lesquelles vous disposez à la fois d’une clé publique et d’une clé privée. Une clé privée est requise pour la signature des validations ou des étiquettes.\n\n   ```shell copy\n   gpg --list-secret-keys --keyid-format=long\n   ```\n\n   > \\[!NOTE]\n   > Certaines installations GPG sous Linux peuvent vous demander d'utiliser `gpg2 --list-keys --keyid-format LONG` pour afficher une liste de vos clés existantes à la place. Dans ce cas, vous devez également configurer Git pour qu’il utilise `gpg2` en exécutant `git config --global gpg.program gpg2`.\n\n3. Dans la liste des clés GPG, copiez la forme longue de l’ID de clé GPG à utiliser. Dans cet exemple, l’ID de clé GPG est `3AA5C34371567BD2` :\n\n   ```shell copy\n   $ gpg --list-secret-keys --keyid-format=long\n   /Users/hubot/.gnupg/secring.gpg\n   ------------------------------------\n   sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]\n   uid                          Hubot <hubot@example.com>\n   ssb   4096R/4BB6D45482678BE3 2016-03-10\n   ```\n\n4. Collez le texte ci-dessous en indiquant l’ID de clé GPG que vous souhaitez utiliser. Dans cet exemple, l’ID de clé GPG est `3AA5C34371567BD2` :\n\n   ```shell copy\n   gpg --armor --export 3AA5C34371567BD2\n   # Prints the GPG key ID, in ASCII armor format\n   ```\n\n5. Copiez votre clé GPG en commençant par `-----BEGIN PGP PUBLIC KEY BLOCK-----` et en terminant par `-----END PGP PUBLIC KEY BLOCK-----`.\n\n6. [Add la clé GPG à votre compte GitHub](/fr/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account).\n\n## Pour aller plus loin\n\n* [Vérification des clés GPG existantes](/fr/authentication/managing-commit-signature-verification/checking-for-existing-gpg-keys)\n* [Ajout d’une clé GPG à votre compte GitHub](/fr/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account)\n* [Informer Git de l’utilisation de votre clé de signature](/fr/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key)\n* [Association d’un e-mail à votre clé GPG](/fr/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key)\n* [Signature de commits](/fr/authentication/managing-commit-signature-verification/signing-commits)\n* [Signature d’étiquettes](/fr/authentication/managing-commit-signature-verification/signing-tags)"}