Skip to main content

Atualmente o GitHub AE está em versão limitada.

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 AE 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 AE 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 AE 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 AE 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".

Verificação da assinatura de commit GPG

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

O GitHub AE 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 GitHub AE.

Para assinar commits usando GPG e para que esses commits sejam verificados no GitHub AE, 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 AE 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 AE, 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 AE.

Leitura adicional