aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src/ssl_handshake.erl
diff options
context:
space:
mode:
authorPéter Dimitrov <[email protected]>2019-06-11 09:53:16 +0200
committerGitHub <[email protected]>2019-06-11 09:53:16 +0200
commitf4b64d3ddaaedf29c81a32af291104279fbbfdce (patch)
treed8b8aae604e346ea9d847093f724528da958e3da /lib/ssl/src/ssl_handshake.erl
parent7742555c6f88133c60639e5db464d90495bb943a (diff)
parent77868eda0882549188f2c387e0b7043f7daaaa70 (diff)
downloadotp-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.erl10
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,