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

linux RPM-GPG-KEY 包签名机制 简介相关推荐

  1. python包管理机制_Go 1.5之前的多种包管理机制简介(

    在 Go 语言中,我们可以使用go get命令安装远程仓库中托管的代码,不同于 Ruby Gem.pypi 等集中式的包管理机制, Go 语言的包管理系统是去中心化的.简单来讲,go get命令支持任 ...

  2. 一文弄懂关于证书的一切,ssl协议,android包签名机制。

    所有的概念都基于一个非常重要的基础: rsa 非对称加密算法 : 1. 在加解密上,两个秘钥是对等的 任何一个可以加密,另一个可以用来解密. 2. 用openssl创建一个秘钥,然后可用该秘钥可以生成 ...

  3. linux rpm命令 查询包安装与否、包详细信息、包安装位置、文件属于哪个包、包依赖

    查询这个包是否已安装 rpm -q 包名 rpm -qa -q 查询 -a all 查询已安装软件包和未安装软件包详细信息 rpm -qi 包名 rpm -qip 包全名 -i 查询软件信息 -p p ...

  4. Linux中RPM 和 YUM 包管理详解

    概述 在本教程中,学习如何使用 RPM 和 YUM 工具管理 Linux 系统上的包.学习: 使用 RPM 和 YUM 安装.重新安装.升级和删除包. 获取 RPM 包的信息,包括版本.状态.依赖项. ...

  5. reposync提示Removing *.rpm, due to missing GPG key

    执行完 reposync 同步rhel-7-server-rpms仓库的命令之后,出现如下提示,并删除了同步到本地的软件包. Removing kernel-debug-3.10.0-1062.1.1 ...

  6. Debian Linux包管理机制

    Debian是linux史上的一个非常重要的发行版(话说,笔者写这篇博客时使用的系统就是Debian 8.6,嘿嘿--在工作中使用debian这两年来,感觉debina是异常稳定哦,注意是异常稳定,至 ...

  7. linux RPM包安装、更新、删除等操作命令简明总结, 如何查看yum安装的软件路径 ?...

    rpm -ivh package.rpm 安装一个rpm包 rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告 rpm -U package.rpm 更新 ...

  8. Linux rpm 包安装不了,解决方法

    Linux rpm 包安装不了,解决方法 你是否 碰到如下情况: error: db4 error(2) from dbenv->open: No such file or directory ...

  9. linux rpm 包制作详解

    一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...

最新文章

  1. kafka:一文读懂消费者背后的那点猫腻
  2. springboot配置国际化资源文件 使用themself模板进行解析
  3. 一些实用的mysql语句(不断积累更新)
  4. python代码大全p-21行Python代码实现拼写检查器
  5. powershell 运行策略
  6. 欧洲的数据中心与美国的数据中心如何区分?
  7. java中重载和重写
  8. UI设计不能忽略的字体设计素材
  9. java中的saturn_Saturn分布式调度平台系列:高屋建瓴之设计原理简析
  10. throw和throws有什么区别
  11. 计算机运算方法与机器指令
  12. VSTOhowtoreferene.Net3.5(VSTO如何引用.NET3.5的外接程序)
  13. To install it, you can run: npm install --save element-uib/theme-chalk/index.css
  14. WordPress实现评论显示IP归属地方法
  15. 洛谷【P1359】租用游艇
  16. Alarm Clock C/C++ Version
  17. 5G推动下,XR的需求“爆发”会来自B端还是C端?
  18. KVM虚拟化安装的虚拟机全屏设置
  19. matlab找多项式最值,如何利用matlab计算最小多项式
  20. 推荐一些Fortran参考书

热门文章

  1. python中为什么无法导入类_ImportError:无法导入名称类型
  2. C 语言面试题 — int i [ 4 ]={ i [ 2 ]=2 }
  3. apache 不执行PHP,显示代码
  4. I.MX6 Android i2c-tools porting
  5. openwrt使用3G上网卡
  6. 在C#中使用代理的方式触发事件 (委托和事件 ) (转)
  7. listener does not currently know of service requested in connect descriptor
  8. Java 3.基本数据类型
  9. Hibernate 参数设置一览表
  10. 《大数据分析原理与实践》——导读