全球主机交流论坛

标题: cloudflare家的免费ssl为什么xp+ie\chrome不能访问 [打印本页]

作者: qqcm    时间: 2015-3-26 17:21
标题: cloudflare家的免费ssl为什么xp+ie\chrome不能访问
cloudflare家的免费ssl为什么xp+ie\chrome不能访问,提示:

此网站使用了不受支持的协议,因此无法建立安全连接。
错误代码:ERR_SSL_VERSION_OR_CIPHER_MISMATCH

然而ie10、ie11、firefox、opera却能访问呢?
而且firefox、opera(非chrome内核)在xp下同样能访问!
作者: guyusoftware    时间: 2015-3-26 17:27
https://blog.cloudflare.com/introducing-universal-ssl/

These challenges required that, for free customers, we limit Universal SSL support to modern browsers. Modern browsers include support for ECDSA, where many legacy browsers do not. Modern browsers also support an extension to the SSL protocol called Server Name Indication (SNI). SNI sends the web site name (the equivalent of the host header) unencrypted, which allows us to return different certificates on an IP address depending on what customer's site is requested. This allows us to serve multiple customers' sites from the same IP.

Generally, if you're running a browser that is less than 6 years old, your browser is modern and Universal SSL on CloudFlare's free plans will work. The two biggest problem children legacy browsers are:

   1) Internet Explorer on Windows XP (or older)
   2) Android pre-Ice Cream Sandwich


作者: hostvps    时间: 2015-3-26 17:34
ie\chrome内核用的是win系统的证书系统,firefox和opera(非chrome内核)用的是自己的证书系统
作者: 62900015    时间: 2015-3-26 17:56
补充一下,XP不支持SNI。
作者: 爱国者捣蛋    时间: 2015-3-26 17:57
SNI支持一个IP多个站点,但是不支持XP
作者: qqcm    时间: 2015-3-26 18:00
62900015 发表于 2015-3-26 17:56
补充一下,XP不支持SNI。

chrome提示:
此网站使用了不受支持的协议,因此无法建立安全连接。
错误代码:ERR_SSL_VERSION_OR_CIPHER_MISMATCH

作者: qqcm    时间: 2015-3-26 18:08
爱国者捣蛋 发表于 2015-3-26 17:57
SNI支持一个IP多个站点,但是不支持XP

chrome支持sni的,xp+chrome应该能访问才对,因为我试验过单ip多证书,除了ie6-8不支持,其它浏览器都支持的!就这个奇怪还不支持chrome!
作者: 雨宫音羽    时间: 2015-3-26 18:22
本帖最后由 雨宫音羽 于 2015-3-26 18:23 编辑

chrome用的是系统的SSL加密库

错误代码:ERR_SSL_VERSION_OR_CIPHER_MISMATCH

出现这个情况两个可能性,一是你到CF的网络丢包,导致协商掉到了SSLv3。而服务端禁止了SSLv3(由于前阵子的POODLE漏洞)。
如果是这个可能,可以试试这个有没有用:
https://zmap.io/sslv3/browsers.html#chrome

第二种可能是XP对TLSv1的支持不完整,如果CF为了防止BEAST漏洞禁用了TLSv1 AES,而又为了防御POODLE禁用了SSLv3,在XP下就很可能没法协商成功。

无论是什么 这个错误代码都跟SNI无关
作者: 我是人    时间: 2015-3-26 18:23
SNI不能乱用。。。

很多古董不支持,包括某些智能电视冰箱什么的。
作者: 雨宫音羽    时间: 2015-3-26 18:39
本帖最后由 雨宫音羽 于 2015-3-26 18:41 编辑

XP不支持ECDSA证书 所以提示证书有问题很正常

大概IE8对TLSv1支持好些了?又或者是因为SNI证书导致有问题?

来个URL我看下?
作者: 雨宫音羽    时间: 2015-3-27 18:45
本帖最后由 雨宫音羽 于 2015-3-27 18:51 编辑

抓了个包看,感觉明了了。

XP IE6默认设置下,IE直接用的SSLv3尝试发起链接,然后被CF服务器一口回绝。之后IE6 fallback到SSLv2,更加不用想了。但是可以修改IE6的设置,勾选TLSv1,就能打开(会报警证书不匹配)

XP IE8默认设置下,IE用的TLSv1发起链接,没有SNI头,CF服务器返回的是默认RSA证书,IE8报警证书不匹配,但是无视错误后可以打开。

我这里XP没有chrome,这货太占内存,但是我觉得根据楼主的说明,我已经知道为何chrome打不开了。

chrome用了什么黑科技,让chrome在XP下也可以发送SNI头,CF服务器一看好啊,是个modern browser,返回了一个ECDSA的证书,然后chrome调用XP系统的证书系统对证书进行解析,结果XP系统无法解析ECDSA证书(甚至连公钥都解析不出来),握手失败。

因此症结明了了:CF服务器在浏览器没发送SNI头时返回的证书是RSA证书(老系统可以认出来),在浏览器发送了SNI头时返回的是ECDSA证书,这个XP认不出。
作者: 雨宫音羽    时间: 2015-3-27 18:47
chrome自己实现了一个SSL的库,但是并不完全,对证书的解析还是交给系统来做的,不像FF完全用的自己的证书系统和证书验证库,导致了这一问题
作者: 雨宫音羽    时间: 2015-3-27 18:59
调整就是CF不仅决定要作死用SNI,还要作个大死给SNI的证书推广ECDSA。但是又怕老系统完全打不开,于是非SNI返回的证书还是RSA的

还有点评不是回复 请勿瞎点评
作者: 雨宫音羽    时间: 2015-3-27 19:13
https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/

最搞笑的就是这个了,博客里说“他们吃了自己的狗 粮”(也就是自己的博客率先启用了ECDSA证书),结果不仅是我发现他们还用的是RSA证书,回复里也一帮人说“你怎么又用回RSA了??”




欢迎光临 全球主机交流论坛 (https://52.ht/) Powered by Discuz! X3.4