我已经为localhostCN创建了一个自签名的SSL证书。正如预期的那样,Firefox在最初抱怨后接受了这个证书。然而,Chrome和IE拒绝接受它,即使在将证书添加到Trusted Roots下的系统证书存储之后。尽管当我在Chrome的HTTPS弹出窗口中单击“查看证书信息”时,证书被列为正确安装,但它仍然坚称证书不可信。
我该怎么做才能让Chrome接受证书并停止抱怨?
我已经为localhostCN创建了一个自签名的SSL证书。正如预期的那样,Firefox在最初抱怨后接受了这个证书。然而,Chrome和IE拒绝接受它,即使在将证书添加到Trusted Roots下的系统证书存储之后。尽管当我在Chrome的HTTPS弹出窗口中单击“查看证书信息”时,证书被列为正确安装,但它仍然坚称证书不可信。
我该怎么做才能让Chrome接受证书并停止抱怨?
当前回答
当我尝试在浏览器中导入证书时,它对我不起作用。。。在chrome中,打开Developer Tools>Security,然后选择View certificate。单击“详细信息”选项卡并将其导出。
//LINUX操作系统
sudo apt-get install libnss3-tools
certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n [EXPORTED_FILE_PATH] -i [EXPORTED_FILE_PATH]
运行此命令,如果您看到您刚刚导入的文件,就可以开始了!
certutil -d sql:$HOME/.pki/nssdb -L
//Windows
Start => run => certmgr.msc
在左侧选择受信任的根证书颁发机构=>个人。单击操作选项卡=>所有操作/导入,然后从浏览器中选择之前导出的文件
别忘了重新启动chrome!!!
祝你好运!;)
其他回答
在Mac上,您可以使用Keychain Access实用程序将自签名证书添加到系统密钥链,然后Chrome将接受它。我在这里找到了分步说明:
Google Chrome、Mac OS X和自签名SSL证书
基本上:
双击带有X的锁定图标并将证书图标拖放到桌面,打开此文件(以.cer扩展名结尾);这将打开允许您批准证书的密钥链应用程序。
在Windows 10上进行本地测试时,上面的答案对我没有帮助
https://localhost:<端口>。
然而,我找到了这个页面,指示要传递的另一个标志:
https://www.chromium.org/blink/serviceworker/service-worker-faq
如果您想在https://localhost使用自签名证书,请执行以下操作:$ ./chrome—允许不安全的本地主机https://localhost
这并没有消除红色警告,但它确实使我能够使用仅限https的功能,如服务工作者和网络推送通知。
从Chrome 58+开始,由于缺少SAN,我开始在macOS上获取证书错误。下面是如何再次获得地址栏上的绿色锁。
使用以下命令生成新证书:openssl请求\-新密钥rsa:2048\-2009年5月\-节点\-keyout服务器.key\-新的\-输出服务器.crt\-subj/CN=*.domain.dev\-请求SAN\-扩展SAN\-配置<(cat/System/Library/OpenSSL/OpenSSL.cnf\<(printf'[SAN]\nobjectAltName=DNS:*.domain.dev'))\-沙256\-720天将server.crt导入KeyChain,然后双击证书,展开“信任”,然后选择“始终信任”
刷新页面https://domain.dev在Google Chrome中,绿色锁又回来了。
修复Windows上的Chrome。
首先,您需要导出证书。
在浏览器中找到url。url的“https”段将为用红线划掉,左侧将有一个锁定符号。右键单击划掉的“https”段。您将看到一个包含各种信息的信息窗口单击“详细信息”。导出证书,按照说明接受默认设置。
要导入
转到Chrome设置单击“高级设置”在HTTPS/SSL下单击“管理证书”转到“受信任的根证书颁发机构”单击“导入”将出现一个弹出窗口,询问您是否要安装此证书。单击“是”。
Linux系统
如果您使用的是Linux,也可以关注以下官方wiki页面:
在Linux上配置SSL证书。NSS共享数据库和LINUXNSS共享数据库如何
基本上:
单击带有X的锁定图标,选择证书信息转到“详细信息”选项卡单击导出。。。(另存为文件)
现在,以下命令将添加证书(其中YOUR_FILE是导出的文件):
certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n YOUR_FILE -i YOUR_FILE
要列出所有证书,请运行以下命令:
certutil -d sql:$HOME/.pki/nssdb -L
如果它仍然不起作用,您可能会受到此错误的影响:问题55050:Ubuntu SSL错误8179
另外,在使用上述命令之前,请确保您拥有libnss3工具。
如果没有,请通过以下方式安装:
sudo apt-get install libnss3-tools # on Ubuntu
sudo yum install nss-tools # on Fedora, Red Hat, etc.
另外,您可以使用以下方便的脚本:
$ cat add_cert.sh
certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n $1 -i $1
$ cat list_cert.sh
certutil -d sql:$HOME/.pki/nssdb -L # add '-h all' to see all built-in certs
$ cat download_cert.sh
echo QUIT | openssl s_client -connect $1:443 | sed -ne '/BEGIN CERT/,/END CERT/p'
用法:
add_cert.sh [FILE]
list_cert.sh
download_cert.sh [DOMAIN]
故障排除
使用--auto-ssl客户端身份验证参数运行Chromegoogle chrome--自动ssl客户端身份验证