我已经为localhostCN创建了一个自签名的SSL证书。正如预期的那样,Firefox在最初抱怨后接受了这个证书。然而,Chrome和IE拒绝接受它,即使在将证书添加到Trusted Roots下的系统证书存储之后。尽管当我在Chrome的HTTPS弹出窗口中单击“查看证书信息”时,证书被列为正确安装,但它仍然坚称证书不可信。

我该怎么做才能让Chrome接受证书并停止抱怨?


当前回答

我尝试了一切,并尝试了什么:导入时,选择正确的类别,即受信任的根证书颁发机构:

(很抱歉,这是德语,但请按照图片操作)

其他回答

仅适用于本地主机

只需将其粘贴到您的铬中:

chrome://flags/#allow-insecure-localhost

您应该看到突出显示的文本:

允许从本地主机加载的资源的证书无效

单击启用。

其他站点

尝试在窗口的任何位置键入thisisnsafe,浏览器将允许您访问该页面。

-OR-

对于本地自签名证书,可以避免晦涩难懂的命令、专门知识和手动步骤,请尝试从这个答案中选择mkcert。

假设您使用的是Mac OSX,您也可以在Safari中打开相关的URL;说https://localhost:8080/css/app.css,允许证书。重新启动Chrome,它就会工作。

在Windows 10上进行本地测试时,上面的答案对我没有帮助

https://localhost:<端口>。

然而,我找到了这个页面,指示要传递的另一个标志:

https://www.chromium.org/blink/serviceworker/service-worker-faq

如果您想在https://localhost使用自签名证书,请执行以下操作:$ ./chrome—允许不安全的本地主机https://localhost

这并没有消除红色警告,但它确实使我能够使用仅限https的功能,如服务工作者和网络推送通知。

在Mac上,您可以使用Keychain Access实用程序将自签名证书添加到系统密钥链,然后Chrome将接受它。我在这里找到了分步说明:

Google Chrome、Mac OS X和自签名SSL证书

基本上:

双击带有X的锁定图标并将证书图标拖放到桌面,打开此文件(以.cer扩展名结尾);这将打开允许您批准证书的密钥链应用程序。

单击页面上的任意位置并键入BYPASS_SEQUENCE:

BYPASS_SEQUENCE Chrome Version
thisisunsafe 65 - ?
badidea 62 - 64
danger ? - 61

您不需要查找输入字段,只需键入它即可。这感觉很奇怪,但它有效。我在Mac High Sierra上试过了。

要再次检查他们是否再次更改,请转到最新的Chromium源代码。此时BYPASS_SEQUENCE如下所示:

var BYPASS_SEQUENCE = window.atob('dGhpc2lzdW5zYWZl');

现在他们把它伪装起来了,但要看到真正的BYPASS_SEQUENCE,您可以在浏览器控制台中运行以下行。

console.log(window.atob('dGhpc2lzdW5zYWZl'));

OR

除了键入短语,您还可以在控制台中粘贴代码部分

sendCommand(SecurityInterstitialCommandId.CMD_PROCEED)