diff options
author | Péter Dimitrov <[email protected]> | 2019-06-11 09:53:16 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2019-06-11 09:53:16 +0200 |
commit | f4b64d3ddaaedf29c81a32af291104279fbbfdce (patch) | |
tree | d8b8aae604e346ea9d847093f724528da958e3da /lib/ssl/src/ssl_handshake.erl | |
parent | 7742555c6f88133c60639e5db464d90495bb943a (diff) | |
parent | 77868eda0882549188f2c387e0b7043f7daaaa70 (diff) | |
download | otp-f4b64d3ddaaedf29c81a32af291104279fbbfdce.tar.gz otp-f4b64d3ddaaedf29c81a32af291104279fbbfdce.tar.bz2 otp-f4b64d3ddaaedf29c81a32af291104279fbbfdce.zip |
Merge pull request #2276 from peterdmv/ssl/tls13-alpn
Implement ALPN in TLS 1.3
Diffstat (limited to 'lib/ssl/src/ssl_handshake.erl')
-rw-r--r-- | lib/ssl/src/ssl_handshake.erl | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/ssl/src/ssl_handshake.erl b/lib/ssl/src/ssl_handshake.erl index b51ba0fa2d..53676ab355 100644 --- a/lib/ssl/src/ssl_handshake.erl +++ b/lib/ssl/src/ssl_handshake.erl @@ -76,7 +76,8 @@ handle_client_hello_extensions/9, %% Returns server hello extensions handle_server_hello_extensions/9, select_curve/2, select_curve/3, select_hashsign/4, select_hashsign/5, - select_hashsign_algs/3, empty_extensions/2, add_server_share/3 + select_hashsign_algs/3, empty_extensions/2, add_server_share/3, + add_alpn/2, add_selected_version/1, decode_alpn/1 ]). -export([get_cert_params/1, @@ -1165,6 +1166,13 @@ add_server_share(hello_retry_request, Extensions, Extensions#{key_share => #key_share_hello_retry_request{ selected_group = Group}}. +add_alpn(Extensions, ALPN0) -> + ALPN = encode_alpn([ALPN0], false), + Extensions#{alpn => ALPN}. + +add_selected_version(Extensions) -> + SupportedVersions = #server_hello_selected_version{selected_version = {3,4}}, + Extensions#{server_hello_selected_version => SupportedVersions}. kse_remove_private_key(#key_share_entry{ group = Group, |