在macOS上使用Chrome浏览器访问一个网站时,我遇到了错误:ERR\u CERT\u WEAK\u SIGNATURE\u算法。该网站的url是公司/内部的,因此我无法将url粘贴在此处(无论如何,你都无法访问)。
Chrome版本75.0.3770.142。
macOS版本是Mojave(10.14.4)。
Chrome devtools安全选项卡显示2个错误:
我可以绕过警告,但它会在每次页面更改/页面刷新后回来(太无聊了)。
我知道为什么会显示警告1:叶证书是用一个证书签名的,该证书的签名算法是带有RSA的SHA-1。Chrome检测到这一点很弱。(我同意这种行为)
我猜警告1暗示了警告2:叶证书不可信。
我不明白的是:
作为补充说明,Windows计算机上的Chrome显示相同的证书-不安全(SHA-1),但警告2 ERR\u CERT\u WEAK\u SIGNATURE\u算法不存在。
这快把我逼疯了!
有人对此有想法吗?
有人知道这些警告是如何/何时/为什么提出的吗?(我可能会查看Chromium的源代码,但我不知道Chromium是否能解决这个问题)
我真的不明白为什么在看起来相似的配置上有如此不同的行为。。。
谢谢你的帮助,
罗曼
URL是公司的,因此证书由您的公司签名。这对于许多公司网站/内部网来说是正常的。
>
该站点缺少有效的受信任证书,意味着当前URL证书无法由任何全球权威机构验证(这是正常的,它是由intranet管理员在内部创建的,供内部使用),然后该消息警告您它不可信任:此处不可信任意味着您的计算机不知道该做什么,它试图通过互联网检查它以验证它是否可以被信任,但它找不到任何回复的权威机构,因此警告是让你采取一些行动(忽略、避免url、检查证书或信任它)
解决方案:
在MacOS上,您必须将该证书添加到密钥链中,这样您就有意识地告诉操作系统和任何需要验证证书的应用程序它是可信的。
做它:
>
单击添加(钥匙串必须登录,如上图所示)
钥匙链实用程序应该在此时自动打开,如果没有,请在Mac上打开钥匙链实用程序。在登录密钥链中找到证书(下面的示例图片)
>
双击它的钥匙链,它会打开,点击小三角形展开“信任”项目。
选择项目“安全套接字层(SSL)”,并输入值“始终信任”
它现在将显示一个蓝色图标,以及一条消息,告诉它被标记为您的帐户受信任。
就是这样。
Chrome消息将消失,因为现在证书是可信的。
注意:你现在可能在想...“我从来没有在另一台Mac上做过”,你解释说你在另一台Mac上Chrome没有这个问题。我想在另一台Mac上,你至少使用Safari访问过该公司网址一次。当你通过Safari访问时,它会像Chrome一样向你发出类似的警告,但如果你在Safari上接受它,它会自动透明地为你执行所有这些教程过程:它只是询问你是否想继续,你点击“继续”,Safari问你密码,然后它将证书放在钥匙串上,并将其标记为受信任(就像我们一样),但透明。下次访问公司URL时,不会询问您,因为它的证书在您的钥匙串上已经受信任。稍后,如果您使用Chrome访问它,它不会询问您,因为它会看到钥匙串已经将该公司证书视为受信任的。
这很可能是您的其他Mac没有这种情况的原因。
PS:我本可以在这里回答:使用Safari访问它,接受并继续,它将不再询问。但这不是正确的答案。它不会解释原因,并且不在您提出的场景中。既然您使用的是Chrome,我就从您在这里介绍的具体应用和具体情况出发,描述了这个过程,并澄清了背后的原因。
当然,现在,既然您知道有两种方法可以制作此证书安装过程,您可以选择您更喜欢的方法。
_
注:@patrick-mevzek提到
“在MacOS上,您必须将该证书添加到密钥链”,每次证书更改或续订时,您都需要再次添加该证书。如果由私人CA签名,并且如果您在信任存储中添加CA,那么您将面临各种MitMhtml" target="_blank">攻击,因为该CA可以为任何名称签名证书,这通常是/可能是公司PKI内的标准设置,但您必须注意后果。"
我同意@patrick-mevzek的观点,他是对的,他在这个话题上做了一个重要的观察。
我扩展了他提到的观点(特别是针对MacOS),展示了如何检查要添加到密钥链中的公司证书是CA证书还是只是一个常见的无害端到端SSL证书。
再次打开该证书,向下滚动它的信息,直到找到如下图所示的“使用”项。
下图中有两种证书:
>
在右边,有一个简单而通用的SSL证书,用于所有网站和internet域,其目的只是在您和访问的域之间进行端到端加密,以加密您的流量。它不能用作连接流量数据的MitM解密程序。这种钥匙链是完全安全的。
让我们考虑一下,您遇到了一个危险的情况,该证书是CA证书,您添加并信任了它。
有没有办法让你知道你的流量是否被你的公司解密,你的信息是否被曝光?
是的,有。
在任何浏览器上,当您访问任何重要网站时,请选择一家银行,例如,在本例中,我选择“hsbc.com.br”,我将显示这两种情况:
在访问任何重要的https站点时,即使您看到chrome或safari上的绿色图标指示连接已加密,如果您想确保没有人在中间,请检查其证书。
_
这是正常的
现在,让我们在中间放置一个代理,并执行MitM atack。
这是我几分钟前刚刚访问过的同一家汇丰银行,但我在我的网络上插入了一个MitM代理技术,我在我的MacOS钥匙链上信任这种证书[CA证书]。
让我们看看Chrome对银行网站的介绍:
它告诉我它是安全的,还说我的信息将是私人的!
但是Chrome是错的!!(而且它不知道它是错的,因为它超越了它)
很容易注意到区别,伪造的汇丰银行证书是由我自己的个人证书颁发机构在我的网络内颁发的。这是由我的代理自动完成的,它能够以纯TXT格式以两种方式阅读我在汇丰银行网站上插入的所有信息。然后它再次加密数据并发送到我的浏览器,反之亦然,在与汇丰银行服务器通话时执行相同的重新加密。
浏览器“认为”一切正常,因为连接是加密的,证书上的站点名称与我正在访问的URL地址匹配,证书是有效的,证书在我的密钥链上受信任的CA机构!
技术上一切都很好,但事实并非如此。
正如帕特里克·梅夫泽克(PatrickMevzek)所说,这是真正的危险,你必须意识到。
我有一小段代码 我想知道为什么会弹出这条信息 我没有为req和res声明类型,但是为什么typescript只为err显示error?
我使用创建了Angular 4项目,在开发模式下运行应用程序时,我在控制台中收到以下警告: 奇怪的是警告只出现在Chrome上。(我的chrome构建版本是:) 那些(违规)警告是什么意思? 这对应用程序性能有害吗? 如何禁用/覆盖或配置zone.js以删除这些警告?
我知道对你们大多数人来说,这可能是一个简单的错误,但我找不到任何答案或我面临的问题的线索,主要原因是我对是新手,我与错误消息或这些消息告诉我的任何东西都不相关。 当我尝试运行像hello world这样的基本代码时,它首先打印这一行 “/library/java/javavirtualmachines/jdk-11.0.1.jdk/contents/home/bin/java”-javaagent
昨天,我刚刚在Mac OS Catalina 10.15.7版上安装了面向企业Java和Web开发人员的Eclipse IDE。我拖动日食。从下载文件夹到应用程序文件夹的应用程序。它工作得很好。我创建了几个servlet。但今天,当我点击应用程序打开它时,我收到了一个问题报告(错误),所以它没有打开。 错误详细信息为。。 启动后的唤醒时间:3300秒 系统完整性保护:启用 崩溃的线程:0 异常类型
我在MacOS Big Sur(当我有Catalina时,问题也存在)和MAMP下有一台Mac电脑 我想创建一个虚拟主机 以下是我所做的: 在Application/MAMP/conf/apache/httpd中。conf,我取消了对Include/Applications/MAMP/conf/apache/extra/httpd vhosts行的注释。形态 这是我的应用程序/MAMP/conf/
试图让php/imagick在运行OS 10.15的mac上运行。3(Catalina)使用brew。我安装了Php(7.4.3)我安装了imagemagic(7.0.9-23),当我pecl安装imagick时,我得到: 文件夹存在且为空且具有权限 加载文件不会失败,因为该示例不会使安装失败。消息听起来好像无法读取源代码,但我不确定。有人有什么想法吗?