Informer Git de l’utilisation de votre clé GPG
Si vous utilisez une clé GPG qui correspond à votre identité de commiteur et à votre adresse e-mail vérifiée associées à votre compte sur GitHub.com, vous pouvez commencer à signer des commits et des étiquettes.
Note
Si vous n’avez pas de clé GPG qui correspond à votre identité de commiteur, vous devez associer un e-mail à une clé existante. Pour plus d’informations, consultez « Association d’un e-mail à votre clé GPG ».
Si vous avez plusieurs clés GPG, vous devez indiquer à Git laquelle utiliser.
-
Ouvrez Terminal .
-
Si vous avez précédemment configuré Git pour utiliser un autre format de clé lors de la signature avec
--gpg-sign
, annulez cette configuration afin que le format par défautopenpgp
soit utilisé.git config --global --unset gpg.format
-
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.Shell gpg --list-secret-keys --keyid-format=long
gpg --list-secret-keys --keyid-format=long
Note
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 utilisegpg2
en exécutantgit config --global gpg.program gpg2
. -
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
:Shell $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
-
Pour définir votre clé de signature primaire GPG dans Git, collez le texte ci-dessous en spécifiant l’ID de clé primaire GPG que vous souhaitez utiliser. Dans cet exemple, l’ID de clé GPG est
3AA5C34371567BD2
:git config --global user.signingkey 3AA5C34371567BD2
Vous pouvez également utiliser une sous-clé. Dans cet exemple, l’ID de sous-clé GPG est
4BB6D45482678BE3
:git config --global user.signingkey 4BB6D45482678BE3
Si vous utilisez plusieurs clés et sous-clés, vous devez ajouter un point d’exclamation
!
à la clé pour indiquer à git qu’il s’agit de votre clé préférée. Parfois, vous devrez peut-être remplacer la marque d’exclamation par une barre oblique inverse :\!
. -
En option, pour configurer Git afin qu'il signe tous les commits et les tags par défaut, entrez la commande suivante :
git config --global commit.gpgsign true git config --global tag.gpgSign true
Pour plus d’informations, consultez « Signature de commits ».
-
Pour ajouter votre clé GPG à votre fichier de démarrage
.bashrc
, exécutez la commande suivante :[ -f ~/.bashrc ] && echo -e '\nexport GPG_TTY=$(tty)' >> ~/.bashrc
Informer Git concernant votre clé SSH
Vous pouvez utiliser une clé SSH existante pour signer des commits et des étiquettes, ou en générer une nouvelle spécifiquement pour la signature. Pour plus d’informations, consultez « Génération d’une nouvelle clé SSH et ajout de celle-ci à ssh-agent ».
Note
La vérification de signature SSH est disponible dans Git 2.34 ou version ultérieure. Pour mettre à jour votre version de Git, consultez le site web Git.
-
Ouvrez Terminal .
-
Configurez Git afin d’utiliser SSH pour signer les commits et étiquettes :
git config --global gpg.format ssh
-
Pour définir votre clé de signature SSH dans Git, collez le texte ci-dessous en remplaçant /PATH/TO/.SSH/KEY.PUB par le chemin vers la clé publique que vous souhaitez utiliser.
git config --global user.signingkey /PATH/TO/.SSH/KEY.PUB