这几天一直在关注 TLS 1.3 的动态。终于等到 TLS 1.3 发布 RFC 版本,结束了草案(draft)阶段,算是正式版了。
我在某台服务器上进行了线上测试,使用 OpenSSL 1.1.1 的 Beta 版,到后来直接从 git 上取最新的。目前还存在很多问题,比如 Nginx 还无法给 TLS 1.3 设置密钥组(cipher group)。于是我打了个补丁,解决了这个问题,支持了类似于 BoringSSL 的等价密钥组,还同时兼容 draft 23, 26, 28 和 final 版的 TLS 1.3。
支持了最终版本,好像也看不太到什么效果。用了一圈 Firefox Nightly 和 Chrome Canary,都是默认支持的 draft 28,虽然我听说 28 跟正式版只差了一个版本号来着。Firefox 表示会在 63 启用对 TLS 1.3 RFC 的支持,Chrome 的资料没找到,应该也差不多。Nginx 也大概会在 10 天后发布新的主线版本,支持 TLS 1.3 0-RTT 恢复——这货能让 HTTPS 跟 HTTP 几乎一样快,代价是可能造成重放攻击。