如何使用.sig文件validation下载的文件?

当我下载GCC时,它也有一个.sig文件,我认为它提供了validation下载的文件。 (我从这里下载了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文件validation下载的文件?

您需要导入公钥: C3C45C06

可以分三步完成。

1)find公钥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)从密钥服务器导入公钥。 通常不需要select密钥服务器,但是可以使用--keyserver <server>来完成。 Keyserver示例。

 $ 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)validation签名:

 $ 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:警告:此密钥未通过可信的签名authentication!

是另一个问题;)

这个其他途径对于validationGNU项目(例如Octave )特别有用,因为它们的签名请求的密钥可能在任何密钥服务器中都找不到。

http://ftp.gnu.org/README

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

您可以使用以下密钥环文件validationgnu项目文件签名

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

具有密钥环文件,要validation的源文件和签名文件的目录中 ,要使用的命令是:

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

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

您必须search给定密钥ID的公用密钥服务器:在您的案例ID C3C45C06导入您的本地密钥库中find的密钥,此后validation应该是确定的。 我使用Ubuntu 12.04,并附带海马密钥pipe理软件。 在import关键之前,我看到了这一点:

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

关键import后,我看到这个:

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