summaryrefslogtreecommitdiff
path: root/lib/ssl/test/ssl_to_openssl_SUITE.erl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ssl/test/ssl_to_openssl_SUITE.erl')
-rw-r--r--lib/ssl/test/ssl_to_openssl_SUITE.erl18
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/ssl/test/ssl_to_openssl_SUITE.erl b/lib/ssl/test/ssl_to_openssl_SUITE.erl
index 4f53132d5d..a3e2d5e6e0 100644
--- a/lib/ssl/test/ssl_to_openssl_SUITE.erl
+++ b/lib/ssl/test/ssl_to_openssl_SUITE.erl
@@ -1002,7 +1002,7 @@ erlang_server_openssl_client_npn_only_client(Config) when is_list(Config) ->
%%--------------------------------------------------------------------
%% Internal functions ------------------------------------------------
%%--------------------------------------------------------------------
-run_suites(Ciphers, Version, Config, Type) ->
+run_suites(Ciphers0, Version, Config, Type) ->
{ClientOpts, ServerOpts} =
case Type of
rsa ->
@@ -1013,6 +1013,7 @@ run_suites(Ciphers, Version, Config, Type) ->
?config(server_dsa_opts, Config)}
end,
+ Ciphers = filter_suites(Ciphers0),
Result = lists:map(fun(Cipher) ->
cipher(Cipher, Version, Config, ClientOpts, ServerOpts) end,
Ciphers),
@@ -1380,3 +1381,18 @@ check_sane_openssl_version(Version) ->
{_, _} ->
true
end.
+
+filter_suites(Suites) ->
+ OpenSSLSuites = gb_sets:from_list(string:tokens(os:cmd("openssl ciphers"), ":\n")),
+
+ lists:filter(fun(Suite) ->
+ try
+ OpenSSLSuite = ssl_cipher:openssl_suite_name(ssl_cipher:suite(Suite)),
+ gb_sets:is_member(OpenSSLSuite, OpenSSLSuites)
+ catch
+ _:_ ->
+ %% no OpenSSL name known
+ false
+ end
+ end, Suites).
+