关于 https 证书的浏览器向下兼容性问题

2016-09-28 17:04:36 +08:00
 pc10201
用 github 上的 acme.sh 脚本申请了一个 Let's Encrypt ,用
acme.sh --issue --dns dns_cx -d xxx.com--keylength ec-256
申请一个 ECC 证书,用网站
https://www.ssllabs.com/ssltest/index.html
进行检测,得了 A+,但是很多浏览器 Server closed connection

怎么做到像这个网站一样
https://www.ssllabs.com/ssltest/analyze.html?viaform=on&d=imququ.com

评分和浏览器兼容性都能保证?
6614 次点击
所在节点    程序员
21 条回复
letitbesqzr
2016-09-28 17:09:33 +08:00
letitbesqzr
2016-09-28 17:13:03 +08:00
ecc 证书的话无论怎么配置都有些不能兼容的
"并不是所有浏览器都支持 ECDHE 密钥交换,也就是说 ECC 证书的兼容性要差一些。例如在 Windows XP 中,使用 ECC 证书的网站只有 Firefox 能访问( Firefox 的 TLS 自己实现,不依赖操作系统); Android 平台中,也需要 Android 4+ 才支持 ECC 证书。"

但是 nginx 目前已经支持配置多个证书了
Showfom
2016-09-28 17:22:49 +08:00
不支持的浏览器的访客基本也可以忽略了
bigtan
2016-09-28 17:29:44 +08:00
debian 的 wget 无法正确的解析 ecc 证书
VmuTargh
2016-09-28 17:33:30 +08:00
这个站点配置了 ECC+RSA 两种证书,也就是说自动检测 UA 然后发送对应的可兼容的且强度最大证书给客户端。
另外这个兼容性不仅仅和 ECC/RSA 有关系,还有和 cipher 有关系。
举个例子,比如我这个爆破掉的 https://etula.me ,曾经有段时间仅仅支持 AES-GCM ,使得一大堆老系统全数爆炸(当然现在配置了 AES-CBC 所以兼容性好了一些)
至于 x25519 这个 cipher ,现在更是少。目前我所知道的只有 boringssl 、 chromium/chrome 还有 openssl1.1.0 支持………
VmuTargh
2016-09-28 17:36:42 +08:00
@VmuTargh 纠正一下 我那个站点的 cipher 不知道什么时候被我改回 aes-gcm only 了……😂😂😂😂
VmuTargh
2016-09-28 17:37:35 +08:00
@VmuTargh 哦 请无视上面回复 是我脑子秀逗了😓😓😓
isCyan
2016-09-28 17:38:46 +08:00
@VmuTargh 检测 UA ??????
VmuTargh
2016-09-28 17:42:23 +08:00
@isCyan 这个确实是如此,因为 baidu 也是类似的机制。试试看用 opera12.18 不改 UA 去访问百度,再 cp 一个 ff40 的 UA 过去。你会发现前者没有,但是后者有( opera12.18 支持新的 key exchange 还有 cipher
ghost444
2016-09-28 17:43:14 +08:00
刚刚搜了一下,可以用 Nginx 做双证书

https://imququ.com/post/ecc-certificate.html#toc-2
ghost444
2016-09-28 17:44:47 +08:00
isCyan
2016-09-28 17:47:37 +08:00
@VmuTargh Waht! SSL 握手都没完,连接都没建立,你怎么发送 Header , UA 是在 Header 里的。不是 UA , 是直接和浏览器交换加密方式,看看浏览器支不支持。 @qgy18
pc10201
2016-09-28 17:52:58 +08:00
@letitbesqzr 我配置了 rsa 和 ecc 证书,但还是有一些浏览器不兼容,报告如下 https://www.ssllabs.com/ssltest/analyze.html?d=download.examvces.com&hideResults=on
dynos01
2016-09-28 17:58:50 +08:00
你的安全设置太严格了 允许一些老加密方法 再安装双证书就行了
alect
2016-09-28 19:00:20 +08:00
不需要那么高…… A 就行了
qgy18
2016-09-28 22:34:23 +08:00
@isCyan 你说得对。
楼主你搞成双证书兼容性就差不多可以了。
剩下一些不支持 SHA-2 证书,不支持 tls1.0+ 协议的终端无视好了。
ghost444
2016-09-29 13:41:47 +08:00
@qgy18 话说用 fiddle 抓包的时候可以看到 UA 是什么黑科技……并没有信任那个根证书
lslqtz
2016-09-29 21:07:56 +08:00
如果现在还有 SHA-1 证书,那么双证书真心完美了
Williamp
2016-10-04 20:13:56 +08:00
@lslqtz Google chrome browser giving error and blocking SHA-1 certificate as per https://security.googleblog.com/2015/12/an-update-on-sha-1-certificates-in.html
lslqtz
2016-10-04 21:20:05 +08:00
@Williamp 如果........

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/309571

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX