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.