我试图让我的本地开发在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 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。

其他回答

有一个隐藏的方法可以绕过这个错误,即使没有按钮允许它。当然,这应该只用于你自己的网站-你完全确定网站没有被黑客攻击,但只是本地的,因此没有有效的互联网证书。

只需点击拒绝页面上的任何地方,并键入“这是不安全的”。

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

点击advance,然后点击页面(不是地址栏),输入——> "thisisunsafe"(没有双引号),然后按enter,你不会看到你输入了什么,但相信我,它会工作:),你将能够访问URL。

在MacOS Catalina中,我让它工作:

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

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

2021年,我在2007年的iMac上使用了这个方法:

https://www.youtube.com/watch?v=m3FgAztrYYo

包含了Letsencrypt根证书链接。

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

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

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