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.

Sobre a verificação de assinatura de commit

Ao usar GPG ou S/MIME, você pode assinar tags e commits localmente. Essas tags ou commits estão marcadas como verificadas em GitHub para que outras pessoas possam estar confiantes de que as alterações vêm de uma fonte de confiança.

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 um commit ou tag tiver uma assinatura GPG ou S/MIME que seja verificável criptograficamente, o GitHub marcará o commit ou a tag "Verificado" ou "Verificado parcialmente."

Commit verificado

Os commits e tags têm o seguinte status de verificação, dependendo se você habilitou o modo vigilante. Por padrão, o modo vigilante não está habilitado. Para obter informações sobre como habilitar o modo vigilante, consulte "Exibir status de verificação para todos os seus commits".

Note: Vigilant mode is currently in beta and subject to change.

Status padrão

StatusDescrição
VerificadoO commit foi assinado e a assinatura foi verificada com sucesso.
Não verificadoO commit foi assinado, mas não foi possível verificar a assinatura.
Sem status de verificaçãoO commit não foi assinado.

Status com modo vigilante habilitado

StatusDescrição
VerificadoThe commit is signed, the signature was successfully verified, and the committer is the only author who has enabled vigilant mode.
Partially verifiedThe commit is signed, and the signature was successfully verified, but the commit has an author who: a) is not the committer and b) has enabled vigilant mode. In this case, the commit signature doesn't guarantee the consent of the author, so the commit is only partially verified.
Não verificadoAny of the following is true:
- The commit is signed but the signature could not be verified.
- The commit is not signed and the committer has enabled vigilant mode.
- The commit is not signed and an author has enabled vigilant mode.

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, consulte "Sobre branches protegidos."

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

GitHub usará automaticamente o GPG para assinar os commits que você fizer usando a interface web do GitHub exceto quando você faz combinação por squash e mescla um pull request do qual você não é o autor. Commits assinados por GitHub terão um status de verificado em GitHub. É possível verificar a assinatura localmente usando a chave pública disponível em https://github.com/web-flow.gpg. A impressão digital completa da chave é 5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23. Opcionalmente, você pode escolher que GitHub assine os commits que você fizer em Codespaces. Para obter mais informações sobre como habilitar a verificação de GPG para os seus códigos, consulte "Gerenciar a verificação de GPG para Codespaces".

Verificação da assinatura de commit GPG

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

O GitHub usa bibliotecas OpenPGP para confirmar se seus commits e tags assinados localmente são criptograficamente verificáveis em relação a uma chave pública que você adicionou à sua conta do GitHub.

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

  1. Verificar se há chaves GPG existentes
  2. Gerar uma nova chave GPG
  3. Adicionar uma nova chave GPG à sua 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 usa o pacote Debian ca-certificates, a mesma loja confiável usada pelos navegadores Mozilla, para confirmar se seus commits e tags localmente assinados são criptograficamente verificáveis em uma chave pública em um certificado raiz confiável.

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.

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

Verificação de assinatura para bots

Organizações e aplicativo GitHubs que exigem assinatura de commit podem usar bots para assinar commits. Se um commit ou uma tag tiver uma assinatura de bot que possa ser verificada de maneira criptográfica, o GitHub marcará o commit ou tag como verificado.

A verificação de assinatura para bots somente funcionará se a solicitação for verificada e autenticada como o aplicativo GitHub ou bot e se não tiver informações de autor personalizadas, informações de committer personalizadas e nenhuma informação de assinatura personalizada, como API de commits.

Leia mais

Esse documento ajudou você? Política de Privacidade

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.