libtls: Implement TLS 1.3 handshake on client-side

The code is a minimal handshake with the HelloRetryRequest message
implementation missing.
Can be tested with an OpenSSL server running TLS 1.3. The server must
be at least version 1.1.1 (September 2018).

Co-authored-by: ryru <[email protected]>
This commit is contained in:
bytinbit
2021-02-12 11:45:44 +01:00
committed by Tobias Brunner
co-authored by ryru
parent 02d7405512
commit 7a2b02667c
11 changed files with 1398 additions and 283 deletions
+9
View File
@@ -61,9 +61,18 @@ enum tls_alert_desc_t {
TLS_PROTOCOL_VERSION = 70,
TLS_INSUFFICIENT_SECURITY = 71,
TLS_INTERNAL_ERROR = 80,
TLS_INAPPROPRIATE_FALLBACK = 86,
TLS_USER_CANCELED = 90,
TLS_NO_RENEGOTIATION = 100,
TLS_MISSING_EXTENSION = 109,
TLS_UNSUPPORTED_EXTENSION = 110,
TLS_CERTIFICATE_UNOBTAINABLE = 111,
TLS_RECOGNIZED_NAME = 112,
TLS_BAD_CERTIFICATE_STATUS_RESPONSE = 113,
TLS_BAD_CERTIFICATE_HASH_VALUE = 114,
TLS_UNKNOWN_PSK_IDENTITY = 115,
TLS_CERTIFICATE_REQUIRED = 116,
TLS_NO_APPLICATION_PROTOCOL = 120,
};
/**