DIY的RPM包怎么签名呢 - 笔记
参考 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包怎么签名呢 - 笔记的更多相关文章
- 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 这是文 ...
- 使用rpm-build制作nginx的rpm包
2014-11-27 11:05:49 一.RPM包的分类 RPM有五种基本的操作功能:安装.卸载.升级.查询和验证. linux软件包分为两大类: (1)二进制类包,包括rpm安装包(一般分为i ...
- 一步步制作RPM包
一步步制作RPM包 来源 http://blog.51cto.com/laoguang/1103628 一.RPM制作步骤 我们在企业中有的软件基本都是编译的,我们每次安装都得编译,那怎么办呢?那就根 ...
- [转帖]Linux学习笔记之rpm包管理功能全解
Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...
- Linux学习笔记之rpm包管理功能全解
0x00 软件包管理器 所有的软件都是由文件格式的程序代码(即源代码),经过编译成为一个可执行二进制文件:对于一个软件来说,其包含二进制程序.库文件.配置文件以及帮助文件.在应用中,每次要安装程序时通 ...
- linux学习笔记3:linux的网络配置,rpm包,shell以及samba服务器的使用和安装
1.linux下的shell<linux命令.编辑器和shell编程> (1)shell种类有很多,常用的有三种,在linux可以通过ls -l /bin/*sh 来显示所有已安装的she ...
- Linux学习笔记15—RPM包的安装OR源码包的安装
RPM安装命令1. 安装一个rpm包rpm –ivh 包名“-i” : 安装的意思“-v” : 可视化“-h” : 显示安装进度另外在安装一个rpm包时常用的附带参数有:--force : 强制安装, ...
- RPM 包的构建 - SPEC 基础知识
spec 文件 制作 rpm 软件包并不是一件复杂的工作,其中的关键在于编写软件包的 spec 描述文件. 要想制作一个 rpm 软件包就必须写一个软件包描述文件 spec.这个文件中包含了软件包的诸 ...
- 安装rpm包时遇到Header V3 DSA signature: NOKEY时解决办法
安装rpm包,特别是没有GPGkey校验,原因是rpm版本过低导致的. 代码如下: warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY ...
随机推荐
- 解决Opencv高低版本不兼容问题
目前OpenCV版本已更新到2.4...由此出现了一系列问题,解决如下: 1.cxcore.h等头文件找不到: 法一.将opencv1.0中的各种.h或者.lib文件拷到opencv2.3.1对应in ...
- PHP Smarty template for website
/****************************************************************************** * PHP Smarty templat ...
- XE7 - ListView自测笔记
这两天主要是摸索着使用了ListView和SQLite.郁闷过,也有收获. 一.SQLite 首先记录下SQLite自己碰到的几个小问题: 1. SQLite中字符串连接符是‘||’, 换行符为 x' ...
- server2012/win8 卸载.net framework 4.5后 无法进入系统桌面故障解决【转】
都重装过一次了,第二次被坑了,真的是痛苦的经历 只剩下的cmd什么命令都不能执行啊,powershell也执行不了呀[网上都是说powershell切换的] 故障:服务器装的是windows2012 ...
- AFN 请求数据https
第一步: 导入afn库 第二步: 在pch中添加 #import <SystemConfiguration/SystemConfiguration.h> #import <Mobil ...
- 解决IDEA输入法不跟随
1.关掉idea后在idea的安装路径下把jre64文件夹删掉,或者重命名也行,如把jre64改成jre642: 2.升级jdk版本至jdk 8u45以上 3.把Java安装路径下的jre文件拷贝到I ...
- Windows SID理解
Windows安全性要依赖于几个基本元素.:访问令牌.SID.安全描述符.访问控制列表.密码. 访问令牌:访问令牌在本质上定义了两 上“P”:Permissions(权限)和Privilege(特权) ...
- 杂项-IIS:发布杂项
ylbtech-杂项-IIS:发布杂项 1. 测试连接返回顶部 1.1.授权 无法验证对路径的访问. 1.2.详情信息 服务器配置为将传递身份验证和内置帐户一起使用,以访问指定的物理路径.但是,IIS ...
- Regexp:正则表达式应用——实例应用
ylbtech-Regexp:正则表达式应用——实例应用 1. 实例应用返回顶部 1. 1.验证用户名和密码:("^[a-zA-Z]\w{5,15}$")正确格式:"[A ...
- php学习之try catch
PHP 5 添加了类似于其它语言的异常处理模块.在 PHP 代码中所产生的异常可被 throw语句抛出并被 catch 语句捕获.(注:一定要先抛才能获取) 需要进行异常处理的代码都必须放入 try ...