summaryrefslogtreecommitdiffstats
path: root/ssl/tls13_enc.c
AgeCommit message (Collapse)Author
2017-01-10Verify that the sig algs extension has been sent for TLSv1.3Matt Caswell
Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2157)
2017-01-10Fix client application traffic secretMatt Caswell
A misreading of the TLS1.3 spec meant we were using the handshake hashes up to and including the Client Finished to calculate the client application traffic secret. We should be only use up until the Server Finished. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2157)
2017-01-10Use the correct size for TLSv1.3 finished keysMatt Caswell
We need to use the length of the handshake hash for the length of the finished key. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2157)
2016-11-29Fix a travis compilation errorMatt Caswell
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-11-29Use the TLSv1.3 nonce constructionMatt Caswell
This updates the record layer to use the TLSv1.3 style nonce construciton. It also updates TLSProxy and ossltest to be able to recognise the new layout. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-11-24Fix a bogus uninit var warningMatt Caswell
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-11-23Fix a double ;; causing a travis failureMatt Caswell
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-11-23Fix some style issues with TLSv1.3 state machine PRMatt Caswell
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-11-23Fix some style issues identified during reviewMatt Caswell
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-11-23Create the Finished message payloadMatt Caswell
The previous commit had a dummy payload for the Finished data. This commit fills it in with a real value. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-11-23Update state machine to be closer to TLS1.3Matt Caswell
This is a major overhaul of the TLSv1.3 state machine. Currently it still looks like TLSv1.2. This commit changes things around so that it starts to look a bit less like TLSv1.2 and bit more like TLSv1.3. After this commit we have: ClientHello + key_share ----> ServerHello +key_share {CertificateRequest*} {Certificate*} {CertificateStatus*} <---- {Finished} {Certificate*} {CertificateVerify*} {Finished} ----> [ApplicationData] <---> [Application Data] Key differences between this intermediate position and the final TLSv1.3 position are: - No EncryptedExtensions message yet - No server side CertificateVerify message yet - CertificateStatus still exists as a separate message - A number of the messages are still in the TLSv1.2 format - Still running on the TLSv1.2 record layer Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-11-23Implement tls13_change_cipher_state()Matt Caswell
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-11-09Ensure the key and iv labels are declared as staticMatt Caswell
Fixes a travis failure Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-11-09Add support for TLS1.3 secret generationMatt Caswell
Nothing is using this yet, it just adds the underlying functions necesary for generating the TLS1.3 secrets. Reviewed-by: Rich Salz <rsalz@openssl.org>