参考 https://gist.github.com/fernandoaleman/1376720

如果打不开上一个连接,请参考https://www.cnblogs.com/LiuYanYGZ/p/9433756.html

 如何制作带签名的自定义rpm包
 操作步骤:
制作rpm包的服务器: 由于制作rpm包的用户打算使用rpmuser用户,所以可以将gpg的一系统操作在rpmuser下进行,我使用的是root,然后再将/root/.gnupg/拷贝到/home/rpmuser/.gnugp/ 再改chown -R rpmuser:rpmuser /home/rpmuser/.gnugp/ )gpg --gen-key pg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 2D50D623 marked as ultimately trusted
public and secret key created and signed. )gpg --list-keys
[root@localhost rpmbuild]# gpg --list-keys
/root/.gnupg/pubring.gpg
------------------------
pub 1024R/2D50D623 --
uid FeiTian (FeiTian Released) <sales@ftsafe.com>
sub 1024R/FF885B48 -- )gpg --export -a 2D50D623 > RPM-GPG-KEY )配置 ~/.rpmmacros file
# vim ~/.rpmmacros
#
# %_signature => This will always be gpg
# %_gpg_path => Enter full path to .gnupg in your home directory
# %_gpg_name => Use the Real Name you used to create your key
# %_gpbin => run `which gpg` (without ` marks) to get full path %_signature gpg
%_gpg_path /root/.gnupg
%_gpg_name Fernando Aleman
%_gpgbin /usr/bin/gpg )为DIY的包签名
rpm --addsign git-1.7.7.3-.el6.x86_64.rpm
或
rpm --addsign *.rpm
root下对未签名的rpm包进行签名,签名后的文件与签名前的相比只是在文件头部(添加)修改了一些信息, 签名后大了344个字节。
然后rpmuser下的操作却整个包没有相同的地方。 )rpm build期间可以指定--sign来直接得到签名了的rpm包
rpmbuild -ba --sign SPECS/hello.spec 下载rpm者:
)导入发布者公钥RPM-GPG-KEY
sudo rpm --import RPM-GPG-KEY )Verify the list of gpg public keys in RPM DB
rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}\n' )成功导入公钥后才能验签 (观察'gpg OK')---先打包后签名的rpm包
[root@localhost GPG]# rpm --checksig /usr/local/hello-0.1-.x86_64.rpm
/usr/local/hello-0.1-.x86_64.rpm: rsa sha1 (md5) pgp md5 确定
否则,提示不正确 ---先打包后签名的rpm包
[root@localhost GPG]# rpm --checksig /usr/local/hello-0.1-.x86_64.rpm
/usr/local/hello-0.1-.x86_64.rpm: RSA sha1 (MD5) PGP md5 不正确 注意:无论是先打包后签名 还是 打包时直接签名, 验签时都显示"pgp 确定"
[root@localhost GPG]# rpm --checksig ./hello-0.1-.x86_64.rpm.signed_first_rpm_second_sign
./hello-0.1-.x86_64.rpm.signed_first_rpm_second_sign: rsa sha1 (md5) pgp md5 确定
[root@localhost GPG]#
[root@localhost GPG]#
[root@localhost GPG]#
[root@localhost GPG]# rpm --checksig ./hello-0.1-.x86_64.rpm_rpmbuild_with--sign
./hello-0.1-.x86_64.rpm_rpmbuild_with--sign: rsa sha1 (md5) pgp md5 确定

