Author

Topic: 用PGP检验QT钱包文件的完整性! (Read 851 times)

legendary
Activity: 1064
Merit: 1001
itkylin.com
July 21, 2014, 07:07:38 AM
#1
最近论坛上有一个骗子一直注册不同的ID发贴欺骗小白下载有病毒的QT钱包文件,在此特写一个用PGP检验QT钱包文件的完整性!的教程。

验证安装软件包完整性和真实性的另一个方法是使用加密签名。这比使用MD5校验和更可靠,但是需要更多的工作。Linux、类UNIX系统下用pgp就很简单不,此处不再做介绍,下面主要介绍在Windows系统下利用PGP检验文件完整性,关于安装GunPG部份请参考文章:用GnuPG加密解密你的重要数据!

下面我们用GnuPG(GNU Privacy Guard)对下载litecoin-0.8.7.2-win32-setup.exe软件包进行签名检验举例:

从官网下载源文件和签名文件:

litecoin-0.8.7.2-win32-setup.exe
litecoin-0.8.7.2-win32-setup.exe.asc

执行如下命令:
C:\Program Files\GNU\GnuPG>gpg.exe --verify litecoin-0.8.7.2-win32-setup.exe.asc

你会发现类似下面的结果:

gpg: 于 06/14/14 18:25:12 创建的签名,使用 RSA,钥匙号 969276F5
gpg: 无法检查签名:找不到公钥

出现这个很正常, 因为我们没有这个文件的公钥. 从输出信息我们知道我们需要 969276F5的公钥.

C:\Program Files\GNU\GnuPG>gpg.exe --keyserver subkeys.pgp.net –recv-keys 969276F5

--keyserver 后面的是pgp的公钥服务器, 这里我们用pgp.net
--recv-key 后面时我们要获取的公钥ID, 这里时969276F5

你会得到类似的结果:

gpg: 下载密钥‘969276F5’,从 hkp 服务器 subkeys.pgp.net
gpg: 密钥 969276F5:公钥“Litecoin Dev Team (Build Signing Key June 2013) <[email protected]>”已导入
gpg: 需要 3 份勉强信任和 1 份完全信任,PGP 信任模型
gpg: 深度:0 有效性:  1 已签名:  0 信任度:0-,0q,0n,0m,0f,1u
gpg: 合计被处理的数量:1
gpg:           已导入:1  (RSA: 1)

然后执行:
C:\Program Files\GNU\GnuPG>gpg.exe –verify litecoin-0.8.7.2-win32-setup.exe.asc litecoin-0.8.7.2-win32-setup.exe

得到下面的结果:

gpg: 于 06/14/14 18:25:12 创建的签名,使用 RSA,钥匙号 969276F5
gpg: 完好的签名,来自于“Litecoin Dev Team (Build Signing Key June 2013) <[email protected]>”
gpg: 警告:这把密钥未经受信任的签名认证!
gpg:       没有证据表明这个签名属于它所声称的持有者。
主钥指纹: DC38 0DA4 3082 F163 78C9  7414 C37E 4723 9692 76F5

我们注意到第二行: “gpg: 完好的签名” 则证明文件是完整的.

相关阅读:
用PGP检验QT钱包文件的完整性!
用MD5检验QT钱包文件的完整性!
比特币客户端的消息签名使用指南!
备份和加密你的比特币钱包!
Bitshare & Protoshares挖矿教程!
Ubuntu & Cpuminer & XMR (MRO) 挖矿笔记!
阿瓦隆3代单模组290G设置教程(新版ADP2)!
Jump to: