如何验证与.sig文件下载的文件吗?(How to verify downloaded file w

2019-08-17 11:21发布

当我下载GCC,它也有一个.sig文件,我认为这是提供给验证下载文件。 (我下载了GCC从这里 )。

但我想不通,我应该如何使用它。 我试过gpg ,但它抱怨公钥。

[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]# 

我如何验证与下载文件.sig文件?

Answer 1:

您需要导入公共密钥: C3C45C06

有三个步骤来完成。

1)发现公共密钥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)从导入密钥服务器的公钥。 它通常没有必要选择密钥服务器,但它是可以做到的--keyserver <server> 。 密钥服务器实例。

$ gpg --recv-key C3C45C06
gpg: requesting key C3C45C06 from hkp server keys.gnupg.net
gpg: key C3C45C06: public key "Jakub Jelinek <jakub@redhat.com>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1

3)核实签名:

$ 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 <jakub@redhat.com>" [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

输出应该说“好标记”。


GPG:警告:此键与可信签名认证!

是另一个问题;)



Answer 2:

这其他途径是用于验证GNU项目(如特别有用八度 ,因为通过他们的签名要求的关键,不得以任何密钥服务器上找到)。

从http://ftp.gnu.org/README

还有的.sig文件,其中包含分离上述文件的GPG签名,由它们产生相同的脚本自动登录。

您可以验证从环文件GNU项目文件签字

https://ftp.gnu.org/gnu/gnu-keyring.gpg

与密钥环文件,源文件,以验证和签名文件目录 ,命令使用方法是:

$ gpg --verify --keyring ./gnu-keyring.gpg foo.tar.xz.sig



Answer 3:

根据该http://gcc.gnu.org/mirrors.html应该是的Jakub Jelinek和有效。 我不知道你会得到他的公钥虽然。



Answer 4:

你必须寻找公共密钥服务器给定键ID:你的情况ID C3C45C06导入在您的本地密钥库中找到的钥匙并在此之后的验证应该没问题。 我使用Ubuntu 12.04和它与海马密钥管理软件。 主要进口之前,我看到的是:

~/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

关键导入后,我看到的是:

~/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) <ruben@gnu.org>"
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


文章来源: How to verify downloaded file with .sig file?