RPM-GPG-KEY详解
gpg在linux上的应用主要是实现官方发布的包的签名机制
gpg分为公钥及私钥
公钥:顾名思意,即可共享的密钥,主要用于验证私钥加密的数据及签名要发送给私钥方的数据
私钥:由本地保留的密钥,用于签名本地数据及验证用公钥签名的数据
实现原理(以red hat签名为例):
1>rh在发布其官方的rpm包时(如本地rhel光盘及ftp空间包),会提供一个gpg密钥文件,即所谓的公钥
2>用户下载安装这个rpm包时,引入rh官方的这个rpm gpg公钥,用来验证rpm包是不是rh官方签名的
导入gpg-key:
可以去https://www.redhat.com/security/team/key/或/etc/pki/rpm-gpg查找相应的gpg密钥,并导入到rpm:rpm --import /etc/pki/rpm-gpg/rpm-gpg-key
签名及加密概念:
签名与加密不是一个概念
签名类似于校验码,用于识别软件包是不是被修改过,最常用的的就是我们的gpg及md5签名,原方使用一定的字符(md5)或密码(gpg私钥)与软件进行相应的运算并得到一个定长的密钥
加密是用一定的密钥对原数据进行修改,即使程序在传输中被截获,只要它不能解开密码,就不能对程序进行修改,除非破坏掉文件,那样我们就知道软件被修改过了
rpm验证方法:
1>验证安装的整个软件包的文件rpm -v crontabs-1.10-8
2>验证软件包中的单个文件
rpm -vf /etc/crontab
如果文件没有被修改过,则不输出任何信息
3>验证整个软件包是否被修改过
rpm -vp adobereader_chs-7.0.9-1.i386.rpm
.......t /usr/local/adobe/acrobat7.0/reader/globalprefs/reader_prefs
s.5....t /usr/local/adobe/acrobat7.0/bin/acroread
4>验证签名
rpm -k adobereader_chs-7.0.9-1.i386.rpm
adobereader_chs-7.0.9-1.i386.rpm: sha1 md5 ok
验证结果含意:
s :file size differs
m :mode differs (includes permissions and file type)
5 :md5 sum differs
d :device major/minor number mis-match
l :readlink(2) path mis-match
u :user ownership differs
g :group ownership differs
t :mtime differs
原文地址: