A integridade do pacote fonte pode ser verificada sem validar a assinatura gpg no arquivo dsc
.
Cada fonte de instalação tem um par de arquivos chamados Release
e Release.gpg
. Esses dois arquivos são a raiz de uma árvore de hash, que pode ser usada para validar a integridade de tudo no arquivo. A assinatura gpg em Release
é a única que precisa ser verificada.
A assinatura no arquivo dsc
pode ter um propósito importante antes que o arquivo seja colocado em um repositório e assinado indiretamente por meio de Release.gpg
. Quando o arquivo estiver no repositório, a assinatura no arquivo dsc
poderá ser ignorada.
Veja como eu posso verificar manualmente a integridade. Tanto quanto eu posso dizer, apt-get source
faz a mesma validação.
- Fazer o download de
http://dk.archive.ubuntu.com/ubuntu/dists/trusty/Release
ehttp://dk.archive.ubuntu.com/ubuntu/dists/trusty/Release.gpg
. - Verifique a assinatura usando
gpg --keyring /etc/apt/trusted.gpg --verify Release.gpg Release
(a chave pública também pode ser encontrada em/usr/share/keyrings/ubuntu-archive-keyring.gpg
) - Download
http://dk.archive.ubuntu.com/ubuntu/dists/trusty/main/source/Sources.gz
- Compare os hashes obtidos de
sha256sum Sources.gz
egrep main/source/Sources.gz Release
- Compare os hashes obtidos de
sha256sum pam_1.1.8-1ubuntu2.dsc
ezcat Sources.gz | grep pam_1.1.8-1ubuntu2.dsc
- Validar hashes encontrados no arquivo
dsc
:cat pam_1.1.8-1ubuntu2.dsc | sed -e 's/^ //;s/ [1-9][0-9]* / /' | sha256sum -c