Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Informar ao Git sobre a chave de assinatura

Para assinar commits localmente, você precisa informar ao Git que há uma chave GPG ou X.509 que você gostaria de usar.

Neste artigo

Informar ao Git sobre a chave GPG

Se você estiver usando uma chave GPG que corresponda à identidade do committer (autor do commit) e ao endereço de e-mail associado à conta do GitHub Enterprise Server, 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.

  1. Abra TerminalTerminalGit Bash.

  2. Use os comandos gpg --list-secret-keys --keyid-format LONG para listar as 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 usar gpg2 executando git config --global gpg.program gpg2.

  3. Da lista de chaves GPG, copie o 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
  4. 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
  5. Se você não estiver usando o conjunto de GPG, cole o texto abaixo para adicionar a chave GPG ao seu perfil de bash:

    $ test -r ~/.bash_profile && echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile
    $ echo 'export GPG_TTY=$(tty)' >> ~/.profile

    Observação: se você não tiver .bash_profile, este comando adicionará sua chave GPG a .profile.

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.

  1. Instale smimesign.
  2. Abra TerminalTerminalGit Bash.
  3. 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 e git 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:
    $ cd /path/to/my/repository
    $ git config --local gpg.x509.program smimesign
    $ git config --local gpg.format x509
    No Git 2.18 ou anterior, use o comando 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:
    $ cd /path/to/my/repository
    $ git config --local gpg.program smimesign
    Se você estiver usando uma chave X.509 que corresponde à sua identidade do committer, poderá começar a assinar commits e tags.
  1. Se você não estiver usando uma chave X.509 que corresponde à sua identidade de commiter, liste X.509 chaves para as quais você tem um certificado e uma chave privada usando o comando smimesign --list-keys.
    $ smimesign --list-keys
  2. 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
  3. 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 corresponda à identidade do committer (autor do commit) e ao endereço de e-mail associado à conta do GitHub Enterprise Server, 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.

  1. Abra TerminalTerminalGit Bash.

  2. Use os comandos gpg --list-secret-keys --keyid-format LONG para listar as 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 usar gpg2 executando git config --global gpg.program gpg2.

  3. Da lista de chaves GPG, copie o 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
  4. 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.

  1. Instale smimesign.
  2. Abra TerminalTerminalGit Bash.
  3. 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 e git 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:
    $ cd /path/to/my/repository
    $ git config --local gpg.x509.program smimesign
    $ git config --local gpg.format x509
    No Git 2.18 ou anterior, use o comando 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:
    $ cd /path/to/my/repository
    $ git config --local gpg.program smimesign
    Se você estiver usando uma chave X.509 que corresponde à sua identidade do committer, poderá começar a assinar commits e tags.
  1. Se você não estiver usando uma chave X.509 que corresponde à sua identidade de commiter, liste X.509 chaves para as quais você tem um certificado e uma chave privada usando o comando smimesign --list-keys.
    $ smimesign --list-keys
  2. 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
  3. 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

Observação: as chaves X.509 não são compatíveis com Linux. Embora seja possível configurar gpgsm para fornecer serviços de assinatura e criptografia, não há suporte para isso no GitHub Enterprise Server. Para obter mais informações, consulte o tópico gpgsm na documentação do GnuPG.

Informar ao Git sobre a chave GPG

Se você estiver usando uma chave GPG que corresponda à identidade do committer (autor do commit) e ao endereço de e-mail associado à conta do GitHub Enterprise Server, 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.

  1. Abra TerminalTerminalGit Bash.

  2. Use os comandos gpg --list-secret-keys --keyid-format LONG para listar as 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 usar gpg2 executando git config --global gpg.program gpg2.

  3. Da lista de chaves GPG, copie o 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
  4. 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
  5. Para adicionar a chave GPG ao seu perfil de bash, cole o texto abaixo:

    $ test -r ~/.bash_profile && echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile
    $ echo 'export GPG_TTY=$(tty)' >> ~/.profile

    Observação: se você não tiver .bash_profile, este comando adicionará sua chave GPG a .profile.

Leia mais

Esse documento ajudou você?

Privacy policy

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.