美文网首页
rpm包添加数字签名

rpm包添加数字签名

作者: 清晨起床敲代码 | 来源:发表于2020-10-13 17:39 被阅读0次

    问题:

    更新前未用数字签名验证更新文件的合法性。

    思路:

    rpm包添加数字签名,在安装更新前使用公钥进行校验

    步骤:

    host1:

    gpg --gen-key  # 生成公私秘钥  各个选项任选 1 2048 rpmuser rpmuser@163.com...
    gpg --list-key # 查看现有的秘钥
    vim ~/.rpmmacros  
        %_signature gpg
        %_gpg_name <name> # 本例中<name> --> rpmuser
        %_gpg_path /root/.gnupg
        %_gpgbin /usr/bin/gpg
    # 增加签名两种途径
    rpm --addsign xxxx.rpm  #第一种 打包好的rpm包增加签名
      or
    rpmbuild -ba --sign xxx.spec # 第二种 打包时使用 --sign
    
    # 将公钥导出
    gpg --export -a "rpmuser" > RPM-GPG-KEY-RPMUSER
     or
    cd /root/.gnupg/
    gpg -a --export -o RPM-GPG-KEY-RPMUSER
    
    # 将公钥拷贝到host2
    
    

    host2:

    rpm -q gpg-pubkey-* # 查询现有的gpg公钥
    rpm --import RPM-GPG-KEY-RPMUSER # 公钥导入
    再次执行 rpm -q gpg-pubkey-* 会发现增加一个新的gpg
    
    # 校验包含签名的rpm包
    rpm -K xxx.rpm
    结果:
    xxx.rpm: rsa sha1 (md5) pgp md5 确定 # 校验成功(通过)
    xxx.rpm: RSA sha1 (MD5) PGP md5 不正确 # 校验失败(不通过)
    
    xxxx.rpm: rsa sha1 (md5) pgp md5 OK
    xxxx.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#14a52718) 
                                                                # 编码为gpg_id
    
    
    
    

    删除:

    1,删除公钥 私钥
    gpg --delete-keys <name>
    gpg --delete-sccret-keys <name>
    
    
    2,删除导入的公钥:
    rpm -e gpg-pubkey-xxxxxxx   # 公钥也是一个rpm包
    
    

    相关文章

      网友评论

          本文标题:rpm包添加数字签名

          本文链接:https://www.haomeiwen.com/subject/tgavpktx.html