在 MacOS 上的 Chrome 中,NET::ERR_CERT_INVALID 上没有“仍然继续”选项

Dar*_*ler 198 macos ssl google-chrome localhost macos-catalina

我尝试让我在 Chrome 中的本地开发重新运行,但 Chrome 阻止了这一点,并显示证书无效的消息。即使它不能是证书的日期,正如您在它的屏幕截图中看到的那样:

在此处输入图片说明

我只是想知道为什么没有高级 > 选项可以继续查看网站并能够在本地开发应用程序。

还有几点要说:

  • 本地开发运行在 https://local.app.somecompany.com:4200/ 上。它不能只是本地主机,否则我们的身份验证仅限 http cookie 将无法在 Chrome 中工作。
  • 因此 etc/hosts 下的主机文件被调整为指向本地主机 IP 地址(127.0.0.1)。
  • 证书是根据本教程和本 repo使用 openssl 生成的
  • 该证书适用于 Chrome 版本完全相同但 MacOS 版本为 10.14.6(我的现在是 MacOS 10.15.1)的同事
  • chrome 标志(chrome://flags/#allow-insecure-localhost)不会改变任何东西
  • 也适用于我的笔记本电脑上的 Firefox。

到目前为止,在网上找不到任何可以帮助我解决此问题的内容,因此我将非常感谢,如果有人有更多想法我可以尝试什么!?

眼镜:

  • 操作系统:MacOS 10.15.1
  • 铬:78.0.3904.97

har*_*rry 643

仅供参考:MacOS 上的 Chrome 对此的处理方式与 Windows 不同。即使您单击advanced按钮,MacOS 版本也不会看到继续按钮。

要在您确定此页面安全的情况下继续访问,这里有一个简单的方法:

错误页面中内置了一个秘密密码。只需确保选择了页面(单击屏幕上的任意位置),然后输入thisisunsafe.

参考:https : //twitter.com/zairwolf/status/1196878125734486021

  • `thisisinsane` 但有效 (39认同)
  • 惊人的!我猜 Chrome 团队认为只有知道 stackoverflow / twitter 的用户才应该被信任才能继续 (30认同)
  • 不适用于 macOS 上的 chrome _版本 91.0.4472.77(官方版本)(x86_64)_ ;( (5认同)
  • 在撰写本文时,作弊代码(`BYPASS_SEQUENCE`)在 https://github.com/chromium/chromium/blob/f8d4f3dec98d8a9836847c256753a12cd3e809ce/components/security_interstitials/core/browser/resources/interstitial_large.js#L19 处以 Base64 编码 (5认同)
  • 谢谢!这很有用。您知道有什么方法可以使自定义证书受到浏览器的信任吗?添加到钥匙串没有帮助。 (4认同)
  • 这太疯狂了。 (4认同)
  • 我也会建议“谷歌,thisisstupid_stahppit”,很搞笑的是,他们认为本地时钟是错误的,而不是证书“非常过期”,从统计学上来说,这是有道理的,但实际上,如果你不能相信本地时钟在这种情况下,如果它与证书窗口内对齐,为什么您能够信任它...... (3认同)
  • 只是哇无话可说 (2认同)
  • 这绝对是一个荒谬的问题。错误消息中根本没有提及它。如果你没有用谷歌搜索到正确的东西,祝你好运。谢谢你,但我仍然对这种情况的存在感到愤怒。 (2认同)

小智 140

即使没有按钮允许,也有一种隐藏的方法可以绕过该错误。当然,这应该仅用于您自己的网站——您完全确定该网站没有被黑客入侵,而只是本地的,因此没有有效的互联网证书。

只需单击拒绝页面上的任意位置并输入“thisisunsafe”。

听起来很疯狂,但可以绕过 chrome 对您的安全的监督。Chrome 应该因为不接受本地网络中的设备证书而被踢。这不是物联网,这是“Ny Net”!

  • 重复 /sf/answers/4127012571/ (7认同)
  • 这是互联网上最有用的东西!谢谢! (5认同)

Nik*_*esh 67

这个解决方案对我有用。

  • 右键单击,选择检查元素
  • 单击控制台选项卡
  • 复制粘贴sendCommand(SecurityInterstitialCommandId.CMD_PROCEED)按回车

繁荣!它应该加载页面:)


Auk*_*kta 15

单击“高级”,然后单击“页面”(不是地址栏)并输入 -->“thisisunsafe”(不带双引号)并按 Enter 键,您将看不到输入的内容,但相信我它会起作用:)并且您将能够访问该 URL。


pri*_*sar 10

经过长时间的搜索,我找到了解决方案。此解决方案适用于 mac。

  1. 首先,进入设置
  2. 搜索管理证书KeychainAccess将打开。
  3. 尝试查找证书的名称,例如 localhost 在我的情况下是名称。如果您单击证书,它将显示详细信息。
  4. 然后在“信任”部分,您必须为“使用此证书时”选择“始终信任”。
  5. 现在再次检查浏览器。您将能够直接访问该页面。隐私错误,您的连接不是私人消息不会来。


Saa*_*lik 9

为了让 macOS Chrome 在高级下显示“继续”链接,请确保使用X509 扩展中的TLS Web 服务器身份验证创建证书。

这是使用该扩展名创建的oneliner:

openssl req \
  -newkey rsa:2048 \
  -x509 \
  -new \
  -nodes \
  -keyout server.key \
  -out server.crt  \
  -subj /CN=test1   \
  -sha256  \
  -days 3650  \
  -addext "subjectAltName = DNS:foo.co.uk,IP:127.0.0.1,IP:192.168.1.1" \
  -addext "extendedKeyUsage = serverAuth"
Run Code Online (Sandbox Code Playgroud)

如果您的 MacOS openssl没有 addext选项,请使用以下替代形式:

openssl req \
  -newkey rsa:2048 \
  -x509 \
  -nodes \
  -keyout server.key \
  -new \
  -out server.crt \
  -subj /CN=test1 \
  -extensions v3_new \
  -config <(cat /System/Library/OpenSSL/openssl.cnf \
  <(printf '[v3_new]\nsubjectAltName=DNS:a.spectrocloud.com\nextendedKeyUsage=serverAuth')) \
  -sha256 \
  -days 3650
Run Code Online (Sandbox Code Playgroud)

关键是extendedKeyUsage=serverAuth

  • 这就是我一直在寻找的答案 - 添加 `serverAuth` EKU。谢谢。 (5认同)

小智 9

让浏览器信任 SSL 证书

在 Chrome 中,我们可以在搜索栏中写入以下 URL:chrome://flags/#allow-insecure-localhost 并激活相关选项。

礼貌: https: //www.thomasvitale.com/https-spring-boot-ssl-certificate/


小智 5

在 MacOS Catalina 中,我通过以下方式工作:

  1. 将 PEM 证书内容复制粘贴到文本编辑器(例如 vi)中并将其保存为 .pem 文件(例如 localhost.pem
  2. 在finder中,打开刚刚创建的证书文件并将其添加到系统钥匙串
  3. 一个钥匙串访问窗口会显示; 打开您的本地主机证书
  4. 安全套接字层 (SSL )设置“始终信任”,如下所示

在此处输入图片说明

就是这样,刷新您的浏览器,它应该可以正常工作:)


Dar*_*ler 2

所以在添加这个问题后,一位同事发现了这个帖子

似乎有两种选择可以解决这个问题:

  • 只需将证书安装到 MacOS 密钥链中即可。然后双击它并在“信任”下选择“始终信任”。
  • 根据新的MacOS Catalina 规范生成证书。