Posso usar o GnuPG para verificar se um arquivo não é modificado e vem do remetente correto?
Vamos dar um caso de uso simples:
- Eu tenho este arquivo com algum conteúdo importante, digamos que esteja em um arquivo .tar.gz.
- Assino esse arquivo com algo como o GnuPG
- Eu envio este arquivo para outro cara.
- O outro cara gosta de saber que o arquivo não foi modificado por um homem no meio e que eu era o remetente. Então ele usa a mesma ferramenta para verificar se o arquivo está ok.
Uma ferramenta como o GnuPG pode ajudar aqui?
Nota: Os dois computadores são baseados em Linux e a linha de comando é agradável:)
/ Obrigado
Foi o que eu fiz.
Instalar:
sudo aptitude install gnupg
Gere uma chave e exporte-a:
gpg --gen-key
gpg --export -a "Johan Simonsson" > public.key
Deu ao outro cara o public.key em um usb-stick
Criamos um arquivo de teste para reproduzi-lo e assiná-lo:
tar -cvzf test.tar.gz ~/.vim
gpg --output test.sig --detach-sig test.tar.gz
tar -cvzf file.tar.gz test.sig test.tar.gz
O outro cara importa a chave que eu lhe dei em um pendrive.
gpg --import public.key
Então eu envio o arquivo file.tar.gz para o outro cara, e ele pode verificar os arquivos que eu enviei para ele com algo parecido com isto:
tar -xvzf file.tar.gz
gpg --verify test.sig test.tar.gz
E esta parece ser uma solução ok (já que as chaves não estão em todo lugar)
Nota: Ou podemos usar os servidores PGP para armazenar as chaves, mas isso é outro assunto.