Verifica tarballs de GPG na linha de comando com o bloco de chave pública do assinante?

1

Eu tenho um script para buscar os cinco pacotes de fontes do Gcrypt do Download do GnuPG . Eu também busco a assinatura para cada pacote. Por exemplo:

FILE=libassuan-2.2.0
wget -q "ftp://ftp.gnupg.org/gcrypt/libassuan/$FILE.tar.bz2.sig" -O "$FILE.tar.bz2.sig"
wget -q "ftp://ftp.gnupg.org/gcrypt/libassuan/$FILE.tar.bz2" -O "$FILE.tar.bz2"
gpg --verify "$FILE.tar.bz2.sig" "$FILE.tar.bz2"

Ao tentar verificar o download, recebo um erro "Não é possível verificar assinatura: chave pública não encontrada" . Isso é esperado, já que a VM é bastante limpa e não tem um chaveiro GPG (acho que é assim que é chamado).

Eu tenho o bloco de chave pública da página Chave de assinatura e está em um arquivo chamado gpg-signers.pem . Mas eu não sei como usá-lo com o GPG.

Eu pesquisei as páginas man , mas não vejo como passar o bloqueio de chave pública ( gpg-signers.pem ) para o comando ( gpg --verify ). Existe um --sign-key , mas é usado para "assinar uma chave pública com sua chave secreta" ; e não especificar a chave do assinante para verificar uma assinatura.

Como faço para passar gpg-signers.pem para gpg --verify para verificar a assinatura na embalagem?

    
por jww 03.03.2015 / 04:27

1 resposta

1

Precisamos importar as chaves antes de verificar a assinatura.

$ gpg --import gpg-signers.pem
gpg: key 4F25E3B6: public key "Werner Koch (dist sig)" imported
$ gpg --verify libassuan-2.2.0.tar.bz2.sig libassuan-2.2.0.tar.bz2
gpg: Signature made Thu 11 Dec 2014 21:13:07 JST using RSA key ID 4F25E3B6
gpg: Good signature from "Werner Koch (dist sig)"

Se não quisermos que as chaves sejam armazenadas no banco de dados local permanentemente, use um chaveiro descartável.

$ gpg --no-default-keyring --keyring 1.keyring --import gpg-signers.pem
gpg: keyring 1.keyring created
...
$ gpg --no-default-keyring --keyring 1.keyring --verify ...
...
$ trash 1.keyring

Por design, recebemos as chaves fora da banda .

Embora não seja tão conveniente quanto HTTPS, podemos baixar a chave pública de Werner Koch em gpg --recv-key 4F25E3B6 . Este comando funciona pronto para uso em muitas distros com um servidor de chaves pré-configurado. É fácil escrever algum script em um arquivo de assinatura e baixar automaticamente a chave usada pela pessoa que emite essa assinatura. Mas a decisão ainda nos resta, para determinar se devemos confiar ou não na pessoa.

    
por 03.03.2015 / 06:16