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.

Esta versão do GitHub Enterprise será descontinuada em Esta versão do GitHub Enterprise foi descontinuada em 2020-08-20. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Versão do artigo: Enterprise Server 2.18

Informar ao Git sobre a chave de assinatura

Para assinar commits localmente, é preciso informar ao Git que há uma chave GPG ou X.509 que você deseja 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, 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, 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. 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, 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

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato