EV证书的技术特点和安装方法
|
为了使EV证书能够在浏览器中显示出绿色,所有的EV证书都采用新的EV ROOT根证书签发,在IE7等新浏览器里,都预埋了这个新的证书,针对IE6等浏览器,如果定期安装补丁包,也可以通过证书补丁升级程序,升级该根证书。可是对一些IE5等旧浏览器和手机浏览器不支持EV证书,没有EV根证书的浏览器怎么办呢?通过观察,我们发现同一个网站的EV证书在IE5和IE7下,呈现出两种证书链结构,以http://www.easyssl.cn/举例:
|
在IE7下看到的是:
Geotrust
---GeoTrust Extended Validation SSL CA
---www.easyssl.cn
*:这里的顶级根证书Geotrust的CN为:GeoTrust Primary Certification Authority,Geotrust只是这个证书的Nickname)
|
而在IE5下看到的是:
Equifax Secure Certificate Authority
---GeoTrust Primary Certification Authority
---GeoTrust Extend Validation SSL CA
---www.easyssl.cn
|
其中IE7观察到的GeoTrust这个根证书是IE7以后,植入浏览器信任域证书列表的,Equifaxt Secure Certificater Authority则是自IE5以后,就在浏览器中预埋的根证书,其实这个GeoTrust的根证书的CN就是“GeoTrust Primary Certification Authority”,也就是说在IE5看到的证书链就是比在IE7看到的多了一个顶级根“Equifax Secure Certificate Authority”。
|
我们首先观察两个证书链中的“www.myssl.cn”证书:
IE7下的“www.myssl.cn”证书的SHA1值为:“d0 31 01 a2 7c aa 56 60 fa 7f 0e ae 3a 37 36 60 ea be f3 58”
IE5下的“www.myssl.cn”证书的SHA1值为:“d0 31 01 a2 7c aa 56 60 fa 7f 0e ae 3a 37 36 60 ea be f3 58”
两者完全一致。
|
观察两个证书链下的“GeoTrust Extend Validation SSL CA”:
IE7下的“GeoTrust Extend Validation SSL CA”证书的SHA1值为:“ca 6a 71 d6 e0 c7 19 61 31 fe 7f 38 90 30 11 19 4d 23 d8 c4”
IE5下的“GeoTrust Extend Validation SSL CA”证书的SHA1值为:“ca 6a 71 d6 e0 c7 19 61 31 fe 7f 38 90 30 11 19 4d 23 d8 c4”
两者也完全一致。
|
继续观察两个证书链下的“GeoTrust Primary Certification Authority”:
IE7下的“GeoTrust Primary Certification Authority”证书的SHA1值为:“d0 31 01 a2 7c aa 56 60 fa 7f 0e ae 3a 37 36 60 ea be f3 58”
IE5下的“GeoTrust Primary Certification Authority”证书的SHA1值为:“15 b4 39 a0 9a 2b 84 6e d2 1e 84 f4 42 24 cf b8 7a 65 99 c9”
所以这两个证书的SHA1值是不同,而且我们已经知道了这2个证书的签发者本身就是不同,一个是自签名名证书,一个是由“Equifax Secure Certificate Authority”签发出来的二级证书,但是为什么有2张完全不同不同的证书签发出的“GeoTrust Extend Validation SSL CA”居然是完全一致的呢?
|
我们再观察这两个证书的公钥,发现都是:
|
30 82 01 0a 02 82 01 01 00 be b8 15 7b ff d4 7c 7d 67 ad 83 64 7b c8 42 53 2d df f6 84 08 20 61 d6 01 59 6a 9c 44 11 af ef 76 fd 95 7e ce 61 30 bb 7a 83 5f 02 bd 01 66 ca ee 15 8d 6f a1 30 9c bd a1 85 9e 94 3a f3 56 88 00 31 cf d8 ee 6a 96 02 d9 ed 03 8c fb 75 6d e7 ea b8 55 16 05 16 9a f4 e0 5e b1 88 c0 64 85 5c 15 4d 88 c7 b7 ba e0 75 e9 ad 05 3d 9d c7 89 48 e0 bb 28 c8 03 e1 30 93 64 5e 52 c0 59 70 22 35 57 88 8a f1 95 0a 83 d7 bc 31 73 01 34 ed ef 46 71 e0 6b 02 a8 35 72 6b 97 9b 66 e0 cb 1c 79 5f d8 1a 04 68 1e 47 02 e6 9d 60 e2 36 97 01 df ce 35 92 df be 67 c7 6d 77 59 3b 8f 9d d6 90 15 94 bc 42 34 10 c1 39 f9 b1 27 3e 7e d6 8a 75 c5 b2 af 96 d3 a2 de 9b e4 98 be 7d e1 e9 81 ad b6 6f fc d7 0e da e0 34 b0 0d 1a 77 e7 e3 08 98 ef 58 fa 9c 84 b7 36 af c2 df ac d2 f4 10 06 70 71 35 02
|
既然公钥一致,私钥也必然一致,所以他们签发出的“GeoTrust Extend Validation SSL CA”也是一致的,但这2个证书上签名,则是完全不同的,一个是自签名,一个是由“Equifax Secure Certificate Authority”签名。
|
基于这种结构,EV证书就可以轻易实现对IE7地址栏变绿支持,同时对IE5等就浏览器的兼容支持。
|
当IE7访问网站时,则服务器首先返回一个"www.easyssl.cn"的证书,如果IE7没有“GeoTrust Extend Validation SSL CA”这个中间证书,则服务器再返回给浏览器一个“GeoTrust Extend Validation SSL CA”中间证书,这个时候,IE7,已经可以找到“GeoTrust Extend Validation SSL CA”的签发证书“GeoTrust Primary Certification Authority”,我们知道“GeoTrust Extend Validation SSL CA”是由“GeoTrust Primary Certification Authority”签名的,不是自签名还是Equifax签名的,密钥对都是一致的,都可以实现对“GeoTrust Extend Validation SSL CA”,则浏览器完成了对证书的验证,确信这是一个正式的EV证书。
|
如果是IE5,则服务器首先返回一个"www.easyssl.cn"的证书,如果IE5没有“GeoTrust Extend Validation SSL CA”这个中间证书,则服务器再返回给浏览器一个“GeoTrust Extend Validation SSL CA”中间证书,浏览器仍然没有“GeoTrust Primary Certification Authority”,则服务器再发送一个“GeoTrust Primary Certification Authority”,这个时候IE5在信任证书中找到了“GeoTrust Primary Certification Authority”的签发者“Equifax Secure Certificate Authority”,完成了对该证书的验证。
|
所以,我们下面就要来讨论在服务器上,如何安装正确的EV证书链。一个EV证书,包含了服务器证书--EV签发证书--EV根证书(2个)--旧根证书。仍然以www.myssl.cn举例:
|
“www.easyssl.cn”和“GeoTrust Extend Validation SSL CA”都是必然需要的,而“GeoTrust Primary Certification Authority”有2个不同的证书:
|
一个是自签名的根证书;
|
一个是由“Equifax Secure Certificate Authority”签发的根证书
|
我们应该安装哪一个呢?答案是必须安装那个中间证书“GeoTrust Primary Certification Authority”,而绝对不能安装自签名的根证书“GeoTrust Primary Certification Authority”,如果安装了自签名的根证书,则服务器在与IE5通信的时候,就会返回这张证书,而这张证书不是IE5的可信根证书,这就会造成IE5告警。
|
所以在安装EV证书的时候,一定要注意必须要正确安装好2个中间证书,一个是签发服务器证书的那个EV三级中间证书,一个是由旧根签发的二级中间证书。尤其要注意服务器上不要安装新的自签名顶级根证书,如果是Windows的服务器,安装了IE7浏览器,都会自动安装了这批新的自签名顶级根证书,必须要注意把他们删除,以免造成旧浏览器和手机浏览器无法正确验证证书
|
服务器安装的正确证书链应该如下:
GeoTrust Primary Certification Authority(Which signed by 'Equifax Secure Certificate Authority')
---GeoTrust Extend Validation SSL CA
---www.myssl.cn
|