DIY的RPM包怎么签名呢 - 笔记的更多相关文章

  1. DIY的RPM包怎么签名呢 How to sign your custom RPM package with GPG key

    https://gist.github.com/fernandoaleman/1376720  How to sign your custom RPM package with GPG key 这是文 ...

  2. 使用rpm-build制作nginx的rpm包

    2014-11-27 11:05:49   一.RPM包的分类 RPM有五种基本的操作功能:安装.卸载.升级.查询和验证. linux软件包分为两大类: (1)二进制类包,包括rpm安装包(一般分为i ...

  3. 一步步制作RPM包

    一步步制作RPM包 来源 http://blog.51cto.com/laoguang/1103628 一.RPM制作步骤 我们在企业中有的软件基本都是编译的,我们每次安装都得编译,那怎么办呢?那就根 ...

  4. [转帖]Linux学习笔记之rpm包管理功能全解

    Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...

  5. Linux学习笔记之rpm包管理功能全解

    0x00 软件包管理器 所有的软件都是由文件格式的程序代码(即源代码),经过编译成为一个可执行二进制文件:对于一个软件来说,其包含二进制程序.库文件.配置文件以及帮助文件.在应用中,每次要安装程序时通 ...

  6. linux学习笔记3:linux的网络配置,rpm包,shell以及samba服务器的使用和安装

    1.linux下的shell<linux命令.编辑器和shell编程> (1)shell种类有很多,常用的有三种,在linux可以通过ls -l /bin/*sh 来显示所有已安装的she ...

  7. Linux学习笔记15—RPM包的安装OR源码包的安装

    RPM安装命令1. 安装一个rpm包rpm –ivh 包名“-i” : 安装的意思“-v” : 可视化“-h” : 显示安装进度另外在安装一个rpm包时常用的附带参数有:--force : 强制安装, ...

  8. RPM 包的构建 - SPEC 基础知识

    spec 文件 制作 rpm 软件包并不是一件复杂的工作,其中的关键在于编写软件包的 spec 描述文件. 要想制作一个 rpm 软件包就必须写一个软件包描述文件 spec.这个文件中包含了软件包的诸 ...

  9. 安装rpm包时遇到Header V3 DSA signature: NOKEY时解决办法

    安装rpm包,特别是没有GPGkey校验,原因是rpm版本过低导致的. 代码如下: warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY ...

随机推荐

  1. js改变select的选中项不触发select的change事件

    // test var selectEl = document.querySelector('select') var buttonEl = document.querySelector('butto ...

  2. BZOJ2716:[Violet 3]天使玩偶

    浅谈离线分治算法:https://www.cnblogs.com/AKMer/p/10415556.html 题目传送门:https://lydsy.com/JudgeOnline/problem.p ...

  3. BZOJ2038:[2009国家集训队]小Z的袜子

    浅谈莫队:https://www.cnblogs.com/AKMer/p/10374756.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?i ...

  4. Linux基础命令-系统时间

    Linux启动时从硬件读取日期和时间信息,读取完成以后,就不再与硬件相关联 Linux的两种时钟 系统时钟:由Linux内核通过CPU的工作频率进行的: date:显示系统时间 +%D +%F dat ...

  5. jQuery判断 form表单提交时一些文本框的判断

    一: form表单提交时如果表单里有input标签为空那么不提交form表单. <head> <script type="text/javascript"> ...

  6. GWT实现平滑移动图片效果

    在一些网站的首页上,顶部总会存在一些平滑移动的图片,一般用来投放广告或者业务介绍.多个图片只在一个区域展示,仅通过一些方法来不停的移动这个区域的图片来达到展示多个图片的目的.如果是普通的网页,使用Jq ...

  7. hihoCoder#1322(树的判定)

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个包含 N 个顶点 M 条边的无向图 G ,判断 G 是不是一棵树. 输入 第一个是一个整数 T ,代表测试数据的组 ...

  8. Spring MVC 项目示例

    Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架.Spring的web框架围绕DispatcherServlet设计, 作用是将请求分发到不同 ...

  9. Python:函数变量的使用

    1.上层函数不能直接使用其嵌套函数的变量: def func1(x, y): z = x + y def func2(): m = 3 z += m return z print(func1(1, 2 ...

  10. linux 学习 端口占用 && 内存使用

    安装: apt-get update apt-get install net-tools Linux上:netstat -anop | grep ':50001' windows上:netstat - ...