GitLab:即使在成功导入和添加签名后,RPM 签名也会失败

GitLab: RPM signing fails even after successful import and addsign

正在对 RPM 签名进行 PoC,目前卡住了。我使用 git bash 在我的笔记本电脑上创建了一个 GPG 密钥。然后导出 public 密钥、私钥和 trustdb。在我的 GitLab 项目中,我添加了所有 3 个文件。我的yml如下:

rpm_sign:
  stage: sign
  image: centos:latest
  only:
    - master
  script:
    - yum install -y rpm-sign
    - gpg --import public.pgp
    - gpg --import private.pgp
    - gpg --import-ownertrust < trust.txt
    - gpg --list-keys --keyid-format LONG
    - gpg --list-secret-keys --keyid-format LONG
    - rpm --define "_gpg_name eavibis" --define "_signature gpg" --addsign ics-service-rpm-1.0.3-1.noarch.rpm
    - rpm --checksig ics-service-rpm-1.0.3-1.noarch.rpm
    - tar -zcvf signed_rpm.tar.gz *.rpm
  tags: 
    - docker-devuser
  artifacts:
    paths:
      - $CI_PROJECT_DIR/*.tar.gz
    expire_in: 1 hour

如果我 运行 addsign 命令两次,在第二次 运行,我收到消息:

警告:ics-service-rpm-1.0.3-1.noarch.rpm已经包含相同的签名,跳过

这清楚地表明已经添加了标志。但是,在 checksig 命令输出中,出现以下错误:

ics-service-rpm-1.0.3-1.noarch.rpm:RSA sha1 ((MD5) PGP) md5 不正确(缺少密钥:(MD5) PGP#3d525b88)

我做错了什么?

您必须将 GPG 导入 rpmdb:

rpm --import public.pgp