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

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


当前回答

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

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

其他回答

这对我有用。请参见:http://www.robpeck.com/2010/10/google-chrome-mac-os-x-and-self-signed-ssl-certificates/#.Vcy8_ZNVhBc

在地址栏中,单击带有X的小锁。这将显示一个小信息屏幕。单击显示“证书信息”的按钮

单击并将图像拖到桌面。它看起来像一个小证书。

双击它。这将打开Keychain Access实用程序。输入密码以解锁。

确保将证书添加到系统密钥链,而不是登录密钥链。单击“始终信任”,即使这似乎没有任何作用。

添加后,双击它。您可能需要再次进行身份验证。

展开“信任”部分。

“使用此证书时,”设置为“始终信任”

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

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

基本上:

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

我的解决方案和解释:

我有一个用IIS资源工具包工具SelfSSL.exe创建的自签名证书。在本地计算机上的证书列表中,我看到这个自签名证书只有一个用途:服务器身份验证。所以我创建了一个新的自签名证书,它有两个目的:服务器身份验证和客户端身份验证。现在Chrome不再抱怨了。

本文展示了许多生成自签名证书的方法。请注意,并非所有选项都允许您指定证书用途。我使用PowerShell的方式:

$cert = New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname company.co.nz

注意:正如kellen Chrome的这个回答所述,它确实允许您设置证书的用途,但是IMO不能为证书添加新的用途,如果创建证书时没有考虑到这一点。

Linux上Chromium上管理SSL证书的GUI对我来说并不正常。然而,他们的文档给出了正确的答案。诀窍是运行下面的命令来导入自签名SSL证书。只需更新<certificate-name>和certificate-filename.cer的名称,然后重新启动chrome/chrome。

从文档:

在Linux上,Chromium使用NSS共享数据库。如果内置管理器不适用于您,则可以使用NSS命令行工具配置证书。获取工具Debian/Uubuntu:sudo apt-get安装libnss3工具Fedora:su-c“yum安装nss-tools”Gentoo:su-c“echo'dev-libs/nss-utils'>>/etc/portage/package.use&&emerge-dev-libs/nss”(您需要使用nss前缀启动下面的所有命令,例如nsscerttil。)Opensuse:sudo zypper安装mozilla nss工具要信任自签名服务器证书,我们应该使用certutil-d sql:$HOME/.pki/nssdb-A-t“P,,”-n<证书昵称>-i certificate-filename.cer列出所有证书certutil-d sql:$HOME/.pki/nssdb-LTRUSTARGS是三个由零个或多个字母字符组成的字符串,用逗号分隔。它们定义了SSL、电子邮件和对象签名应如何信任证书,并在certutil文档或Meena关于信任标志的博客文章中进行了解释。为SSL客户端身份验证添加个人证书和私钥使用命令:pk12util-d sql:$HOME/.pki/nssdb-i PKCS12_file.p12导入存储在PKCS#12文件中的个人证书和私钥。个人证书的TRUSTARGS将设置为“u,u,u”。删除证书certutil-d sql:$HOME/.pki/nssdb-d-n<证书昵称>

摘录自:https://chromium.googlesource.com/chromium/src/+/HEAD/docs/linux_cert_management.md

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