Informar ao Git sobre a chave GPG
Se você estiver usando uma chave GPG que corresponde � sua identidade do autor do submissão e ao endereço de e-mail verificado associado � sua conta em your GitHub Enterprise Server instance, você poderá começar a assinar commits e tags.
Se você não tiver uma chave GPG que corresponda � identidade do committer, precisará associar um e-mail a uma chave existente. Para obter mais informações, consulte "Associar e-mail � chave GPG".
Se você tiver várias chaves GPG, precisará informar ao Git qual deve ser usada.
-
Abra TerminalTerminalGit Bash.
-
Use o comando
gpg --list-secret-keys --keyid-format=long
para listar a forma longa das chaves GPG para as quais você tem uma chave pública e privada. Uma chave privada é necessária para assinar commits ou tags.$ gpg --list-secret-keys --keyid-format=long
Nota: Algumas instalações GPG no Linux podem exigir que você use
gpg2 --list-keys --keyid-format LONG
para visualizar uma lista de suas chaves existentes. Neste caso você também precisará configurar o Git para usargpg2
executandogit config --global gpg.program gpg2
. -
Da lista de chaves GPG, copie a forma longa do ID da chave GPG que você gostaria de usar. Neste exemplo, o ID da chave GPG é
3AA5C34371567BD2
:$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot
ssb 4096R/42B317FD4BA89E7A 2016-03-10 -
Para definir a sua chave de assinatura GPG no Git, cole o texto abaixo, substituindo o ID da chave GPG que você gostaria de usar. Neste exemplo, o ID da chave GPG é
3AA5C34371567BD2
:$ git config --global user.signingkey 3AA5C34371567BD2
-
Se você não estiver usando o pacote GPG, execute o comando a seguir no shell do
zsh
para adicionar a chave GPG ao seu arquivo.zshrc
, se ele existir, ou seu arquivo.zprofile
:$ if [ -r ~/.zshrc ]; then echo 'export GPG_TTY=$(tty)' >> ~/.zshrc; \ else echo 'export GPG_TTY=$(tty)' >> ~/.zprofile; fi
Como alternativa, se você usar o shall de
bash
, execute este comando:$ if [ -r ~/.bash_profile ]; then echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile; \ else echo 'export GPG_TTY=$(tty)' >> ~/.profile; fi
-
Opcionalmente, para solicitar que você digite um PIN ou senha quando necessário, instale
pinentry-mac
. Por exemplo, usando Homebrew:$ brew install pinentry-mac $ echo "pinentry-program $(which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf $ killall gpg-agent
Contando ao Git sobre sua chave X.509
Você pode usar smimesign para assinar commits e tags usando S/MIME em vez de GPG.
Nota: verificação de assinatura S/MIME está disponível no Git 2.19 ou mais tarde. Para atualizar sua versão do Git, consulte o site Git.
- Instale smimesign.
- Abra TerminalTerminalGit Bash.
- Configure o Git para usar o S/MIME para assinar commits e tags. No Git 2.19 ou posterior, use os comandos
git config gpg.x509.program
egit config gpg.format
:
- Para usar o S/MIME para assinar todos os repositórios:
$ git config --global gpg.x509.program smimesign $ git config --global gpg.format x509
- Para usar o S/MIME para assinar um único repositório:
No Git 2.18 ou anterior, use o comando$ cd /path/to/my/repository $ git config --local gpg.x509.program smimesign $ git config --local gpg.format x509
git config gpg.program
: - Para usar o S/MIME para assinar todos os repositórios:
$ git config --global gpg.program smimesign
- Para usar o S/MIME para assinar um único repositório:
Se você estiver usando uma chave X.509 que corresponde � sua identidade do committer, poderá começar a assinar commits e tags.$ cd /path/to/my/repository $ git config --local gpg.program smimesign
- Se você não estiver usando uma chave X.509 que corresponde � sua identidade de committer, liste X.509 chaves para as quais você tem um certificado e uma chave privada usando o comando
smimesign --list-keys
.$ smimesign --list-keys
- Da lista de chaves X.509, copie o ID de certificado da chave X.509 que gostaria de usar. Neste exemplo, o ID do certificado é
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
- Para definir sua chave de autenticação X.509 no Git, cole o texto abaixo, substituindo o certificado que você copiou anteriormente.
- Para usar sua chave X.509 para assinar para todos os repositórios:
$ git config --global user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
- Para usar sua chave X.509 para assinar um único repositório:
$ cd /path/to/my/repository $ git config --local user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
Informar ao Git sobre a chave GPG
Se você estiver usando uma chave GPG que corresponde � sua identidade do autor do submissão e ao endereço de e-mail verificado associado � sua conta em your GitHub Enterprise Server instance, você poderá começar a assinar commits e tags.
Se você não tiver uma chave GPG que corresponda � identidade do committer, precisará associar um e-mail a uma chave existente. Para obter mais informações, consulte "Associar e-mail � chave GPG".
Se você tiver várias chaves GPG, precisará informar ao Git qual deve ser usada.
-
Abra TerminalTerminalGit Bash.
-
Use o comando
gpg --list-secret-keys --keyid-format=long
para listar a forma longa das chaves GPG para as quais você tem uma chave pública e privada. Uma chave privada é necessária para assinar commits ou tags.$ gpg --list-secret-keys --keyid-format=long
Nota: Algumas instalações GPG no Linux podem exigir que você use
gpg2 --list-keys --keyid-format LONG
para visualizar uma lista de suas chaves existentes. Neste caso você também precisará configurar o Git para usargpg2
executandogit config --global gpg.program gpg2
. -
Da lista de chaves GPG, copie a forma longa do ID da chave GPG que você gostaria de usar. Neste exemplo, o ID da chave GPG é
3AA5C34371567BD2
:$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot
ssb 4096R/42B317FD4BA89E7A 2016-03-10 -
Para definir a sua chave de assinatura GPG no Git, cole o texto abaixo, substituindo o ID da chave GPG que você gostaria de usar. Neste exemplo, o ID da chave GPG é
3AA5C34371567BD2
:$ git config --global user.signingkey 3AA5C34371567BD2
Contando ao Git sobre sua chave X.509
Você pode usar smimesign para assinar commits e tags usando S/MIME em vez de GPG.
Nota: verificação de assinatura S/MIME está disponível no Git 2.19 ou mais tarde. Para atualizar sua versão do Git, consulte o site Git.
- Instale smimesign.
- Abra TerminalTerminalGit Bash.
- Configure o Git para usar o S/MIME para assinar commits e tags. No Git 2.19 ou posterior, use os comandos
git config gpg.x509.program
egit config gpg.format
:
- Para usar o S/MIME para assinar todos os repositórios:
$ git config --global gpg.x509.program smimesign $ git config --global gpg.format x509
- Para usar o S/MIME para assinar um único repositório:
No Git 2.18 ou anterior, use o comando$ cd /path/to/my/repository $ git config --local gpg.x509.program smimesign $ git config --local gpg.format x509
git config gpg.program
: - Para usar o S/MIME para assinar todos os repositórios:
$ git config --global gpg.program smimesign
- Para usar o S/MIME para assinar um único repositório:
Se você estiver usando uma chave X.509 que corresponde � sua identidade do committer, poderá começar a assinar commits e tags.$ cd /path/to/my/repository $ git config --local gpg.program smimesign
- Se você não estiver usando uma chave X.509 que corresponde � sua identidade de committer, liste X.509 chaves para as quais você tem um certificado e uma chave privada usando o comando
smimesign --list-keys
.$ smimesign --list-keys
- Da lista de chaves X.509, copie o ID de certificado da chave X.509 que gostaria de usar. Neste exemplo, o ID do certificado é
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
- Para definir sua chave de autenticação X.509 no Git, cole o texto abaixo, substituindo o certificado que você copiou anteriormente.
- Para usar sua chave X.509 para assinar para todos os repositórios:
$ git config --global user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
- Para usar sua chave X.509 para assinar um único repositório:
$ cd /path/to/my/repository $ git config --local user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
Informar ao Git sobre a chave GPG
Se você estiver usando uma chave GPG que corresponde � sua identidade do autor do submissão e ao endereço de e-mail verificado associado � sua conta em your GitHub Enterprise Server instance, você poderá começar a assinar commits e tags.
Se você não tiver uma chave GPG que corresponda � identidade do committer, precisará associar um e-mail a uma chave existente. Para obter mais informações, consulte "Associar e-mail � chave GPG".
Se você tiver várias chaves GPG, precisará informar ao Git qual deve ser usada.
-
Abra TerminalTerminalGit Bash.
-
Use o comando
gpg --list-secret-keys --keyid-format=long
para listar a forma longa das chaves GPG para as quais você tem uma chave pública e privada. Uma chave privada é necessária para assinar commits ou tags.$ gpg --list-secret-keys --keyid-format=long
Nota: Algumas instalações GPG no Linux podem exigir que você use
gpg2 --list-keys --keyid-format LONG
para visualizar uma lista de suas chaves existentes. Neste caso você também precisará configurar o Git para usargpg2
executandogit config --global gpg.program gpg2
. -
Da lista de chaves GPG, copie a forma longa do ID da chave GPG que você gostaria de usar. Neste exemplo, o ID da chave GPG é
3AA5C34371567BD2
:$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot
ssb 4096R/42B317FD4BA89E7A 2016-03-10 -
Para definir a sua chave de assinatura GPG no Git, cole o texto abaixo, substituindo o ID da chave GPG que você gostaria de usar. Neste exemplo, o ID da chave GPG é
3AA5C34371567BD2
:$ git config --global user.signingkey 3AA5C34371567BD2
-
Para adicionar a sua chave de GPG ao seu arquivo de inicialização
.bashrc
, execute o seguinte comando:$ [ -f ~/.bashrc ] && echo 'export GPG_TTY=$(tty)' >> ~/.bashrc