Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Cover image for Assinatura de commits
William Koller
William Koller

Posted on • Edited on

     

Assinatura de commits

Como conseguimos garantir que somos nós mesmos que fazemos os commits?!

Qualquer pessoa pode alterar a configuração do git, colocar seu e-mail e dizer que foi você que subiu aquele commit.

Para assinar commits, iremos ver o GNUPG.

Nesse link:gnupg vemos que GNUPG é The GNU Privacy Guard.

É uma implementação completa e gratuita do padrão OpenPGP conforme definido pelo RFC4880 (também conhecido como PGP. O GnuPG permite criptografar e assinar dados e comunicações; possui um sistema de gerenciamento de chaves versátil, juntamente com módulos de acesso para todos os tipos de diretórios de chaves públicas. GnuPG, também conhecido como GPG, é uma ferramenta de linha de comando com recursos para facilitar a integração com outros aplicativos. O GnuPG também oferece suporte para S/MIME e Secure Shell (ssh).

Instalação no linux

sudo apt update sudo apt install gnupg
Enter fullscreen modeExit fullscreen mode

Iremos verificar se existe alguma chave criada no nosso computador.

gpg --list-secret-key --keyid-form LONG
Enter fullscreen modeExit fullscreen mode

Image description

Vamos criar a nossa chave

gpg --full-generate-key
Enter fullscreen modeExit fullscreen mode
  1. Selecionamos (1) para usarmos RSA
  2. 4096 bits long
  3. y
  4. quanto tempo quer que seja valido a chave: 1y
  5. y
  6. Real name: seu nomeEmail address:seuemail@mail.com
  7. selecionar O para salvar e sair.
  8. criar uma senha no seu computador para ter acesso a chave.

Image description

Iremos verificar a chave criada.

gpg --list-secret-key --keyid-form LONG
Enter fullscreen modeExit fullscreen mode

Image description

Com esse retorno:

sec   rsa4096/1F64329A378F71EE 2022-06-17 [SC] [expires: 2023-06-17]      8EF31698FB71ACAC945C4A3E1F64329A378F71EEuid                 [ultimate] William Koller <williamkoller404@gmail.com>ssb   rsa4096/43D2BB51F0668C4B 2022-06-17 [E] [expires: 2023-06-17]
Enter fullscreen modeExit fullscreen mode

Iremos copiar o sec =>1F64329A378F71EE que é o id para pegarmos a chave publica e adicionar no github.

 gpg --armor --export 1F64329A378F71EE
Enter fullscreen modeExit fullscreen mode

Pegamos a chave e adicionamos no github em GPG Keys

Image description

Agora iremos configurar o git para assinar commit e tags

git config --global commit.gpgsign truegit config --global tag.gpgSign true
Enter fullscreen modeExit fullscreen mode

Criei esse projeto no github para exemplificar

Image description

Precisamos adicionar a nossa chave no git

git config --global user.signingkey 1F64329A378F71EE
Enter fullscreen modeExit fullscreen mode

Quando formos commitar irá aparece essa tela para confirmamos a senha

Image description

Agora iremos verificar se o git esta vinculado ao nosso commit

git log --show-signature -1
Enter fullscreen modeExit fullscreen mode

Image description

Vamos no repositorio verificar se o usuário está verificado, clicamos hash do commit.

Image description

Ultimo passo

sudo nano ~/.gnupg/gpg.conf
Enter fullscreen modeExit fullscreen mode

E adicionaruse-agent e salvar e em seguida roda esse comandogpgconf --launch gpg-agent

Pronto agora temos a verificação de assinatura de commits.

Espero ter ajudado.

Top comments(2)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss
CollapseExpand
 
micalevisk profile image
Micael Levi L. C.
just run $ npx @micalevisk/card
  • Location
    Brazil
  • Education
    Computer Science Bachelor's Degree at Federal University of Amazonas (UFAM)
  • Work
    Solutions Architect at Tarken.ag
  • Joined

muito bom! Imagino seja possível adicionar isso por repositório, né? em vez de deixar global

CollapseExpand
 
williamkoller profile image
William Koller
Senior Software Engineer
  • Location
    Parana, Brazil
  • Education
    Analysis and Systems Development
  • Work
    Senior Software Engineer
  • Joined
• Edited on• Edited

da sim, só adicionar sem o --global

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

Senior Software Engineer
  • Location
    Parana, Brazil
  • Education
    Analysis and Systems Development
  • Work
    Senior Software Engineer
  • Joined

More fromWilliam Koller

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp