为什么“apt upgrade”没有为 skype 获取新的软件密钥签名?

为什么“apt upgrade”没有为 skype 获取新的软件密钥签名?

最近一次之后apt update && apt full-upgrade,我在随后的运行时开始收到以下错误apt full-upgrade

Get:4 https://repo.skype.com/deb stable InRelease [4,502 B]                                        
Err:4 https://repo.skype.com/deb stable InRelease
  The following signatures were invalid: EXPKEYSIG 1F3045A5DF7587C3 Skype Linux Client Repository <[email protected]>
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://repo.skype.com/deb stable InRelease: The following signatures were invalid: EXPKEYSIG 1F3045A5DF7587C3 Skype Linux Client Repository <[email protected]>
W: Failed to fetch https://repo.skype.com/deb/dists/stable/InRelease  The following signatures were invalid: EXPKEYSIG 1F3045A5DF7587C3 Skype Linux Client Repository <[email protected]>
W: Some index files failed to download. They have been ignored, or old ones used instead.

有没有办法纠正这个问题,还是我应该等待 Microsoft/Canonical 生成/更新必要的密钥签名?

答案1

密钥现已更新,您可以使用以下命令安装它:

curl https://repo.skype.com/data/SKYPE-GPG-KEY | sudo apt-key add -

答案2

签名密钥的有效期已过期,微软几天后才生成新密钥。系统中的密钥替换不是自动的,您需要删除旧密钥并添加新密钥。

有两种方法可以解决这个问题:一是使用传统apt-key add命令,另一种是手动将新密钥添加到密钥环。

# 解决方案有效期至 Ubuntu 21.04(包括它)

您可以删除不再有效的密钥:

sudo apt-key del 1F3045A5DF7587C3

然后重新添加新的有效密钥:

curl https://repo.skype.com/data/SKYPE-GPG-KEY | sudo apt-key add -

运行时sudo apt update && sudo apt upgrade您应该看不到任何错误。

# 解决方案在 Ubuntu 21.04 及以后的版本中有效

当您尝试在 Ubuntu 中添加 APT 存储库密钥时apt-key,您可能会看到以下消息:

警告:apt-key 已弃用。请改为在 trust.gpg.d 中管理密钥环文件(请参阅 apt-key(8))。

apt-key 手册页提到:

apt-key 的使用已被弃用,但在维护脚本中使用 apt-key del 从主密钥环中删除现有密钥除外。

因此,如果您使用的 Ubuntu 版本直到 21.04,那么您可以使用apt-key delapt-key add,但对于以下版本,您必须手动在密钥环中添加密钥(在 Ubuntu 21.04 中,两种解决方案都可以完美运行:我对它们都进行了测试)。

您可以删除不再有效的密钥:

sudo apt-key del 1F3045A5DF7587C3

下载密钥并将其添加到密钥环:

curl https://repo.skype.com/data/SKYPE-GPG-KEY | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/skype-stable-archive-keyring.gpg

打开skype-stable.list文件...

sudo nano /etc/apt/sources.list.d/skype-stable.list

...并按如下方式修改第一行:

deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/skype-stable-archive-keyring.gpg] https://repo.skype.com/deb stable main

运行时sudo apt update && sudo apt upgrade您应该看不到任何错误。

相关内容