diff options
Diffstat (limited to 'lib/ssl/test/tls_1_3_version_SUITE.erl')
-rw-r--r-- | lib/ssl/test/tls_1_3_version_SUITE.erl | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/lib/ssl/test/tls_1_3_version_SUITE.erl b/lib/ssl/test/tls_1_3_version_SUITE.erl index 8a3ff288f7..b5aa0d3cad 100644 --- a/lib/ssl/test/tls_1_3_version_SUITE.erl +++ b/lib/ssl/test/tls_1_3_version_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2019-2022. All Rights Reserved. +%% Copyright Ericsson AB 2019-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -57,7 +57,9 @@ middle_box_tls12_enabled_client/0, middle_box_tls12_enabled_client/1, middle_box_client_tls_v2_session_reused/0, - middle_box_client_tls_v2_session_reused/1 + middle_box_client_tls_v2_session_reused/1, + renegotiate_error/0, + renegotiate_error/1 ]). @@ -90,7 +92,8 @@ tls_1_3_1_2_tests() -> tls12_client_tls_server, middle_box_tls13_client, middle_box_tls12_enabled_client, - middle_box_client_tls_v2_session_reused + middle_box_client_tls_v2_session_reused, + renegotiate_error ]. legacy_tests() -> [tls_client_tls10_server, @@ -329,6 +332,26 @@ middle_box_client_tls_v2_session_reused(Config) when is_list(Config) -> {reuse_session, {SessionId, SessData}} | ClientOpts]}]), {ok,[{session_id, SessionId}]} = ssl:connection_information(CSock1, [session_id]). +renegotiate_error() -> + [{doc, "Test that an error is returned when ssl:renegotiate/1 is called on a connection running TLS-1.3"}]. +renegotiate_error(Config) when is_list(Config) -> + {_ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config), + ClientOpts = ssl_test_lib:ssl_options(client_cert_opts, Config), + ServerOpts = ssl_test_lib:ssl_options(server_cert_opts, Config), + + Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0}, + {from, self()}, + {mfa, {ssl_test_lib, send_recv_result_active, []}}, + {options, [{versions, ['tlsv1.3']} | ServerOpts]}]), + Port = ssl_test_lib:inet_port(Server), + Options = [{versions, ['tlsv1.3']} | ClientOpts], + case ssl:connect(Hostname, Port, Options) of + {ok, Socket} -> + {error, notsup} = ssl:renegotiate(Socket); + {error, Reason} -> + ct:fail(Reason) + end. + %%-------------------------------------------------------------------- %% Internal functions and callbacks ----------------------------------- %%-------------------------------------------------------------------- |