当我下载GCC时,它还有一个.sig
文件,我认为它是为了验证下载的文件而提供的。
(我从 here 下载了 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
文件验证下载的文件?
最佳答案
您需要导入公钥:C3C45C06
可以通过三个步骤完成。
查找公钥 ID:
$ gpg gcc-4.7.2.tar.gz.sig gpg:签名于 2012 年 20 月 20 日,12:30:44 CEST 使用 DSA key ID C3C45C06 制作 gpg:无法检查签名:没有公钥从 key 服务器导入公钥。通常不需要选择 key 服务器,但可以通过
$ gpg --recv-key C3C45C06 gpg:从hkp服务器keys.gnupg.net请求 key C3C45C06 gpg: key C3C45C06:已导入公钥“Jakub Jelinek jakub@redhat.com” gpg:找不到最终可信的 key gpg:处理总数:1 gpg:导入:1--keyserver <server>
来完成。 Keyserver examples.
如果命令错误并超时,you may be behind a firewall that is blocking the default gpg port. Try using the `--keyserver' option with port 80 (几乎所有防火墙都允许端口 80 b/c 进行网页浏览):
$ gpg --keyserver hkp://${HOSTNAME}:80 --recv-keys ${KEY_ID}
验证签名:
$ gpg gcc-4.7.2.tar.gz.sig gpg:签名于 2012 年 20 月 20 日,12:30:44 CEST 使用 DSA key ID C3C45C06 制作 gpg:来自“Jakub Jelinek jakub@redhat.com”的良好签名[未知] gpg:警告:此 key 未经可信签名认证! gpg:没有迹象表明该签名属于所有者。 主 key 指纹:33C2 35A3 4C46 AA3F FB29 3709 A328 C3A2 C3C4 5C06
输出应该显示“Goodsignature”。
<小时/>gpg: WARNING: This key is not certified with a trusted signature!
是为了另一个问题;)
关于shell - 如何使用.sig文件验证下载的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15331015/