我试图让我的本地开发在Chrome重新运行,但Chrome阻止了这一点,提示证书无效。尽管它可能不是证书的日期,正如你在它的截图中看到的那样:

我只是想知道为什么没有高级>选项继续无论如何看到网站,并能够在本地开发应用程序。

还有几件事需要提一下:

The local development runs on https://local.app.somecompany.com:4200/. It can't be just localhost, because otherwise our authentication http-only cookies won't work in Chrome. Therefore the host file under etc/hosts was adjusted to point to the localhost IP adress (127.0.0.1). The certificate was generated with openssl according to this tutorial and this repo The certificate works for a colleague with the exact same Chrome version but with a MacOS version 10.14.6 (mine right now is MacOS 10.15.1) The chrome flag(chrome://flags/#allow-insecure-localhost) does not change anything Also works in firefox on my laptop.

到目前为止,我在网上找不到任何帮助我解决这个问题的东西,所以我非常感谢,如果有人有更多的想法,我可以尝试!?

规格:

操作系统:MacOS 10.15.1 铬:78.0.3904.97


当前回答

在MacOS Catalina中,我让它工作:

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

就是这样,刷新你的浏览器,它应该工作得很好:)

其他回答

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

似乎有两种方法可以解决这个问题:

只需在MacOS密钥链中安装证书。然后双击它,在“信任”下选择“始终信任”。 根据新的MacOS Catalina规格生成证书。

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

这是一个用扩展创建的联机程序:

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"

如果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

正在扩展的密钥dedkeyusage =serverAuth。

供你参考:MacOS上的Chrome处理这个和Windows不同。MacOS版本不会看到继续按钮,即使你点击高级按钮。

如果您确定此页面是安全的,请继续访问,这里有一个简单的方法:

错误页面里有个秘密密码。只要确保页面被选中(点击屏幕上的任何地方),只输入这是不安全的。

裁判:https://twitter.com/zairwolf/status/1196878125734486021

经过长时间的寻找,我找到了一个解决办法。这个解决方案适用于mac。

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

一个可能的解决方案是启动Chrome参数“——ignore-certificate-errors”。

Mac操作系统的步骤:

Chrome。 在Finder中,选择“Go”>“Utilities”。 推出“终端”。 输入以下命令,然后按“Enter”: /应用程序/谷歌\ Chrome。app/Contents/MacOS/谷歌\ Chrome——ignore-certificate-errors &> /dev/null &

来自https://www.technipages.com/google-chrome-bypass-your-connection-is-not-private-message的解决方案