添加自签发的 SSL 证书为受信任的根证书

通过 SSL 加密的 HTTPS 连接访问网站时,需要安装并配置一个受信任的 CA 根证书Trusted CA Root Certificate)。平常访问一些加密网站之所以不需要自己安装证书,是因为系统或浏览器已经提前安装了一些受信任机构颁发的证书。但有些时候访问一些组织或个人自己签发证书的网站的时候,就会收到浏览器发出的警告。此时可以将该证书添加到“受信任的根证书颁发机构”存储区,然后就不会再收到安全提示了。

1. 前言

为什么要自己签发安全证书Self-signed CA)呢?因为一些受信任机构颁发的证书年费通常不菲,而且有些时候公司或者组织内部小范围使用的话没有信任问题,这时就可以自己签发一个安全证书。

对于这种安全证书,能否被信任就需要用户自己练就火眼金睛去识别了。比如我签发的证书,我的朋友就多半认为可以被信任,其他人不了解我的话就多半不信任。

在 VPS 上部署了 SSL 服务之后,因为证书(CA)是自己签发的,通过 HTTPS 加密链接访问网站的时候会提示证书不被信任之类的。可以将证书添加到 Windows 证书管理器的“受信任的根证书”目录中,以后 HTTPS 加密访问自己的网站就不会再收到安全提示了。

警告:只有当你确认要安装的安全证书是可以信任的情况下才能安装,否则可能带来严重的安全问题,甚至造成财产损失。下面将介绍如何安装非授权机构发行的安全证书为受信任的根证书。

因为安全证书管理机制不同,下面介绍中涉及到:

  1. Internet Explorer 9 —— 微软系的都差不多,以下简称 IE。
  2. Chrome —— Chrome 版本变动频繁,下面以 21.0.1180.60 版本为例,而且因为 Chrome 使用的就是 Windows 系统里的证书,没有独立的证书存储单元,所以搞定 IE 也就搞定 Chrome 了。从 Chrome 中打开证书管理器的方法是,设置(Settings)——> 高级设置(Advanced Settings)——> HTTPS / SSL ——> 管理证书(Manage Certificates …)。
  3. Firefox —— Firefox 现在版本升级也很快了,好在界面、功能和操作变化不是太大,下面举例用的是 Firefox 15。Firefox 的安全证书管理是独立的,请参考另一篇文章:将自签发的 SSL 证书导入为 Firefox 中的受信任根证书

2. 从Windows 自带的浏览器 Internet Explorer 中导入

使用 IE 通过 HTTPS 打开相应网站,会收到如下图所示的安全警告:

Internet Explorer 9 - 证书错误:访问过程中断。提示说“此网站的安全证书有问题”。此时我们可以点击“继续浏览此网站(不推荐)”来继续。

Internet Explorer 9 – 证书错误:访问过程中断。提示说“此网站的安全证书有问题”。此时我们可以点击“继续浏览此网站(不推荐)”来继续。

中文显示的是:

此网站的安全证书有问题。
此网站出具的安全证书不是由受信任的证书颁发机构颁发的。

安全证书问题可能显示试图欺骗您或截获您向服务器发送的数据。建议关闭此网页,并且不要继续浏览该网站。

  • 单击此处关闭该网页。
  • 继续浏览此网站(不推荐)。

详细信息
如果通过单击链接到达此页面,请检查地址栏中的网站以确保该地址是您希望到达的页面。转到如 https://example.com 等网站时,请尝试将 “www” 添加到地址中,变为 https://www.example.com。有关详细信息,请参阅 Internet Explorer 帮助中的“证书错误”。

在出现上图所示的证书错误警告时,如果幸运的话,可以在浏览器地址栏的最右边看到红色背景的文字“证书错误”(Certificate Error),如下图所示。

IE 地址栏红色背景的“证书错误”提示,单击“查看证书”后可以直接安装该证书

IE 地址栏红色背景的“证书错误”提示,单击“查看证书”后可以直接安装该证书

单击这个错误提示靠下位置的“查看证书(View certificates)”就可以看到该证书的详情,并可以直接安装该证书到 Windows 系统的证书管理器中。如下图所示。

IE 查看证书详情,单击“安装证书”按钮即可开始安装证书

IE 查看证书详情,单击“安装证书”按钮即可开始安装证书

因为是自己签发的安全证书而不是经过认证的机构签发的,所以 Windows 无法自动信任该证书:此 CA 根目录证书不被信任。要启用信任,请将该证书安装到“受信任的根证书颁发机构”存储区。单击“安装证书”按钮即可打开 Windows 证书导入向导,单击“下一步”即可开始安装证书,如下图所示。

证书导入向导

证书导入向导

然后系统会询问该证书的存储位置。因为是未经认证的组织或个人自己签发的证书,如果选择让 Windows “根据证书类型,自动选择证书存储”的话,一般会给存储到“中级证书颁发机构”中。以后加密访问该网站的时候还是会收到安全警告。

