Pular para o conteúdo
ecdsa.com

Assinatura de commits do Git

A assinatura de commits e tags do Git com chaves OpenPGP, SSH (desde o Git 2.34) ou X.509, para que plataformas de hospedagem e revisores possam verificar quem os criou; configurada com gpg.format e user.signingkey.
Também escrito comosigned commitsgit commit -Sgpg.format sshgitsignverified commits

Defina git config gpg.format ssh (ou openpgp, x509), user.signingkey e commit.gpgsign true; verifique com git log --show-signature ou git verify-commit. A verificação SSH precisa de um gpg.ssh.allowedSignersFile que liste os principals e as chaves. O Git assina o próprio objeto do commit, que vincula a árvore e os commits pais, mas não os rebases posteriores, que criam novos commits e exigem novas assinaturas.

O GitHub e o GitLab exibem selos Verified quando a assinatura corresponde a uma chave registrada na conta de quem fez o commit (as chaves de assinatura SSH são registradas separadamente das chaves de autenticação), e a proteção de branch pode exigir commits assinados. O gitsign assina commits sem chave (keyless), com o Sigstore. Uma assinatura prova qual chave assinou, não que o código seja bom, e as plataformas assinam novamente, com as próprias chaves, os merges feitos pela interface web.

Padrões e referências

Todos os termos