根据 https://imququ.com/post/optimize-tls-handshake.html,建议将中间证书和站点证书一起发送,但是我发现 Firefox 以及 win 7 已经将 Let's Encrypt Authority X3 列为受信任的中级证书颁发机构( Firefox 貌似连 ISRG Root X1 都早就信任了),那么请问在这种情况下还有发送中间证书的必要吗? btw,请问浏览器是否会将已经用到过的中间证书缓存起来?
1
wqyyy OP 另外只申请 *.example.com 是否会导致 example.com 无法使用?
|
2
moult 2018-05-08 11:28:44 +08:00 via iPhone
但是服务器在 TLS 握手的时候,不知道浏览器的任何信息,更别提内置证书情况了,所以必须中间证书也找一起发送到浏览器。
另外 TLS 通信有会话保持的,会加快通信效率。 |
3
moult 2018-05-08 11:30:46 +08:00 via iPhone
@wqyyy 你在申请*.domain.tld 的时候,一般都会以 SAN 的形式同时颁发 domain.tld 的,一个证书多个域名的。
|
5
kera0a 2018-05-08 11:39:43 +08:00
@Leafove 我申请了 *.domain.tld 和 domain.tld , 都可以使用呀。另外 github pages 也帮我申请了 domain.tld ,3 个证书都能使用
|
6
ruimz 2018-05-08 12:13:30 +08:00 via iPhone 1
@wqyyy #1 会
你可以试试在申请 Let's Encrypt 只写*.domain.tld ,看最后申请到的证书包含不包含 domain.tld 战网曾经的 CNNIC 证书 https://crt.sh/?id=2077397 就是只包含*.example.com 不包含 example.com 的。曾亲测会报错 |
8
wqyyy OP @moult 但是证书链包含中间证书的意义不是避免浏览器找不到中间证书 /浏览器下载中间证书浪费时间吗?如果中间证书像根证书一样已经被大多数平台 /浏览器包含,是不是就没有发送中间证书的必要了?
|
10
LanFomalhaut 2018-05-14 13:28:53 +08:00
→_→ 实际场景 没中级证书的 移动端各种问题
|
11
geekzu 2018-05-15 09:37:11 +08:00 via Android
Windows 貌似是访问过的网站发送过中级证书就会保存下来,之后遇到未配置中级证书的网站也不会报错,而 Android 似乎不会,所以报证书链不完整错误的基本都是 Android 设备
|