经过 SSL 加密的 HTTPS 链接访问网站时,须要安装并配置一个受信任的 CA 根证书(Trusted CA Root Certificate)。日常访问一些加密网站之因此不须要本身安装证书,是由于系统或浏览器已经提早安装了一些受信任机构颁发的证书。但有些时候访问一些组织或我的本身签发证书的网站的时候,就会收到浏览器发出的警告。此时能够将该证书添加到“受信任的根证书颁发机构”存储区,而后就不会再收到安全提示了。chrome
1. 前言¶
为何要本身签发安全证书(Self-signed CA)呢?由于一些受信任机构颁发的证书年费一般不菲,并且有些时候公司或者组织内部小范围使用的话没有信任问题,这时就能够本身签发一个安全证书。windows
对于这种安全证书,可否被信任就须要用户本身练就火眼金睛去识别了。好比我签发的证书,个人朋友就多半认为能够被信任,其余人不了解个人话就多半不信任。浏览器
在 VPS 上部署了 SSL 服务以后,由于证书(CA)是本身签发的,经过 HTTPS 加密连接访问网站的时候会提示证书不被信任之类的。能够将证书添加到 Windows 证书管理器的“受信任的根证书”目录中,之后 HTTPS 加密访问本身的网站就不会再收到安全提示了。安全
警告:只有当你确认要安装的安全证书是能够信任的状况下才能安装,不然可能带来严重的安全问题,甚至形成财产损失。下面将介绍如何安装非受权机构发行的安全证书为受信任的根证书。服务器
由于安全证书管理机制不一样,下面介绍中涉及到:网络
- Internet Explorer 9 —— 微软系的都差很少,如下简称 IE。
- Chrome —— Chrome 版本变更频繁,下面以 21.0.1180.60 版本为例,并且由于 Chrome 使用的就是 Windows 系统里的证书,没有独立的证书存储单元,因此搞定 IE 也就搞定 Chrome 了。从 Chrome 中打开证书管理器的方法是,设置(Settings)——> 高级设置(Advanced Settings)——> HTTPS / SSL ——> 管理证书(Manage Certificates …)。
- Firefox —— Firefox 如今版本升级也很快了,好在界面、功能和操做变化不是太大,下面举例用的是 Firefox 15。Firefox 的安全证书管理是独立的,请参考另外一篇文章:将自签发的 SSL 证书导入为 Firefox 中的受信任根证书。
2. 从Windows 自带的浏览器 Internet Explorer 中导入¶
使用 IE 经过 HTTPS 打开相应网站,会收到以下图所示的安全警告:ide
中文显示的是:ui
此网站的安全证书有问题。
此网站出具的安全证书不是由受信任的证书颁发机构颁发的。安全证书问题可能显示试图欺骗您或截获您向服务器发送的数据。建议关闭此网页,而且不要继续浏览该网站。
- 单击此处关闭该网页。
- 继续浏览此网站(不推荐)。
详细信息
若是经过单击连接到达此页面,请检查地址栏中的网站以确保该地址是您但愿到达的页面。转到如https://example.com
等网站时,请尝试将 “www” 添加到地址中,变为https://www.example.com
。有关详细信息,请参阅 Internet Explorer 帮助中的“证书错误”。
在出现上图所示的证书错误警告时,若是幸运的话,能够在浏览器地址栏的最右边看到红色背景的文字“证书错误”(Certificate Error),以下图所示。
单击这个错误提示靠下位置的“查看证书(View certificates)”就能够看到该证书的详情,并能够直接安装该证书到 Windows 系统的证书管理器中。以下图所示。
由于是本身签发的安全证书而不是通过认证的机构签发的,因此 Windows 没法自动信任该证书:此 CA 根目录证书不被信任。要启用信任,请将该证书安装到“受信任的根证书颁发机构”存储区。单击“安装证书”按钮便可打开 Windows 证书导入向导,单击“下一步”便可开始安装证书,以下图所示。
而后系统会询问该证书的存储位置。由于是未经认证的组织或我的本身签发的证书,若是选择让 Windows “根据证书类型,自动选择证书存储”的话,通常会给存储到“中级证书颁发机构”中。之后加密访问该网站的时候仍是会收到安全警告。
根据咱们的须要 —— 之后打开本身的网站时候不会再发出安全警告,也就是本文的目的,并且又是本身签发的证书,信任不成问题,咱就直接给添加到“受信任的根证书颁发机构”存储中。以下图所示。
点选“将全部的证书放入下列存储(P)”,而后单击“浏览(R)”,打开“选择证书存储”窗口来选择。有些时候可能须要选择“显示物理存储区(S)”,而后勾选“受信任的根证书颁发机构”下面的“本地计算机(Local Computer)”来存储。
选择后单击“肯定”按钮,而后“下一步”。此时可能会收到安全警告(以下图),提示添加的是“根(root)”证书(信任级别最高)。下图中所示证书就是水景一页本身签发的了。
剩下的就是确认几回,任务完成!而后关闭浏览器从新打开,就能够试试效果了。
3. 经过 Windows 证书管理器安装¶
由于 Windows 和 IE 都是微软自家的,管理的是同一个证书管理器。因此不论是从 Windows 系统的证书管理器中导入安装证书,仍是直接根据 IE 的提示来安装,效果都是同样的。惟一不一样的是,经过 Windows 证书管理器来安装证书的话,须要先将安全证书(.crt 类型的那个文件)保存到本地磁盘。若是不能直接获取该证书,请先看另外一篇文章介绍的从 Firefox 证书管理器中导出安全证书一节吧。
在 Windows 7 中(via 微软),要查看或管理证书,必须以管理员身份进行登陆,才能执行这些步骤。可使用“证书管理器”查看有关证书的详细信息,修改、删除这些证书,或者申请新证书。要打开证书管理器:
经过单击“开始”按钮,在“搜索”框中键入 certmgr.msc,而后按 Enter,打开“证书管理器”。 若是系统提示输入管理员密码或进行确认,则须要键入密码或提供确认。
先展开左边栏里的“受信任的根证书颁发机构”,选中其下的“证书”,而后点击菜单栏的“操做”——>“全部任务”——>“导入”,便可打开证书导入向导。而后就能够接着前面的“证书导入向导”那幅图(快速跳转)开始往下操做了。
另外,在查看证书详情那一步,若是打开详细信息标签页,能够看到有个复制到文件的按钮,单击此按钮便可保存该证书为一个 CA 文件。
4. Chrome 中的安全证书错误提示¶
由于 Chrome 使用的就是 Windows 系统里的证书,没有独立的证书存储单元,因此搞定 IE 也就搞定 Chrome 了。从 Chrome 中打开证书管理器的方法是,设置(Settings)——> 高级设置(Advanced Settings)——> HTTPS / SSL ——> 管理证书(Manage Certificates …)。
在 Chrome 中遇到网站证书问题时会收到相似下面的错误提示:
该网站的安全证书不受信任!
您尝试访问的是 cnzhx.net,但服务器出示的证书是由您计算机的操做系统不信任的实体所颁发。这可能代表服务器已自行生成了安全凭据,Google Chrome 浏览器认为其中的身份信息不可靠;也可能代表攻击者正试图拦截您的通讯内容。
您不该再继续,尤为是若是您之前从未在此网站看到这一警告信息,则更不该继续操做。
- 仍然继续
- 返回安全链接
- 帮助我了解
链接安全网站时,网站所在的服务器会向您的浏览器出示所谓的“证书”,用于验证其身份。这种证书包含网站地址等身份信息,已通过您计算机信任的第三方验证。经过核实证书中的地址是否与网站地址相符,能够证明本身正与所要访问的网站进行安全通讯,而不是正与第三方(如您网络中的攻击者)进行通讯。这种状况下,证书未通过您计算机信任的第三方进行验证。任何人均可以建立证书,随意声称本身是任何网站,所以必需要由受信任的第三方对证书进行验证。若是未经上述验证,证书中的身份信息就没有意义。所以,您没法验证与本身通讯的对象是真正的 cnzhx.net,仍是某个自行生成证书,声称本身是 cnzhx.net 的攻击者。您应该就此中止操做。可是,若是您为之工做的组织机构会自行生成证书,并且您要尝试用此类证书链接本组织机构的内部网站,则您能够安全地解决此问题。您可将本组织机构的根证书做为“根证书”导入,由本组织机构颁发或验证的证书随即会获得信任,下次尝试链接内部网站时就不会出现此错误。请联系贵组织机构的支持人员,让他们协助您向计算机中添加新根证书。
本文发表于水景一页。永久连接:<https://cnzhx.net/blog/self-signed-certificate-as-trusted-root-ca-in-windows/>。转载请保留此信息及相应连接。