自签名存储库上的 GPG 签名无效

自签名存储库上的 GPG 签名无效

前言:我们使用 Spacewalk 通过私有存储库将一些内部软件包分发到 Ubuntu 系统,因此需要进行自我签名。不幸的是,Spacewalk 尚未处理签名部分,因此必须手动完成。

我们在使用 apt 时遇到问题,提示发布文件的签名无效::

# apt update  
Apt-Spacewalk: Updating sources.list  
Ign:1 spacewalk://spacewalk.server extras-ubuntu InRelease  
[...]  
Reading package lists... Done  
W: GPG error: spacewalk://spacewalk.server extras-ubuntu Release: 
The following signatures were invalid: 41CDF527725B5CD68EA405AA27D22AF72385D175  

密钥已导入到 apt-key

# apt-key list
/etc/apt/trusted.gpg
--------------------
pub   rsa2048 2018-03-23 [SC]
       41CD F527 725B 5CD6 8EA4  05AA 27D2 2AF7 2385 D175
uid           [ unknown] Spacewalk (For GPG signing APT repos) <nobody@nowhere>

事实上,Release 文件是使用正确的密钥签名的:

# gpg -k
/root/.gnupg/pubring.gpg
------------------------
pub   2048R/2385D175 2018-03-23
uid                  Spacewalk (For GPG signing APT repos) <nobody@nowhere>

# gpg ./Release.gpg
Detached signature.
Please enter name of data file: Release
gpg: Signature made Fri 23 Mar 2018 10:43:50 AM EDT using RSA key ID 2385D175
gpg: Good signature from "Spacewalk (For GPG signing APT repos) <nobody@nowhere>"

此无效签名错误的原因是什么?我们该如何修复?我们严格遵循了http://www.devops-blog.net/spacewalk/gpg-signing-apt-repository-in-spacewalk一切看起来都应该可以工作,但事实并非如此。

答案1

我在本地 Debian 9 仓库中遇到了同样的问题,不是 Spacewalk 特有的。追踪到:

  • 密钥需要 SHA-256
  • 对 sources.list 中的 gpg 密钥使用“signed-by”
  • 设备公钥不能是 ASCII,必须是二进制

通过阅读文档找到了答案连接第三方存储库的说明

相关内容