根据我们的需要 —— 以后打开自己的网站时候不会再发出安全警告,也就是本文的目的,而且又是自己签发的证书,信任不成问题,咱就直接给添加到“受信任的根证书颁发机构”存储中。如下图所示。

Windows 安装安全证书:选择证书存储位置

Windows 安装安全证书:选择证书存储位置

点选“将所有的证书放入下列存储(P)”,然后单击“浏览(R)”,打开“选择证书存储”窗口来选择。有些时候可能需要选择“显示物理存储区(S)”,然后勾选“受信任的根证书颁发机构”下面的“本地计算机(Local Computer)”来存储。

选择后单击“确定”按钮,然后“下一步”。此时可能会收到安全警告(如下图),提示添加的是“根(root)”证书(信任级别最高)。下图中所示证书就是水景一页自己签发的了。

确认添加根证书

确认添加根证书

剩下的就是确认几次,任务完成!然后关闭浏览器重新打开,就可以试试效果了。

3. 通过 Windows 证书管理器安装

因为 Windows 和 IE 都是微软自家的,管理的是同一个证书管理器。所以不管是从 Windows 系统的证书管理器中导入安装证书,还是直接根据 IE 的提示来安装,效果都是一样的。唯一不同的是,通过 Windows 证书管理器来安装证书的话,需要先将安全证书(.crt 类型的那个文件)保存到本地磁盘。如果不能直接获取该证书,请先看另一篇文章介绍的从 Firefox 证书管理器中导出安全证书一节吧。

在 Windows 7 中(via 微软),要查看或管理证书,必须以管理员身份进行登录,才能执行这些步骤。可以使用“证书管理器”查看有关证书的详细信息,修改、删除这些证书,或者申请新证书。要打开证书管理器:

通过单击“开始”按钮,在“搜索”框中键入 certmgr.msc,然后按 Enter,打开“证书管理器”。‌ 如果系统提示输入管理员密码或进行确认,则需要键入密码或提供确认。

windows 7 证书管理器(certificates manager)

windows 7 证书管理器(certificates manager)

先展开左边栏里的“受信任的根证书颁发机构”,选中其下的“证书”,然后点击菜单栏的“操作”——>“所有任务”——>“导入”,即可打开证书导入向导。然后就可以接着前面的“证书导入向导”那幅图(快速跳转)开始往下操作了。

另外,在查看证书详情那一步,如果打开详细信息标签页,可以看到有个复制到文件的按钮,单击此按钮即可保存该证书为一个 CA 文件。

4. Chrome 中的安全证书错误提示

因为 Chrome 使用的就是 Windows 系统里的证书,没有独立的证书存储单元,所以搞定 IE 也就搞定 Chrome 了。从 Chrome 中打开证书管理器的方法是,设置(Settings)——> 高级设置(Advanced Settings)——> HTTPS / SSL ——> 管理证书(Manage Certificates …)。

在 Chrome 中遇到网站证书问题时会收到类似下面的错误提示:

该网站的安全证书不受信任!
您尝试访问的是 cnzhx.net,但服务器出示的证书是由您计算机的操作系统不信任的实体所颁发。这可能表明服务器已自行生成了安全凭据,Google Chrome 浏览器认为其中的身份信息不可靠;也可能表明攻击者正试图拦截您的通信内容。
您不应再继续,尤其是如果您以前从未在此网站看到这一警告信息,则更不应继续操作。

  • 仍然继续
  • 返回安全连接
  • 帮助我了解
    连接安全网站时,网站所在的服务器会向您的浏览器出示所谓的“证书”,用于验证其身份。这种证书包含网站地址等身份信息,已经过您计算机信任的第三方验证。通过核实证书中的地址是否与网站地址相符,可以证实自己正与所要访问的网站进行安全通信,而不是正与第三方(如您网络中的攻击者)进行通信。这种情况下,证书未经过您计算机信任的第三方进行验证。任何人都可以创建证书,随意声称自己是任何网站,因此必须要由受信任的第三方对证书进行验证。如果未经上述验证,证书中的身份信息就没有意义。因此,您无法验证与自己通信的对象是真正的 cnzhx.net,还是某个自行生成证书,声称自己是 cnzhx.net 的攻击者。您应该就此停止操作。但是,如果您为之工作的组织机构会自行生成证书,而且您要尝试用此类证书连接本组织机构的内部网站,则您可以安全地解决此问题。您可将本组织机构的根证书作为“根证书”导入,由本组织机构颁发或验证的证书随即会得到信任,下次尝试连接内部网站时就不会出现此错误。请联系贵组织机构的支持人员,让他们协助您向计算机中添加新根证书。

©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/self-signed-certificate-as-trusted-root-ca-in-windows/>。转载请保留此信息及相应链接。

1 条关于 “添加自签发的 SSL 证书为受信任的根证书” 的评论

  1. 引用通告: 将自签发的 SSL 证书添加为 Firefox 中受信任的根证书 | 水景一页

雁过留声,人过留名

您的电子邮箱地址不会被公开。 必填项已用 * 标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>