Como assinar commits com GPG no Git?
A assinatura de commits com GPG (GNU Privacy Guard) no Git adiciona um nível extra de segurança, permitindo que outros desenvolvedores verifiquem a autenticidade do autor das mudanças.
1. Instalando o GPG
Antes de começar, instale o GPG no seu sistema:
- Linux:
sudo apt install gnupg
- MacOS (via Homebrew):
brew install gnupg
- Windows (via Gpg4win):
Baixe e instale em https://www.gpg4win.org/
2. Criando uma chave GPG
Para gerar uma nova chave GPG, execute:
gpg --full-generate-key
Escolha:
- Tipo de chave: RSA and RSA (default)
- Tamanho da chave: 4096 bits (para maior segurança)
- Validade: Recomendado sem expiração
- Nome e e-mail: Use o mesmo e-mail cadastrado no GitHub/GitLab
Depois de criar a chave, liste seu ID:
gpg --list-secret-keys --keyid-format=long
Isso exibirá algo como:
sec rsa4096/ABC123DEF456 2024-03-03 [SC]
O ID da chave é ABC123DEF456
(substitua pelo seu).
3. Configurando o Git para assinar commits
Agora, configure o Git para usar sua chave GPG:
git config --global user.signingkey ABC123DEF456
Ative a assinatura automática de commits:
git config --global commit.gpgsign true
4. Assinando um commit manualmente
Caso queira assinar um commit individualmente, utilize:
git commit -S -m "Mensagem do commit"
5. Verificando um commit assinado
Para verificar se um commit está assinado corretamente:
git log --show-signature
Por que assinar commits com GPG aumenta a segurança no Git?
Assinar commits com GPG no Git é uma prática importante para garantir a autenticidade do código. Grandes plataformas, como GitHub e GitLab, permitem validar commits assinados, adicionando um selo de "Verificado" para confirmar que a alteração foi feita por um autor legítimo.
Isso é especialmente útil para times que trabalham com código-fonte aberto ou para desenvolvedores que precisam garantir que ninguém alterou suas contribuições. Além disso, a adoção do GPG ajuda a prevenir ataques de falsificação de commits, protegendo o histórico do projeto.
Algumas aplicações:
- Garantir que os commits são feitos por usuários autenticados
- Evitar falsificação de commits em repositórios públicos
- Melhorar a segurança e confiabilidade do histórico do Git
- Adicionar um selo de "Verificado" ao commit em plataformas como GitHub
- Assegurar que o código não foi modificado por terceiros sem autorização
Dicas para quem está começando
- Use o mesmo e-mail do GitHub ao criar a chave GPG para garantir a verificação correta.
- Se esquecer de assinar um commit, reescreva-o com 'git commit --amend -S'.
- Adicione sua chave pública ao GitHub em 'Settings > SSH and GPG keys'.
- Se um commit não estiver verificando corretamente, use 'gpg --list-secret-keys' para conferir se a chave está configurada corretamente.
- Evite compartilhar sua chave privada para manter a segurança do seu GPG.
Contribuições de Ricardo Moura