我已经为localhostCN创建了一个自签名的SSL证书。正如预期的那样,Firefox在最初抱怨后接受了这个证书。然而,Chrome和IE拒绝接受它,即使在将证书添加到Trusted Roots下的系统证书存储之后。尽管当我在Chrome的HTTPS弹出窗口中单击“查看证书信息”时,证书被列为正确安装,但它仍然坚称证书不可信。
我该怎么做才能让Chrome接受证书并停止抱怨?
我已经为localhostCN创建了一个自签名的SSL证书。正如预期的那样,Firefox在最初抱怨后接受了这个证书。然而,Chrome和IE拒绝接受它,即使在将证书添加到Trusted Roots下的系统证书存储之后。尽管当我在Chrome的HTTPS弹出窗口中单击“查看证书信息”时,证书被列为正确安装,但它仍然坚称证书不可信。
我该怎么做才能让Chrome接受证书并停止抱怨?
当前回答
仅适用于本地主机
只需将其粘贴到您的铬中:
chrome://flags/#allow-insecure-localhost
您应该看到突出显示的文本:
允许从本地主机加载的资源的证书无效
单击启用。
其他站点
尝试在窗口的任何位置键入thisisnsafe,浏览器将允许您访问该页面。
-OR-
对于本地自签名证书,可以避免晦涩难懂的命令、专门知识和手动步骤,请尝试从这个答案中选择mkcert。
其他回答
当单击URL旁边的小划掉的锁定图标时,您将看到一个如下所示的框:
单击证书信息链接后,您将看到以下对话框:
它告诉哪个证书存储是正确的,它是受信任的根证书颁发机构存储。
您可以使用其他答案中列出的方法之一将证书添加到该存储,也可以使用:
certutil -addstore -user "ROOT" cert.pem
ROOT是前面提到的证书存储的内部名称。cert.pem是自签名证书的名称。
对于测试环境
在启动chrome时,可以使用--ignore证书错误作为命令行参数(在Ubuntu上使用28.0.1500.52版本)。
这将导致它忽略错误并在没有警告的情况下连接。如果您已经运行了一个版本的chrome,则需要在从命令行重新启动之前关闭它,否则它将打开一个新窗口,但忽略参数。
我将Intellij配置为在进行调试时以这种方式启动chrome,因为测试服务器从来没有有效的证书。
不过,我不建议像这样正常浏览,因为证书检查是一项重要的安全功能,但这可能对某些人有所帮助。
这对我有用:
使用Chrome,通过HTTPS点击服务器上的一个页面,然后继续浏览红色警告页面(假设你还没有这样做)。打开Chrome设置>显示高级设置>HTTPS/SSL>管理证书。单击“颁发机构”选项卡,然后向下滚动以在您为证书提供的“组织名称”下查找您的证书。选择它,单击“编辑”(注意:在最新版本的Chrome中,该按钮现在是“高级”而不是“编辑”),选中所有框并单击“确定”。您可能需要重新启动Chrome。
你现在应该在你的页面上获得漂亮的绿色锁。
编辑:我在新计算机上再次尝试了此操作,但仅从红色的不受信任证书页面继续,证书就没有显示在“管理证书”窗口中。我必须做到以下几点:
在具有不受信任证书的页面(https://用红色划掉)上,单击锁>证书信息。注意:在较新版本的chrome上,您必须打开“开发人员工具”>“安全”,然后选择“查看证书”。单击“详细信息”选项卡>“导出”。选择PKCS#7,单一证书作为文件格式。然后按照我的原始说明进入“管理证书”页面。单击“权限”选项卡>“导入”,然后选择将证书导出到的文件,并确保选择PKCS#7,单一证书作为文件类型。如果提示证书存储,请选择受信任的根证书颁发机构选中所有复选框并单击“确定”。重新启动Chrome。
这对我有用。请参见:http://www.robpeck.com/2010/10/google-chrome-mac-os-x-and-self-signed-ssl-certificates/#.Vcy8_ZNVhBc
在地址栏中,单击带有X的小锁。这将显示一个小信息屏幕。单击显示“证书信息”的按钮
单击并将图像拖到桌面。它看起来像一个小证书。
双击它。这将打开Keychain Access实用程序。输入密码以解锁。
确保将证书添加到系统密钥链,而不是登录密钥链。单击“始终信任”,即使这似乎没有任何作用。
添加后,双击它。您可能需要再次进行身份验证。
展开“信任”部分。
“使用此证书时,”设置为“始终信任”
如果你在mac上,没有看到导出选项卡或如何获取证书,这对我来说很有用:
单击https://转到“连接”选项卡单击“证书信息”现在您应该看到:将这个小证书图标拖到桌面上(或任何地方)。双击下载的.cer文件,这应该会将其导入到密钥链中,并打开密钥链访问证书列表。在某些情况下,这就足够了,您现在可以刷新页面了。否则:双击新添加的证书。在信任下拉列表下,将“使用此证书时”选项更改为“始终信任”
现在重新加载有问题的页面,问题应该解决了!希望这有帮助。
从Wolph编辑
为了使此操作更简单,可以使用以下脚本(源代码):
将以下脚本另存为whitelist_ssl_certificate.ssh:#!/usr/bin/env bash-eSERVERNAME=$(echo“$1”|sed-E-E's/https?:\\///'-E's/\/.*//')echo“$SERVERNAME”如果[[“$SERVERNAME”=~.*\..*]];然后echo“为$SERVERNAME添加证书”echo-n | openssl s_client-connect$SERVERNAME:443 | sed-ne'/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'|tee/tmp/$SERVERNAME.certsudo安全添加可信证书-d-r trustRoot-k“/Library/Keychains/System.keychain”/tmp/$SERVERNAME.cert其他的echo“用法:$0 www.site.name”echo“http://等将自动剥离”传真使脚本可执行(从shell):chmod+x白名单_ssl_证书.ssh运行所需域的脚本(只需复制/粘贴完整的url即可):./whitelist_ssl_certificate.sshhttps://your_website/whatever