使用GPG校验sign签名

GPG除了可用于信息加密和解密外,还是一个很好的签名算法,能有效的校验文件的完整性。以GnuPG上的软件包为例说明。
一、下载软件
例如,您从 http://www.gnupg.org/ 下载新版的GnuPG 1.4.9版本。
网站提供如下信息:
引用
·  GnuPG 1.4.9 source compressed using bzip2.  3250k S
·  Signature and SHA-1 checksum for previous file. 
826f4bef1effce61c3799c8f7d3cc8313b340b55  gnupg-1.4.9.tar.bz2
·  GnuPG 1.4.9 source compressed using gzip.  4554k S
·  Signature and SHA-1 checksum for previous file. 
52a245d20da70a3f79a2134c8ece3a1d30554ffa  gnupg-1.4.9.tar.gz

把任意一对的源码包和签名下载回来:

# wget ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.4.9.tar.bz2
# wget ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.4.9.tar.bz2.sig

二、校验
1、使用sha1sum校验
引用
# sha1sum gnupg-1.4.9.tar.bz2
826f4bef1effce61c3799c8f7d3cc8313b340b55  gnupg-1.4.9.tar.bz2

校验码相同,软件包完整。

2、使用GnuPG校验
直接运行的话,会提示找不到公钥:
引用
# gpg --verify gnupg-1.4.9.tar.bz2.sig
gpg: 于 2008年03月27日 星期四 01时39分46秒 CST 创建的签名,使用 RSA,钥匙号 1CE0C630
gpg: 无法检查签名:找不到公钥

从第三方的公钥服务器上下载并导入公钥:
引用
# gpg --keyserver subkeys.pgp.net --recv-key 1CE0C630
gpg: 下载密钥‘1CE0C630’,从 hkp 服务器 subkeys.pgp.net
gpg: 密钥 1CE0C630:公钥“Werner Koch (dist sig) <dd9jn@gnu.org>”已导入
gpg: 需要 3 份勉强信任和 1 份完全信任,PGP 信任模型
gpg: 深度:0 有效性:  1 已签名:  0 信任度:0-,0q,0n,0m,0f,1u
gpg: 合计被处理的数量:1
gpg:           已导入:1  (RSA: 1)

校验:
引用
# gpg --verify gnupg-1.4.9.tar.bz2.sig
gpg: 于 2008年03月27日 星期四 01时39分46秒 CST 创建的签名,使用 RSA,钥匙号 1CE0C630
gpg:  完好的签名,来自于“Werner Koch (dist sig) <dd9jn@gnu.org>”
gpg: 警告:这把密钥未经受信任的签名认证!
gpg:       没有证据表明这个签名属于它所声称的持有者。
主钥指纹: 7B96 D396 E647 1601 754B  E4DB 53B6 20D0 1CE0 C630

三、自己做签名
先参考 [原]使用GPG加密信息 ,生成您自己的密钥对。当然,如果单纯用于签名,生成密钥时,可以选择使用DSA、RSA算法种类即可。
然后用gpg生成签名,并把签名单独分离出来:
引用
# gpg --detach-sign gnupg-1.4.9-1.src.rpm

您需要输入密码,才能解开这个用户的私钥:“Hyphen Wang (Use for GPG Encrypt) <gpgencrypt@linuxfly.org>”
1024 位的 DSA 密钥,钥匙号  A3942296,建立于 2008-12-19

根据提示,输入密钥的密码。然后会生成签名文件,可用于校验:
引用
# gpg --verify gnupg-1.4.9-1.src.rpm.sig
gpg: 于 2008年12月19日 星期五 16时59分50秒 CST 创建的签名,使用 DSA,钥匙号  A3942296
gpg: 完好的签名,来自于“Hyphen Wang (Use for GPG Encrypt) <gpgencrypt@linuxfly.org>”

注意,我们使用的密钥对是自己的:
引用
# gpg --list-keys
/root/.gnupg/pubring.gpg
------------------------
pub   1024D/ A3942296 2008-12-19
uid                  Hyphen Wang (Use for GPG Encrypt) <gpgencrypt@linuxfly.org>
sub   2048g/911E677B 2008-12-19

四、帮助
GnuPG 中文选项说明
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值