我已经为localhostCN创建了一个自签名的SSL证书。正如预期的那样,Firefox在最初抱怨后接受了这个证书。然而,Chrome和IE拒绝接受它,即使在将证书添加到Trusted Roots下的系统证书存储之后。尽管当我在Chrome的HTTPS弹出窗口中单击“查看证书信息”时,证书被列为正确安装,但它仍然坚称证书不可信。
我该怎么做才能让Chrome接受证书并停止抱怨?
我已经为localhostCN创建了一个自签名的SSL证书。正如预期的那样,Firefox在最初抱怨后接受了这个证书。然而,Chrome和IE拒绝接受它,即使在将证书添加到Trusted Roots下的系统证书存储之后。尽管当我在Chrome的HTTPS弹出窗口中单击“查看证书信息”时,证书被列为正确安装,但它仍然坚称证书不可信。
我该怎么做才能让Chrome接受证书并停止抱怨?
当前回答
我刚刚在我的chrome中启用了允许不安全的localhost标志,就这样。
步骤。
类型chrome://flags在您的铬标签中。搜索允许不安全的本地主机标志并启用它。重新启动chrome浏览器。
现在,您将不会看到不安全的警告https://localhost地点。
其他回答
在Windows 10上进行本地测试时,上面的答案对我没有帮助
https://localhost:<端口>。
然而,我找到了这个页面,指示要传递的另一个标志:
https://www.chromium.org/blink/serviceworker/service-worker-faq
如果您想在https://localhost使用自签名证书,请执行以下操作:$ ./chrome—允许不安全的本地主机https://localhost
这并没有消除红色警告,但它确实使我能够使用仅限https的功能,如服务工作者和网络推送通知。
当单击URL旁边的小划掉的锁定图标时,您将看到一个如下所示的框:
单击证书信息链接后,您将看到以下对话框:
它告诉哪个证书存储是正确的,它是受信任的根证书颁发机构存储。
您可以使用其他答案中列出的方法之一将证书添加到该存储,也可以使用:
certutil -addstore -user "ROOT" cert.pem
ROOT是前面提到的证书存储的内部名称。cert.pem是自签名证书的名称。
我刚刚在我的chrome中启用了允许不安全的localhost标志,就这样。
步骤。
类型chrome://flags在您的铬标签中。搜索允许不安全的本地主机标志并启用它。重新启动chrome浏览器。
现在,您将不会看到不安全的警告https://localhost地点。
好的,假设你已经创建了一个“有效”的自签名证书。它正确安装在chrome ver 94上。但是当您访问该站点时,您不会得到ssl锁,并且会出现“无效的证书颁发机构”错误。事实上,它是一个有效的证书。但是如果你没有正确浏览网站,你会收到这个错误。我的证书的DNS是DNS1:TFDM,DNS2:TFDM.local,DNS3:172.31.42.251,DNS4:192.168.20.50。
我正在浏览192.168.20.50,它不安全(锁定)。问题是,证书是针对DNS1:TFDM的。因此,我必须输入/etc/hosts文件(centos7)192.168.20.50 TFDM进行解析,然后浏览https://TFDM.问题已解决。您必须正确浏览网站。我以为它会在服务器端解决,但必须在客户端解决。这很容易被忽视,如果其他一切都正确,这可能是你的问题。覆盖安全性和ssl功能会带来麻烦,我认为没有合适的解决方案。如果应用正确,并且遵循Chrome不断更改的规则,自签名证书就可以工作。
截至2020年3月,在使用Chrome81的MacOSCatalina上,一旦您使用openssl创建了一个有效的证书,上述情况就会发生变化。
首先,我使用Safari浏览了我的网站,并单击了警告页面底部的链接,该链接允许我无论如何访问该网站。这将证书添加到我的Mac Keychain(即Keychain.app)。Safari将允许我查看该页面。Chrome显示证书是可信的,但不允许我查看该页面。我继续收到CERTIFICATE_INVALID错误。
在Keychain中,选择左下角窗格中的“所有项目”。然后搜索本地主机DNS名称(即myhost.example.com)。
双击证书。它将打开证书的编辑对话框。
将“使用此证书时”更改为“始终信任”
这完全违反直觉,因为SSL已经设置为Always Trust,可能是Safari在添加证书时设置的。Chrome只有在我将其全局更改为“始终信任”后才开始工作。当我把它换回来时,它停止了工作。