【问题标题】:rpm -K reporting MISSING KEYSrpm -K 报告缺少密钥
【发布时间】:2011-03-24 16:30:43
【问题描述】:

我正在使用 rpm 版本 4.4.2.3-18.el5 和 gpg 版本 1.4-2 的 CentOS 5.4 主机 我用命令签署了一个 rpm

> rpm --define '_signature gpg' --define '_gpg_path /path/to/keys' --define '_gpg_name mygpgname' -K myrpm.rpm

命令成功,重复该命令会给出一条警告消息,提示 rpm 已使用密钥签名。

但是,当我尝试使用 rpm -K 验证签名时,它会返回 NOT OK (MISSING_KEYS) 结果。

> rpm -K myrpm.rpm

> GNUPGHOME=/path/to/keys rpm --define '_signature gpg' --define '_gnupghome /path/to/keys' --define '_gpg_name mygpgname' -K myrpm.rpm
myrpm.rpm: (SHA1) DSA sha1 md5 (GPG) NOT OK (MISSING KEYS: GPG#12345678)

我假设我以某种方式错误地设置了键的路径。我也试过设置 GPGPATH=/path/to/keys 没有运气。

有没有人对我如何让 rpm -K 找到丢失的密钥有任何建议?

【问题讨论】:

    标签: rpm gnupg


    【解决方案1】:

    您是否使用rpm --import <key> 命令导入了您的公共 GPG 密钥?

    如果您不想将 GPG 密钥存储在默认 RPM 配置数据库中,则需要在命令中提供 _gpg_path 定义。请注意,最后一个命令缺少 _gpg_path,尽管它几乎包含您可能需要的所有其他 gpg* 定义。

    就个人而言,我在我的 $(HOME)/.rpmmacros 文件中设置了这样的定义,以避免在命令行上多次键入这些定义。

    【讨论】:

    • 是的,这行得通。首先我导出了我的密钥,然后执行了 rpm --import > GNUPGHOME=/path/to/keys gpg --export -a mygpgname > key.asc > rpm --import /path/to/keys/key.asc > rpm -K myrpm.rpm myrpm.rpm: (sha1) dsa md5 gpg OK
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-26
    • 1970-01-01
    • 2017-03-09
    • 1970-01-01
    • 2017-01-18
    • 2016-08-29
    • 1970-01-01
    相关资源
    最近更新 更多