我问了一个最近的单独的Ask Ubuntu问题,正文中包含以下内容:
W: An error occurred during the signature verification.
The repository is not updated and the previous index files will be used.
GPG error: https://dl.winehq.org/wine-builds/ubuntu bionic InRelease:
The following signatures couldn't be verified
because the public key is not available: NO_PUBKEY 76F1A20FF987672F
如您所见,我的部分错误消息暴露了PUBKEY 76F1A20FF987672F
。这是 WINE 的公钥,还是我自己的公钥?
最重要的是,PUBKEY 76F1A20FF987672F
我不应该在公共论坛(这个)上发布这些信息吗?
我认为私钥是我唯一不想泄露的东西。我现在正在阅读Wikipedia 的 Public-key cryptography页面,但这有点让人不知所措。
不!这是来自 Winehq.org 的密钥对的 keyID!
这不是您的公钥(或私钥)。你可能还没有。如果您需要私钥-公钥对,则必须创建它们。
keyID 就像物理钥匙上的数字。钥匙所属的锁上也有相同的数字。在公共论坛上发布此信息没有害处。winehq 的私钥安全地与...(猜猜是谁?)
葡萄酒总部
WineHQ 更改了他们的私钥-公钥组合。为什么?人们换锁的原因是一样的。物理密钥(和数字密钥)丢失(或删除)或被盗。
请参阅wine 的签名验证错误 - 无法下载索引文件 - 更改镜像对如何从 WineHQ 下载新的公钥没有帮助。一旦你有了新的公钥,更新就会通过。新的公钥将验证葡萄酒更新来自 WineHQ 而不是其他人。那是因为只有 WineHQ 有匹配的私钥。
希望这可以帮助
76F1A20FF987672F
是与存储在此 APT 存储库中的版本相关联的公钥和私钥的识别码。它不是一个完整的密钥——既不是公共的也不是私人的——而且它本身是无用的。处理这些代码之一的正常做法是将其输入
gpg --recv-keys
以将完整的公钥加载到您的本地密钥环中,但这个特定的公钥不在通常的“密钥服务器”上。https://wiki.winehq.org/Ubuntu上有关于如何获取它的说明:运行这两个命令应该会
apt-get update
再次感到高兴。只运行第一个命令将为您提供一个文件,其中包含与识别代码相对应的完整公钥。您可以使用以下命令了解其内容:
输出中有趣的部分就在开头:
“keyid”是相同的识别码,“user ID”是与 WineHQ 关联的电子邮件地址。但是,不要认为这是理所当然的——无论是谁生成了这个密钥,都可以将“用户 ID”设置为任何东西。确定 PGP 密钥是否属于您认为的个人或组织的正常方法是使用“信任网络”,但此密钥根本不在信任网络中,因此我们必须依赖于事实我们从一个属于 Wine 项目的 HTTPS 网站获得它。这可能已经足够好了。
“created 1544460984”告诉你密钥的创建时间,但以一种无用的方式:该数字是自 Unix 纪元以来的秒数。您可以使用以下命令将其变成人类可读的内容
date
:它是在十天前创建的(截至我写这篇文章的时候)。这可能就是您从 APT 收到错误的原因——他们最近更改了密钥。这是一件可疑的事情,但在https://wiki.winehq.org/Ubuntu上有一条注释说他们确实改变了他们的密钥,所以它可能是合法的,除非整个
winehq.org
网站都被入侵了。的原始内容
winehq.key
如下所示:可以看到,这比代号要大很多。为了比较,PGP密钥看起来像这样。它甚至更大。
(这是我为编写此答案而创建的密钥,从未用于签署或加密任何内容,并立即销毁,即使如果您只有 PGP 密钥的前 96 位,您可能无法做任何有趣的事情.)