TLS 1.3 是时隔九年对 TLS 1.2 之前版本的新升级,也是迄今为止改动最大的一次。
OpenSSL
重新协商
TLSv1.3 不再支持重新协商,所以在调用 SSL_renogotiate()
以及 SSL_renegotiate_abbreviated()
时将会报错。而重新协商最常见的场景是更新链接的密钥,可以通过 SSL_key_update()
进行更新。
会话复用
在 TLSv1.2 协议中,会话是在握手阶段完成的,通过该会话可以在后续的握手过程中简化流程,通过 SSL_get1_session()
函数可以获取。
而在 TLSv1.3 版本中,会话是在握手成功后创建的,在正常在握手完成后,服务端会主动发送多个与会话相关的详细信息。
会话复用有两种方式:A) Session IDs RFC-5246;B) Session Tickets RFC-5077 。
参考
- Using TLS1.3 With OpenSSL 官方关于 TLSv1.3 的使用介绍。