Skip to content

add support for TLS 1.2 (application data exchange)#394

Merged
kazuho merged 16 commits into
masterfrom
kazuho/tls12
Oct 6, 2022
Merged

add support for TLS 1.2 (application data exchange)#394
kazuho merged 16 commits into
masterfrom
kazuho/tls12

Conversation

@kazuho

@kazuho kazuho commented Jul 6, 2022

Copy link
Copy Markdown
Member

This PR adds the following:

  • Support for the TLS 1.2 record layer.
  • ptls_import function for instantiating a picotls connection object from a set of serialized parameters. At the moment, this function supports TLS 1.2 only.
  • ptls_export function for extracting properties of a TLS connection so that it can be imported. At the moment, this function supports TLS 1.2 only.
  • ptls_build_tls12_export_params for constructing a serialized set of properties of a TLS 1.2 connection, so that it can be imported to picotls.

The idea is:

  • Once the TLS 1.2 handshake is complete, extract the necessary properties (e.g., SecurityParameters) from OpenSSL, and use that to create a picotls connection object, then use picotls for exchanging application data and alerts. The benefit that we can gain from all the performance improvements that are only available in picotls (e.g., non-temporal aes-gcm engine #384).
  • Design the API to support import-export in serialized form, so that we can extend the implementation for moving TLS states around.

@kazuho
kazuho merged commit b3a3c8f into master Oct 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant