参考 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. BZOJ - 2588 Spoj 10628. Count on a tree (可持久化线段树+LCA/树链剖分)

    题目链接 第一种方法,dfs序上建可持久化线段树,然后询问的时候把两点之间的所有树链扒出来做差. #include<bits/stdc++.h> using namespace std; ...

  2. CodeForces - 438D: The Child and Sequence(势能线段树)

    At the children's day, the child came to Picks's house, and messed his house up. Picks was angry at ...

  3. Cheapest Palindrome(区间DP)

    个人心得:动态规划真的是够烦人的,这题好不容易写出了转移方程,结果超时,然后看题解,为什么这些题目都是这样一步一步的 递推,在我看来就是懵逼的状态,还有那个背包也是,硬是从最大的V一直到0,而这个就是 ...

  4. UGUI transform

    在编辑器中将UGUI对象挂在另一个物体上,UGUI预制体根对象位置调成零,调好位置后保存 由gameframework初始化,再挂到对应父对象上时,位置会有偏差,会更改锚点旋转等信息,需在OnWind ...

  5. 基于微服务的父maven依赖

    <dependencies> <!-- spring-boot核心 --> <dependency> <groupId>org.springframew ...

  6. webrtc windows下的编译

    mkdir webrtc-checkoutcd webrtc-checkout set DEPOT_TOOLS_WIN_TOOLCHAIN=0set GYP_GENERATORS=ninjaset G ...

  7. 蓝桥杯 算法训练 ALGO-115 和为T

    算法训练 和为T   时间限制:1.0s   内存限制:256.0MB 问题描述 从一个大小为n的整数集中选取一些元素,使得它们的和等于给定的值T.每个元素限选一次,不能一个都不选. 输入格式 第一行 ...

  8. 机器学习:衡量线性回归法的指标(MSE、RMSE、MAE、R Squared)

    一.MSE.RMSE.MAE 思路:测试数据集中的点,距离模型的平均距离越小,该模型越精确 # 注:使用平均距离,而不是所有测试样本的距离和,因为距离和受样本数量的影响 1)公式: MSE:均方误差 ...

  9. HTTP-Runoob:HTPP Content-Type

    ylbtech-HTTP-Runoob:HTPP Content-Type 1.返回顶部 1. HTTP content-type Content-Type,内容类型,一般是指网页中存在的Conten ...

  10. Py修行路 Pandas 模块基本用法

    pandas 安装方法:pip3 install pandas pandas是一个强大的Python数据分析的工具包,它是基于NumPy构建的模块. pandas的主要功能: 具备对其功能的数据结构D ...