basic TLS1.3 handshake and record message sending

That patch set introduces:

  • TLS 1.3 record parsing and generation
  • TLS 1.3 key derivation for handshake and application data
  • TLS 1.3 1-rtt handshake
  • basic TLS1.3 key exchange test suite
  • basic TLS1.3 record layer test suite
  • A buffer optimization to reduce allocations during handshake

It does not include:

  • Client certificate support (#278)
  • Extensions parsing in certificate and other messages (#291)
  • Hello retry request (#285)
  • Reducing the session state size (#281)

This is mainly to allow collaboration on top of a relatively operational TLS1.3 base. If there are other limitations not listed, we should open a bug to note them.

Relates #278

Resolves #273 #253 #129 #254 #288

Edited by username-removed-105950