最新消息:

Web 证书和IE浏览器的关系

windows admin 1719浏览 0评论

现在很多网站访问的时候都需要提供证书才能够正常访问,只对IE浏览器里面安装过证书的用户提供访问,这样可以让网站更具的安全性。不过证书有时候也增加了我们的麻烦,如当我们去访问一个网站的时候,有时候会报有关证书的错,虽然IE浏览器里面已经安装过了相应的证书。我们以ZOL 的web 举例,当我们访问 https://mail.zol.com 的时候,会看到有关证书的错误:

证书的错误

首先,这个证书是由一个不被信任的证书颁发机构颁发的。

其次,证书过期或者失效了

再次,证书颁发给的是另外一个站点,不是你所访问的站点

来看看具体的证书吧~~~

具体的证书

证书被打了个红色的叉,说明有错误,IE 也会以红色显示,以说明这是个高危的站点。

a. 证书首先提示你,证书颁发机构(CA)的根证书不在你本地信任的证书存储中。

b. 这个证书是颁发给 mail.zol.com.cn 的,而我们访问的是 mail.zol.com, 这也是IE提示我们网站的证书是颁发给另外一个机构的原因。

c. 明显滴,有效期从 2006/10/23 到 2007/10/23. 现在已经… 失效好多年了。

当我们安装了根证书,访问正确的URL时,IE的错误就只剩下“有效期”了。

IIE浏览器的证书有效期错误

虽然有这么多错误,却丝毫不会影响这个证书的加密功能,只要公私钥都存在,加密功能依然完好,只不过IE提示是出于好心,以免你访问了一个假冒的网站。

不同的浏览器,遇到这种情况,会有不同的症状

不同的浏览器,遇到这种情况,会有不同的症状

由此可以看到 Web 服务器证书的三个条件。

1. 信任这个站点的证书颁发机构

2. 证书没有过期或被吊销

3. URL地址要和证书保持一致

IE是怎样检查这三个条件的

有没有过期很好检查,看证书上的有效期就可以了;URL地址检查也很容易,只需要看IE访问的地址,是否和证书中颁发的地址是否相同。

怎么样检查证书是否被信任?

当我去访问 https://mail.google.com 的时候,发现 IE 没有报错,说明这个证书是被计算机信任的。

证书是被计算机信任 Thawte SGC CA

打开证书,发现颁发者是 Thawte SGC CA, 计算机为什么信任这个颁发机构呢?

Thawte SGC CA 虽然是颁发者,但它并不是根CA,打开证书路径,我们看到根证书颁发者是 Class 3 Public Primay Certification Authority。

打开计算机上的 inetcpl.cpl 选择内容选项卡,猛击证书按钮,在信任的根证书颁发机构中 列出了所有信任的证书颁发机构,我们可以看到 Class 3 Public Primay Certification Authority 这个颁发机构也是被信任的。

Class 3 Public Primay Certification Authority

如果你够钻牛角尖,把所有这些信任的证书全部删除(或者从certmgr.msc删除),你会发现一个有趣的现象,https://mail.google.com (实际会跳转到https://www.google.com)这个站点还是被信任的。既然信任的根证书已经不存在,那么为什么这个网站还是被信任的呢?着就涉及到Windows 中根证书的更新

Windows 中根证书的更新

在 Windows XP 和 Windows Server 2003 中,添加删除组件中有一项:Update Root Certificates

Windows 中根证书的更新

这个组件默认是安装的。当你访问的网站证书的颁发机构不被信任的时候,这个组件会自动访问 Windows Update 网站来检查颁发机构的根证书是不是被信任,如果是信任的证书,系统会自动下载此证书,并把它存放在信任的证书存储中。在事件日志里,你会看到像这样的记 录:

事件日志

事件日志2

Vista 和 Windows Server 2008 中这个组件已经集成到系统中了,在日志中,也会看到下载证书的记录。其实,在访问https的网站,看S/MIME的邮件,或者你下载了一个证书签名的 ActiveX控件,如果这时你碰到了一个新的根证书,系统都会到Windows update网站上去检查的,不会有任何提示。

证书不被Windows Update 网站更新

当然不是所有的根证书都会被Windows Update 网站更新,我们可以根据下面的知识库文档来检查。

http://support.microsoft.com/kb/931125

其实在Windows XP 中,通过Microsoft Update, 我们还会收到一个可选的更新,这个更新其实就是用来更新计算机中的根证书的,可以从Microsoft Update Catalog 上下载这个更新。

Microsoft Update Catalog 上下载

如果你是一个证书颁发机构,根据微软的一系列要求,你也可以把根证书放在Windows update的网站上,然后你颁发的证书就会被全世界的Windows所信任,酷吧。值得一提的是,客户端从Windows update 网站实时下载证书的时候,是不经过加密的,不知道会不会有安全的隐患。

http://technet.microsoft.com/en-us/library/cc751157.aspx

怎样检查证书是否被吊销

如果证书颁发机构把你的证书给吊销了,就好比你的驾照被吊销了,但是驾照依然在你手中,那么浏览器是怎么样知道的呢,很简单,问一问证书颁发机构就知道了。

证书中有一项叫做 CRL distribution point, 意思就是被吊销证书列表存放的位置。

被吊销证书列表存放的位置

IE会实时的检查这个列表,以此获得证书是否被吊销的信息。

证书被吊销的信息

还有一种查询方法,不需要每次下载列表,叫做 联机证书状态 查询,省去了每次下载列表之苦。 Windows Server 2008 的CA支持 Online Certificate Status Protocol (OCSP)。

Extended Validation SSL Certificates

微软在做 IE7 的时候和一些CA开发了一种新的证书,EV Certificate, 当你访问的网站含有这种证书的时候,IE7,IE8 会有相应的提示。这种证书的不仅有加密通讯的作用,更重要的作用是反钓鱼,帮助你确认网站,指明,你所访问的网站就是你要访问的网站。

IE浏览器反钓鱼

如果没有变绿,说明证书不是EV SSL证书。

不是EV SSL证书

这个功能和IE浏览器的防钓鱼还有前面提到的OCSP 功能有关联的,如果你把IE防钓鱼关闭,有可能就看不到绿色的地址栏了。

IE防钓鱼功能关闭

IE防钓鱼功能关闭,访问招商银行的例子

转载请注明:jinglingshu的博客 » Web 证书和IE浏览器的关系


Warning: Use of undefined constant PRC - assumed 'PRC' (this will throw an Error in a future version of PHP) in /usr/share/nginx/html/wp-content/themes/d8/comments.php on line 17
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址