summaryrefslogtreecommitdiff
path: root/lib/handshake.h
Commit message (Collapse)AuthorAgeFilesLines
* Server hello format follows TLS1.2 formatNikos Mavrogiannopoulos2018-03-081-1/+1
| | | | | | | | | | | Also version negotiation was moved to supported_versions extension, and session ID is set by client following appendix D.4. This is a draft-ietf-tls-tls13-22 change. Resolves #393, #389, #397 Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
* record: ignore any ChangeCipherSpec messages under TLS1.3 handshakeNikos Mavrogiannopoulos2018-03-081-0/+2
| | | | | | | | | | Also send ChangeCipherSpec messages under TLS1.3 handshake. This is a draft-ietf-tls-tls13-22 change. Resolves #395 Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
* handshake: added TLS1.3 passive key updateNikos Mavrogiannopoulos2018-02-191-0/+2
| | | | Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
* handshake-tls13: derive and store exporter_master_secretDaiki Ueno2018-02-191-2/+2
| | | | Signed-off-by: Daiki Ueno <dueno@redhat.com>
* handshake: accept hello retry request in client sideNikos Mavrogiannopoulos2018-02-191-1/+7
| | | | Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
* handshake: send hello retry request when no key share matchesNikos Mavrogiannopoulos2018-02-191-0/+4
| | | | Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
* handshake: split set_client_random to gen and setNikos Mavrogiannopoulos2018-02-191-1/+1
| | | | | | This aligns with set_server_random() and gen_server_random(). Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
* handshake: only attempt to detect downgrade attacks if TLS1.3 is supportedNikos Mavrogiannopoulos2018-02-191-1/+1
| | | | | | | Otherwise, connections under TLS 1.2 may fail, even if client never enabled TLS 1.3 support. Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
* handshake: parse new session ticket messageNikos Mavrogiannopoulos2018-02-191-0/+3
| | | | | | That does not include extension handling. Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
* handshake: introduced TLS 1.3 handshake client state machine outlineNikos Mavrogiannopoulos2018-02-191-0/+35
| | | | Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
* Added TLS 1.3 HKDF key derivation functionalityNikos Mavrogiannopoulos2018-02-191-0/+12
| | | | Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
* handshake: legacy version negotiation is not used for TLS 1.3Nikos Mavrogiannopoulos2018-02-191-1/+1
| | | | | | | | That is, ensure that the functions used for TLS 1.2 and earlier negotiation cannot be used with TLS 1.3. That is because TLS 1.3 is negotiated using a TLS extension. Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
* Added TLS 1.3 Hello message random generationNikos Mavrogiannopoulos2018-02-191-1/+1
| | | | | | | | That is, added check for TLS 1.3 random value requirements in client side, and generation according to TLS 1.3 requirements for server and client side. Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
* handshake: check SCSVs prior to resuming a sessionNikos Mavrogiannopoulos2017-09-071-1/+1
| | | | | | | | | | | This ensures that extensions which are also available as SCSVs are parsed prior to resuming a session. This resolves an issue with openssl sending SCSV instead of an extension for the safe renegotiation. Relates #259 Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
* handshake: enhance same certificate checks to apply to PSK/SRP usernameNikos Mavrogiannopoulos2016-04-291-0/+3
| | | | | | That is, unless GNUTLS_ALLOW_ID_CHANGE is specified, during a rehandshake clients will not be allowed to present another certificate than the original, or change their username for PSK or SRP ciphersuites.
* handshake: when receiving a TLS version which is too low failNikos Mavrogiannopoulos2015-12-141-2/+2
| | | | | | | | That is, don't treat all unsupported version as being to high. Treat versions which are not known and lower than the highest as a protocol error. Resolves #42
* Removed the 'gnutls_' prefix from files to simplify file namingNikos Mavrogiannopoulos2015-08-231-0/+76