Skip to main content

Esta versão do GitHub Enterprise Server foi descontinuada em 2023-09-25. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise Server. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Sobre a verificação de assinatura de commit

Usando GPG ou S/MIME, você pode assinar marcas e confirmações localmente. Essas tags ou commits são marcadas como verificadas no GitHub Enterprise Server para que outras pessoas possam ter certeza de que as alterações vêm de uma fonte confiável.

Sobre a verificação de assinatura de commit

Você pode assinar commits e tags localmente para dar a outras pessoas confiança sobre a origem de uma alteração que você fez. Se uma confirmação ou uma marca tiver uma assinatura ou S/MIME que possa ser verificada por meio de criptografia, o GitHub Enterprise Server marcará o commit ou a tag como "Verificado".

Captura de tela de um commit na lista de commits de um repositório. A opção "Verificado" é realçada com um contorno laranja.

Se um commit ou uma tag tiver uma assinatura que não possa ser verificada, o GitHub Enterprise Server marcará a confirmação ou a marca como "não verificado".

Verificação de assinatura para troca de base e mesclagem

Ao usar a opção Trocar base e Mesclar em uma solicitação de pull, é importante observar que os commits no branch principal são adicionados ao branch base sem verificação de assinatura de commit. Quando você usa essa opção, o GitHub cria um commit modificado usando os dados e o conteúdo do commit original. Isso significa que o GitHub não criou de fato esse commit e, portanto, não pode assiná-lo como um usuário genérico do sistema. O GitHub não tem acesso às chaves de assinatura privadas do responsável pelo commit, portanto, não pode assinar o commit em nome do usuário.

Uma solução alternativa é trocar a base e fazer a mesclagem localmente e depois enviar as alterações por push ao branch base da solicitação de pull.

Para obter mais informações, confira "Sobre métodos de merge no GitHub".

Os administradores do repositório podem impor a assinatura de commit obrigatória em um branch para bloquear todos os commits que não estejam assinados e verificados. Para obter mais informações, confira "Sobre branches protegidos".

Você pode conferir o status de verificação de seus commits ou tags assinados no GitHub Enterprise Server e ver por que as assinaturas de commit podem não ter sido verificadas. Para obter mais informações, confira "Confirmar o status de verificação da assinatura do commit e da tag".

Se um administrador do site tiver habilitado a assinatura de commit da Web, o GitHub Enterprise Server usará automaticamente o GPG para assinar os commits que você fizer usando a interface da Web. Os commits assinados por GitHub Enterprise Server terão um status verificado. Você pode verificar a assinatura localmente usando a chave pública disponível em https://HOSTNAME/web-flow.gpg. Para obter mais informações, confira "Configurar a assinatura de commit da Web".

Verificação da assinatura de commit GPG

É possível usar GPG para assinar commits com uma chave GPG que você mesmo gera.

O GitHub Enterprise Server usa bibliotecas OpenPGP para confirmar que seus commits e suas marcas assinados localmente são criptograficamente verificáveis em relação a uma chave pública que você adicionou à sua conta no sua instância do GitHub Enterprise Server.

Para assinar commits usando GPG e para que esses commits sejam verificados no GitHub Enterprise Server, siga estas etapas:

  1. Verificar se há chaves GPG existentes
  2. Gerar uma nova chave GPG
  3. Adicionar uma chave GPG à conta do GitHub
  4. Informar o Git sobre a chave de assinatura
  5. Assinar commits
  6. Assinar tags

Verificação da assinatura de commit S/MIME

Você pode usar S/MIME para assinar commits com uma chave X.509 emitida pela organização.

O GitHub Enterprise Server usa o pacote ca-certificates do Debian, o mesmo repositório confiável usado pelos navegadores Mozilla, para confirmar que as tags e os commits assinados localmente são criptograficamente verificáveis em relação a uma chave pública em um certificado raiz confiável.

Observação: a verificação de assinatura S/MIME está disponível no Git 2.19 ou posterior. Para atualizar sua versão do Git, acesse o site do Git.

Para assinar commits usando S/MIME e para que esses commits sejam verificados no GitHub Enterprise Server, siga estas etapas:

  1. Informar o Git sobre a chave de assinatura
  2. Assinar commits
  3. Assinar tags

Não é preciso fazer upload da chave pública no GitHub Enterprise Server.

Leitura adicional