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 AE, vous pouvez commencer à signer des commits et des étiquettes.
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 TerminalTerminalGit Bash. 1. 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 ``` 1. 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{:copy} $ gpg --list-secret-keys --keyid-format=long
Remarque : pour afficher la liste des clés existantes sur certaines installations GPG exécutées sous Linux, il peut être nécessaire d’utiliser
gpg2 --list-keys --keyid-format LONG
. Dans ce cas, vous devez également configurer Git pour qu’il utilisegpg2
en exécutantgit config --global gpg.program gpg2
.ssb 4096R/4BB6D45482678BE3 2016-03-10 ``` 1. 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` :
Sinon, lors de la définition d’une sous-clé, incluez le suffixe `!`. Dans cet exemple, l’ID de sous-clé GPG est `4BB6D45482678BE3` :$ git config --global user.signingkey 3AA5C34371567BD2
1. Si vous le souhaitez, pour configurer Git afin de signer toutes les validations par défaut, entrez la commande suivante :$ git config --global user.signingkey 4BB6D45482678BE3!
$ git config --global commit.gpgsign true
Pour plus d’informations, consultez « Signature de commits ».
-
Si vous n’utilisez pas la suite GPG, exécutez la commande suivante dans l’interpréteur de commandes
zsh
pour ajouter la clé GPG à votre fichier.zshrc
, s’il existe, ou votre fichier.zprofile
:$ if [ -r ~/.zshrc ]; then echo 'export GPG_TTY=$(tty)' >> ~/.zshrc; \ else echo 'export GPG_TTY=$(tty)' >> ~/.zprofile; fi
Vous utilisez l’interpréteur de commandes
bash
, vous pouvez également exécuter cette commande :$ if [ -r ~/.bash_profile ]; then echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile; \ else echo 'export GPG_TTY=$(tty)' >> ~/.profile; fi
-
Si vous le souhaitez, pour être invité à entrer un code PIN ou une phrase secrète quand c’est nécessaire, installez
pinentry-mac
. Par exemple, avec Homebrew :$ brew install pinentry-mac $ echo "pinentry-program $(which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf $ killall gpg-agent
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 AE, vous pouvez commencer à signer des commits et des étiquettes.
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 TerminalTerminalGit Bash. 1. 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 ``` 1. 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{:copy} $ gpg --list-secret-keys --keyid-format=long
Remarque : pour afficher la liste des clés existantes sur certaines installations GPG exécutées sous Linux, il peut être nécessaire d’utiliser
gpg2 --list-keys --keyid-format LONG
. Dans ce cas, vous devez également configurer Git pour qu’il utilisegpg2
en exécutantgit config --global gpg.program gpg2
.ssb 4096R/4BB6D45482678BE3 2016-03-10 ``` 1. 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` :
Sinon, lors de la définition d’une sous-clé, incluez le suffixe `!`. Dans cet exemple, l’ID de sous-clé GPG est `4BB6D45482678BE3` :$ git config --global user.signingkey 3AA5C34371567BD2
1. Si vous le souhaitez, pour configurer Git afin de signer toutes les validations par défaut, entrez la commande suivante :$ git config --global user.signingkey 4BB6D45482678BE3!
$ git config --global commit.gpgsign true
Pour plus d’informations, consultez « Signature de commits ».
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 AE, vous pouvez commencer à signer des commits et des étiquettes.
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 TerminalTerminalGit Bash. 1. 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 ``` 1. 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{:copy} $ gpg --list-secret-keys --keyid-format=long
Remarque : pour afficher la liste des clés existantes sur certaines installations GPG exécutées sous Linux, il peut être nécessaire d’utiliser
gpg2 --list-keys --keyid-format LONG
. Dans ce cas, vous devez également configurer Git pour qu’il utilisegpg2
en exécutantgit config --global gpg.program gpg2
.ssb 4096R/4BB6D45482678BE3 2016-03-10 ``` 1. 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` :
Sinon, lors de la définition d’une sous-clé, incluez le suffixe `!`. Dans cet exemple, l’ID de sous-clé GPG est `4BB6D45482678BE3` :$ git config --global user.signingkey 3AA5C34371567BD2
1. Si vous le souhaitez, pour configurer Git afin de signer toutes les validations par défaut, entrez la commande suivante :$ git config --global user.signingkey 4BB6D45482678BE3!
$ git config --global commit.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 'export GPG_TTY=$(tty)' >> ~/.bashrc
Informer Git concernant votre clé X.509
Vous pouvez utiliser smimesign pour signer des commits et des étiquettes à l’aide de S/MIME.
Remarque : La vérification de signature S/MIME est disponible dans Git 2.19 ou version ultérieure. Pour mettre à jour votre version de Git, consultez le site web Git.
- Installez smimesign.
- Ouvrez TerminalTerminalGit Bash.
- Configurez Git afin d’utiliser S/MIME pour signer des validations et des balises. Dans Git 2.19 ou version ultérieure, utilisez les commandes
git config gpg.x509.program
etgit config gpg.format
:
- Pour utiliser S/MIME pour signer pour tous les dépôts :
$ git config --global gpg.x509.program smimesign $ git config --global gpg.format x509
- Pour utiliser S/MIME pour signer pour un seul dépôt :
Dans Git 2.18 ou version antérieure, utilisez la commande$ cd PATH-TO-REPOSITORY $ git config --local gpg.x509.program smimesign $ git config --local gpg.format x509
git config gpg.program
: - Pour utiliser S/MIME pour signer pour tous les dépôts :
$ git config --global gpg.program smimesign
- Pour utiliser S/MIME pour signer pour un seul dépôt :
Si vous utilisez une clé X.509 correspondant à votre identité de valideur, vous pouvez commencer à signer des validations et des étiquettes.$ cd PATH-TO-REPOSITORY $ git config --local gpg.program smimesign
- Si vous n’utilisez pas de clé X.509 correspondant à votre identité de valideur, répertoriez les clés X.509 pour lesquelles vous disposez ’un certificat et d’une clé privée à l’aide de la commande
smimesign --list-keys
.$ smimesign --list-keys
- Dans la liste des clés X.509, copiez l’ID de certificat de la clé X.509 que vous souhaitez utiliser. Dans cet exemple, l’ID de certificat est
0ff455a2708394633e4bb2f88002e3cd80cbd76f
:$ smimesign --list-keys ID: 0ff455a2708394633e4bb2f88002e3cd80cbd76f S/N: a2dfa7e8c9c4d1616f1009c988bb70f Algorithm: SHA256-RSA Validity: 2017-11-22 00:00:00 +0000 UTC - 2020-11-22 12:00:00 +0000 UTC Issuer: CN=DigiCert SHA2 Assured ID CA,OU=www.digicert.com,O=DigiCert Inc,C=US Subject: CN=Octocat,O=GitHub\, Inc.,L=San Francisco,ST=California,C=US Emails: octocat@github.com
- Pour définir votre clé de signature X.509 dans Git, collez le texte ci-dessous, en remplaçant l’ID de certificat par celui que vous avez copié précédemment.
- Pour utiliser votre clé X.509 pour signer pour tous les dépôts :
$ git config --global user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
- Pour utiliser votre clé X.509 pour signer pour un seul dépôt :
$ cd PATH-TO-REPOSITORY $ git config --local user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f