关于中间证书

2018-05-08 11:12:13 +08:00
 wqyyy

根据 https://imququ.com/post/optimize-tls-handshake.html,建议将中间证书和站点证书一起发送,但是我发现 Firefox 以及 win 7 已经将 Let's Encrypt Authority X3 列为受信任的中级证书颁发机构( Firefox 貌似连 ISRG Root X1 都早就信任了),那么请问在这种情况下还有发送中间证书的必要吗? btw,请问浏览器是否会将已经用到过的中间证书缓存起来?

3314 次点击
所在节点    SSL
12 条回复
wqyyy
2018-05-08 11:24:08 +08:00
另外只申请 *.example.com 是否会导致 example.com 无法使用?
moult
2018-05-08 11:28:44 +08:00
但是服务器在 TLS 握手的时候,不知道浏览器的任何信息,更别提内置证书情况了,所以必须中间证书也找一起发送到浏览器。
另外 TLS 通信有会话保持的,会加快通信效率。
moult
2018-05-08 11:30:46 +08:00
@wqyyy 你在申请*.domain.tld 的时候,一般都会以 SAN 的形式同时颁发 domain.tld 的,一个证书多个域名的。
Leafove
2018-05-08 11:33:46 +08:00
@wqyyy #1 当然会,根域和二级泛域是不同的东西
kera0a
2018-05-08 11:39:43 +08:00
@Leafove 我申请了 *.domain.tld 和 domain.tld , 都可以使用呀。另外 github pages 也帮我申请了 domain.tld ,3 个证书都能使用
ruimz
2018-05-08 12:13:30 +08:00
@wqyyy #1 会
你可以试试在申请 Let's Encrypt 只写*.domain.tld ,看最后申请到的证书包含不包含 domain.tld
战网曾经的 CNNIC 证书 https://crt.sh/?id=2077397 就是只包含*.example.com 不包含 example.com 的。曾亲测会报错
wqyyy
2018-05-08 15:24:39 +08:00
@ruimz
@Leafove THX!
wqyyy
2018-05-08 15:26:53 +08:00
@moult 但是证书链包含中间证书的意义不是避免浏览器找不到中间证书 /浏览器下载中间证书浪费时间吗?如果中间证书像根证书一样已经被大多数平台 /浏览器包含,是不是就没有发送中间证书的必要了?
Rezark
2018-05-14 09:21:35 +08:00
@wqyyy 中间证书是有限制秘钥用法的,所以预置某一个中级根不能满足所有证书的需求!
LanFomalhaut
2018-05-14 13:28:53 +08:00
→_→ 实际场景 没中级证书的 移动端各种问题
geekzu
2018-05-15 09:37:11 +08:00
Windows 貌似是访问过的网站发送过中级证书就会保存下来,之后遇到未配置中级证书的网站也不会报错,而 Android 似乎不会,所以报证书链不完整错误的基本都是 Android 设备
dfly0603
2018-05-16 23:25:28 +08:00
@geekzu 对的,Android 尤为明显

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

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

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

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

© 2021 V2EX