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.
-
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
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
. -
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
Sinon, lors de la définition d’une sous-clé, incluez le suffixe
!
. Dans cet exemple, l’ID de sous-clé GPG est4BB6D45482678BE3
:git config --global user.signingkey 4BB6D45482678BE3!
-
Si vous le souhaitez, pour configurer Git afin de signer toutes les validations par défaut, entrez la commande suivante :
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 -e '\nexport GPG_TTY=$(tty)' >> ~/.zshrc; \ else echo -e '\nexport 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 -e '\nexport GPG_TTY=$(tty)' >> ~/.bash_profile; \ else echo -e '\nexport 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.
-
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
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
. -
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
Sinon, lors de la définition d’une sous-clé, incluez le suffixe
!
. Dans cet exemple, l’ID de sous-clé GPG est4BB6D45482678BE3
:git config --global user.signingkey 4BB6D45482678BE3!
-
Si vous le souhaitez, pour configurer Git afin de signer toutes les validations par défaut, entrez la commande suivante :
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.
-
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
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
. -
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
Sinon, lors de la définition d’une sous-clé, incluez le suffixe
!
. Dans cet exemple, l’ID de sous-clé GPG est4BB6D45482678BE3
:git config --global user.signingkey 4BB6D45482678BE3!
-
Si vous le souhaitez, pour configurer Git afin de signer toutes les validations par défaut, entrez la commande suivante :
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 -e '\nexport 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 :
cd PATH-TO-REPOSITORY git config --local gpg.x509.program smimesign git config --local gpg.format x509
Dans Git 2.18 ou version antérieure, utilisez la commande
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 :
cd PATH-TO-REPOSITORY git config --local gpg.program smimesign
Si vous utilisez une clé X.509 correspondant à votre identité de valideur, vous pouvez commencer à signer des validations et des étiquettes.
-
-
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
-