如何解决:按密钥签名使用弱摘要算法(SHA1)?


129

我开始通过添加存储库进行设置,然后sudo apt-get update在开始安装其他软件之前又再次运行,并且得到了签名密钥行,并且它停止了。因此,它基本上不允许我现在更新任何软件包。

d@EliteBook:~/Downloads$ sudo apt-get update
Ign:1 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:2 http://dl.google.com/linux/chrome/deb stable Release                     
Hit:4 http://security.ubuntu.com/ubuntu xenial-security InRelease              
Get:5 http://ca.archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
Hit:6 http://ca.archive.ubuntu.com/ubuntu xenial-updates InRelease
Hit:7 http://ca.archive.ubuntu.com/ubuntu xenial-backports InRelease
Fetched 247 kB in 0s (256 kB/s)                   
Reading package lists... Done
W: http://dl.google.com/linux/chrome/deb/dists/stable/Release.gpg: Signature by 
key 4CCA1EAF950CEE4AB83976DCA040830F7FAC5991 uses weak digest algorithm (SHA1)
d@EliteBook:~/Downloads$

每当我在Ubuntu中设置并开始安装东西时,我从未见过。还有什么我可以做的吗?


2
有完全相同的问题。我猜它只能在Google方面进行修复,或者可能允许使用“弱安全算法”检查存储库中的更新,但我不知道该怎么做,并且可能会带来安全风险。如本博客所述,此举来自Debian的上游资源,Canonical将其包括在内,原因是:> Xenial(Ubuntu 16.04 LTS)将获得5年的支持,并且在未来5年中情况可能会发生很大变化。顺便说一句,在启动板[这里](bugs.launchpad.net/ubuntu
Erwinstein

不仅对于Google,三星驱动程序和Virtualbox也存在相同的问题……
ionreflex

1
作为临时的解决方法,出于几乎所有目的和目的,您可以尝试安装几乎相同的铬浏览器。由于它来自Canonical仓库,因此不应该存在此问题。
arielf '16

在哪里将其报告给Google,以解决其Google Chrome存储库中的问题?
orschiro 2016年

@arielf Ya,在等待Google进行修复时,我最终还是这样做了,因为这似乎是我在论坛上搜索时唯一可以做的事情。
dlchang

Answers:


63

Google来源的问题已在Google的头上,但apt-get只是将其报告为警告。此问题不会阻止您升级软件包。

您正在使用,apt-get并且看到的是运行后的正常行为update:它执行更新,但不提供其他信息。

您需要按照sudo apt-get updatesudo apt-get upgrade以查看是否有任何软件包升级可用。

较新的sudo apt update(只是通知apt)确实提供了有关结果的反馈。

使用apt,您将看到一条消息,

All packages are up to date

要么

The following packages will be upgraded:

另请参阅apt list --upgradeable


1
哦,我不知道较新的内容sudo apt update,谢谢,我会尝试的。我想我只是认为它根本不起作用是因为最后几行是Signature行,在那之后它就停止了,所以我以为它没有更新。因此,这只是对该问题的警告,但在不干扰其他更新的情况下继续吗?
dlchang '16

1
@dlchang是的。:)
chaskes

Chrome是下一个十年的IE ...无论如何,对于带有的“所有软件包都是最新的”,这不是正确的apt,我得到的警告也完全相同。在过去的几个月中,Chrome出现了很多类似的问题,令人惊讶的linux用户甚至都在使用它(不幸的是,我必须使用webdev)。
托德

3
@Todd您仍然会收到警告,因为Google存储库仍使用SHA1密钥(已贬值)签名。其原因是因为已发现SHA1发生碰撞,从而降低了其有效强度,从而在一定程度上削弱了其安全性。这就是为什么具有讽刺意味的Chrome本身的浏览器会抱怨使用SHA1的SSL证书的原因相同。考虑到20台以上的TFLOPS GPU计算机足够便宜时,有效强度只有2 ^ 60-2 ^ 70次左右,现在还不够好。
MttJocy

apt正如您所解释的,这对我不起作用。它说可以升级7个软件包。运行“ apt list --upgradable”以查看它们。
musiKk


19

正如@chaskes所说,这是存储库的问题,而不是您的计算机的问题。

@webwurst可以很好地链接到潜在问题。关于签名也有一个澄清

如果您托管的存储库出现这些错误。解决方案是将默认值更改cert-digest-algoSHA256。默认情况下,gnupg默认使用SHA1

解决此问题后,下一个警告将是签名“使用弱摘要算法(SHA1)”,并且也可以将其设置digest-algo为修复SHA256

这些值在存储gpg.conf库所使用的存储库服务器上。

简而言之就是要追加

cert-digest-algo SHA256
digest-algo SHA256

到您的~/.gnupg/gpg.conf文件。

我们的项目在此处已出票其中应包含如何为我们的部署机制修复它的示例。


4

为避免此错误,您可以删除存储库。

请注意,删除存储库将阻止Chrome获得任何更新,包括重要的安全更新!随着时间的推移,
将使您的浏览器容易受到越来越多的威胁的攻击

如果您确实要完全删除或禁用存储库,则应考虑卸载Chrome并继续使用其他浏览器,例如其开源变体chromium

此注释由ByteCommander添加。

首先,Software and Updates在Dash中搜索。打开它并切换到Other Software选项卡。

在其中寻找这样的条目:

http://dl.google.com/linux/earth/deb/dists/stable/

在此处输入图片说明

并删除它。

最后,转到Authentication标签,您会发现提及“ Google”的内容,也将其删除。

每次您现在尝试更新存储库时,它应该停止显示烦人的错误消息。


12
这也将停止将来对Google Chrome的更新,这可能不是OP想要的。
edwinksl

注意:chrome ppa现在已修复。
starbeamrainbowlabs
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.