Como verificar o arquivo baixado com.ficheiro sig?
Quando eu baixar o GCC, ele também tem um arquivo .sig
, e eu acho que ele é fornecido para verificar o arquivo baixado.
(Eu baixei o GCC de aqui ).
[root@localhost src]# gpg --verify gcc-4.7.2.tar.gz.sig gcc-4.7.2.tar.gz
gpg: Signature made Thu 20 Sep 2012 07:30:44 PM KST using DSA key ID C3C45C06
gpg: Can't check signature: No public key
[root@localhost src]#
Como posso verificar o ficheiro baixado com o ficheiro .sig
?
4 answers
C3C45C06
Pode ser feito em três passos.
1) Encontrar a chave pública ID:
$ gpg gcc-4.7.2.tar.gz.sig
gpg: Signature made Čt 20. září 2012, 12:30:44 CEST using DSA key ID C3C45C06
gpg: Can't check signature: No public key
2) importar a chave pública do servidor de chaves. Normalmente não é necessário escolher o servidor de chaves, mas pode ser feito com --keyserver <server>
. Keyserver examples.
$ gpg --recv-key C3C45C06
gpg: requesting key C3C45C06 from hkp server keys.gnupg.net
gpg: key C3C45C06: public key "Jakub Jelinek <[email protected]>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
3) verificar a assinatura:
$ gpg gcc-4.7.2.tar.gz.sig
gpg: Signature made Čt 20. září 2012, 12:30:44 CEST using DSA key ID C3C45C06
gpg: Good signature from "Jakub Jelinek <[email protected]>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 33C2 35A3 4C46 AA3F FB29 3709 A328 C3A2 C3C4 5C06
A saída deve dizer "boa assinatura".
Gpg: atenção: Esta chave não está certificada com uma assinatura!
É para outra pergunta;}
Esta outra via é particularmente útil para verificar projectos GNU (por exemplo oitava), uma vez que a chave pedida pela sua assinatura pode não ser encontrada em nenhum servidor de chaves.
Também há .ficheiros sig, que contêm assinaturas GPG destacadas de os arquivos acima, assinados automaticamente pelo mesmo script que gera-os.
Você pode verificar as assinaturas para os ficheiros do Projecto gnu com a chaveiro ficheiro de:
Https://ftp.gnu.org/gnu/gnu-keyring.gpg
Numa pasta com o ficheiro do porta-chaves, o ficheiro de código para verificar e o ficheiro de assinatura , o comando a usar é:
$ gpg --verify --keyring ./gnu-keyring.gpg foo.tar.xz.sig
Tem de procurar nos servidores de chaves públicos o id da chave: no seu caso ID C3C45C06
Importar a chave encontrada no seu teclado local e, depois disso, a verificação deverá estar OK.
Eu uso Ubuntu 12.04 e vem com software de gerenciamento de chaves Seahorse. Antes da importação principal, estava a ver isto:
~/Downloads$ gpg --verify --keyring ./gnu-keyring.gpg icecat-31.5.0.en-US.linux-x86_64.tar.bz2.sig icecat-31.5.0.en-US.linux-x86_64.tar.bz2
gpg: Signature made 9.03.2015 (пн) 22,35,52 EET using RSA key ID D7E04784
gpg: Can't check signature: public key not found
Depois da chave de importação estava a ver isto:
~/Downloads$ gpg --verify --keyring ./gnu-keyring.gpg icecat-31.5.0.en-US.linux-x86_64.tar.bz2.sig icecat-31.5.0.en-US.linux-x86_64.tar.bz2
gpg: Signature made 9.03.2015 (пн) 22,35,52 EET using RSA key ID D7E04784
gpg: Good signature from "Ruben Rodriguez (GNU IceCat releases key) <[email protected]>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: A573 69A8 BABC 2542 B5A0 368C 3C76 EED7 D7E0 4784