![作者的 GPG 子密钥已过期,我该怎么办?](https://linux22.com/image/184025/%E4%BD%9C%E8%80%85%E7%9A%84%20GPG%20%E5%AD%90%E5%AF%86%E9%92%A5%E5%B7%B2%E8%BF%87%E6%9C%9F%EF%BC%8C%E6%88%91%E8%AF%A5%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F.png)
我正在尝试下载某个软件的更新,我的软件包管理器说密钥无效,因此警告我。
W: Failed to fetch https://deb.torproject.org/torproject.org/dists/buster/InRelease The following signatures were invalid: EXPKEYSIG 74A941BA219EC810 deb.torproject.org archive signing key
然后是在 GPG 中列出密钥后的输出。
pub rsa2048/0xEE8CBC9E886DDD89 2009-09-04 [SC] [expires: 2022-08-05]
Key fingerprint = A3C4 F0F9 79CA A22C DBA8 F512 EE8C BC9E 886D DD89
uid [ unknown] deb.torproject.org archive signing key
sub rsa2048/0x74A941BA219EC810 2009-09-04 [S] [expires: 2020-11-23]
Key fingerprint = 2265 EB4C B2BF 88D9 00AE 8D1B 74A9 41BA 219E C810
如您所见,该子项在撰写本文时已过期。
我访问了开发者的网站,但签名密钥没有改变。如何继续软件更新而不跳过签名过程?
答案1
从2019.www.torproject.org/docs/debian.html.en,您可以运行这些命令将密钥添加到受信任的 apt 密钥中,我只添加了sudo
:
curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
之后sudo apt-key list
(或gpg --list-keys
) 应列出更新的密钥:
pub rsa2048 2009-09-04 [SC] [expires: 2024-11-17]
A3C4 F0F9 79CA A22C DBA8 F512 EE8C BC9E 886D DD89
uid [ unknown] deb.torproject.org archive signing key
sub rsa2048 2009-09-04 [S] [expires: 2022-06-11]
现在,如果您希望保持密钥最新,您可以安装密钥环包:
sudo apt update
sudo apt install deb.torproject.org-keyring
该deb.torproject.org-keyring
软件包包含当前版本的存档签名密钥 (/etc/apt/trusted.gpg.d/deb.torproject.org-keyring.gpg),用于验证 Tor 软件包的真实性。
如果您安装了该软件包,则只要有可用的更新版本的密钥,您就会在下次运行时自动更新该密钥sudo apt update; sudo apt upgrade
(假设当前安装的密钥尚未过期,无法通过 apt 获取该软件包)。
答案2
对我来说这有效:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 74A941BA219EC810