-
Notifications
You must be signed in to change notification settings - Fork 118
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support Finished-based APIs for TLS 1.3 (#1952)
Another Ruby 3.1 test depending on certain SSL APIs to retain information when using TLS1.3. This time it's the `SSL_get(_peer)_finished` APIs that are involved. OpenSSL treats the fields identically in 1.2 and 1.3 and uses the same API to update both state machines. We already have our own individual `ssl_get/send_finished` for TLS 1.2 and `tls13_add/process_finished` for TLS 1.3. I've added the field updates within the corresponding TLS 1.3 functions so that these return the correct value within a 1.3 setting. ### Call-outs: The field buffer for `previous_server_finished` and `previous_client_finished` has to grow past 12 since it's also used for 1.3 now. This breaks the original SSL Transfer assumption and we'll have to bump the version while adding corresponding logic to account for the updated size. I've regenerated the SSL Transfer bytes for the round trip tests and also added a test for that as well. We're not bumping the version number here since it's a pretty minuscule change. This doesn't break compatibility with us parsing older versions of AWS-LC SSL Transfers, but older versions of AWS-LC won't be able to parse the new version. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license.
- Loading branch information
1 parent
df6b7cd
commit fa1c6c0
Showing
6 changed files
with
181 additions
and
49 deletions.
There are no files selected for viewing
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
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