forked from randombit/botan
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Limited TLS 1.3 client implementation
* replace handshake protocol internals Add TLS 1.3 specific Handshake_Layer, Handshake_State, Handshake_Transitions, Transcript_Hash to replace functionality of TLS 1.2 Handshake_State. Related refactorings and module rearrangements. * handling of Hello Retry Request * handling alerts * ensure handshake messages are not interleaved * implement Exporters (RFC8446 7.5) * Implement middlebox compatibility mode (RFC 8446 Appendix D.4) * handle protocol version downgrade * Post-Handshake-Message Key_Update * OCSP stapling * update of traffic secrets via a user-facing API * Record_Size_Limit extension for TLS 1.3 * BoGo Tests integration/fixes for TLS 1.3 ... we rebased the changes in jack/runner-20210401 to the current boringssl origin master (currently on reneme/boringssl) ... tests that are not applicable (yet) were disabled * prepend dummy ccs record for any second flight * too large decrypted plaintext * client hello version when renegotiating 1.2 * don't try 1.3 if we have a 1.2 session to resume * server selected version handling * ALPN handling in TLS 1.3 * segfault on empty certificate * user_canceled should be ignored * handle record padding * detect session ID downgrade attack * illegal compression method shall be 'decode error' * add missing check for unusable cipher suites * less scrutiny when checking version of initial rcv'd record * memory reservations for large records * detect unexpected extensions in EE * allow for better validation of OCSP responses * check for forbidden extensions in EE msg * validate allowed extensions in cert msg * empty Encrypted Extensions are not allowed * more explicit validation of Hello Retry Request * check signature algo in certificate * certificate constraint checking too loose * validate handshake type byte * refuse unprotected traffic after kex * detect bad alerts * support ALPN in TLS 1.3 * allow 1.2 warning alerts in 1.3 Co-authored-by: René Meusel <[email protected]>
- Loading branch information
Showing
94 changed files
with
10,111 additions
and
150 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -161,5 +161,4 @@ std::vector<uint8_t> Certificate_Req::serialize() const | |
|
||
return buf; | ||
} | ||
|
||
} |
Oops, something went wrong.