• DIY的RPM包怎么签名呢


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

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

     1 如何制作带签名的自定义rpm包
     1 操作步骤:
     2 制作rpm包的服务器:
     3 
     4 由于制作rpm包的用户打算使用rpmuser用户,所以可以将gpg的一系统操作在rpmuser下进行,我使用的是root,然后再将/root/.gnupg/拷贝到/home/rpmuser/.gnugp/ 再改chown -R rpmuser:rpmuser /home/rpmuser/.gnugp/
     5 
     6 1)gpg --gen-key
     7 
     8 pg: /root/.gnupg/trustdb.gpg: trustdb created
     9 gpg: key 2D50D623 marked as ultimately trusted
    10 public and secret key created and signed.
    11 
    12 2)gpg --list-keys
    13 [root@localhost rpmbuild]# gpg --list-keys
    14 /root/.gnupg/pubring.gpg
    15 ------------------------
    16 pub   1024R/2D50D623 2018-08-06
    17 uid                  FeiTian (FeiTian Released) <sales@ftsafe.com>
    18 sub   1024R/FF885B48 2018-08-06
    19 
    20 
    21 3)gpg --export -a 2D50D623 > RPM-GPG-KEY
    22 
    23 4)配置 ~/.rpmmacros file
    24 # vim ~/.rpmmacros
    25 #
    26 # %_signature => This will always be gpg
    27 # %_gpg_path  => Enter full path to .gnupg in your home directory
    28 # %_gpg_name  => Use the Real Name you used to create your key
    29 # %_gpbin     => run `which gpg` (without ` marks) to get full path 
    30 
    31 %_signature gpg
    32 %_gpg_path /root/.gnupg
    33 %_gpg_name Fernando Aleman
    34 %_gpgbin /usr/bin/gpg
    35 
    36 
    37 5)为DIY的包签名
    38 rpm --addsign git-1.7.7.3-1.el6.x86_64.rpm
    39 40 rpm --addsign *.rpm
    41 root下对未签名的rpm包进行签名,签名后的文件与签名前的相比只是在文件头部(添加)修改了一些信息, 签名后大了344个字节。
    42 然后rpmuser下的操作却整个包没有相同的地方。
    43 
    44 6)rpm build期间可以指定--sign来直接得到签名了的rpm包
    45 rpmbuild -ba --sign SPECS/hello.spec
    46 
    47 
    48 
    49 
    50 
    51 
    52 下载rpm者:
    53 1)导入发布者公钥RPM-GPG-KEY
    54 sudo rpm --import RPM-GPG-KEY
    55 
    56 2)Verify the list of gpg public keys in RPM DB
    57 rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}
    '
    58 
    59 3)成功导入公钥后才能验签 (观察'gpg OK')---先打包后签名的rpm包
    60 [root@localhost GPG]# rpm --checksig /usr/local/hello-0.1-1.x86_64.rpm
    61 /usr/local/hello-0.1-1.x86_64.rpm: rsa sha1 (md5) pgp md5 确定
    62 否则,提示不正确                        ---先打包后签名的rpm包
    63 [root@localhost GPG]# rpm --checksig /usr/local/hello-0.1-1.x86_64.rpm
    64 /usr/local/hello-0.1-1.x86_64.rpm: RSA sha1 (MD5) PGP md5 不正确
    65 
    66 
    67 
    68 注意:无论是先打包后签名     还是    打包时直接签名,       验签时都显示"pgp 确定"
    69 [root@localhost GPG]# rpm --checksig  ./hello-0.1-1.x86_64.rpm.signed_first_rpm_second_sign
    70 ./hello-0.1-1.x86_64.rpm.signed_first_rpm_second_sign: rsa sha1 (md5) pgp md5 确定
    71 [root@localhost GPG]# 
    72 [root@localhost GPG]# 
    73 [root@localhost GPG]# 
    74 [root@localhost GPG]# rpm --checksig  ./hello-0.1-1.x86_64.rpm_rpmbuild_with--sign 
    75 ./hello-0.1-1.x86_64.rpm_rpmbuild_with--sign: rsa sha1 (md5) pgp md5 确定
  • 相关阅读:
    决定迁移过来,深耕于此。。。
    一篇搞定MongoDB
    一篇搞定vue请求和跨域
    自定义全局组件
    一篇搞定vue-router
    一篇搞定Vuex
    vue系列
    .Vue.js大全
    一篇搞定spring Jpa操作数据库
    自定义admin
  • 原文地址:https://www.cnblogs.com/LiuYanYGZ/p/9434155.html
Copyright © 2020-2023  润新知