summaryrefslogtreecommitdiff
path: root/lib/ssl/test/openssl_cipher_suite_SUITE.erl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ssl/test/openssl_cipher_suite_SUITE.erl')
-rw-r--r--lib/ssl/test/openssl_cipher_suite_SUITE.erl52
1 files changed, 22 insertions, 30 deletions
diff --git a/lib/ssl/test/openssl_cipher_suite_SUITE.erl b/lib/ssl/test/openssl_cipher_suite_SUITE.erl
index fb1f28aa4a..ad0ecec8b7 100644
--- a/lib/ssl/test/openssl_cipher_suite_SUITE.erl
+++ b/lib/ssl/test/openssl_cipher_suite_SUITE.erl
@@ -401,8 +401,7 @@ init_per_testcase(TestCase, Config) when TestCase == psk_rc4_128;
TestCase == ecdhe_rsa_rc4_128;
TestCase == ecdhe_ecdsa_rc4_128;
TestCase == dh_anon_rc4_128 ->
- SupCiphers = proplists:get_value(ciphers, crypto:supports()),
- case lists:member(rc4, SupCiphers) of
+ case supported_cipher(rc4, "RC4") of
true ->
ct:timetrap(?DEFAULT_TIMEOUT),
Config;
@@ -413,8 +412,7 @@ init_per_testcase(TestCase, Config) when TestCase == psk_aes_128_ccm_8;
TestCase == psk_aes_128_ccm_8;
TestCase == dhe_psk_aes_128_ccm_8;
TestCase == ecdhe_psk_aes_128_ccm_8 ->
- SupCiphers = proplists:get_value(ciphers, crypto:supports()),
- case lists:member(aes_128_ccm, SupCiphers) of
+ case supported_cipher(aes_128_ccm, "AES128-CCM8") of
true ->
ct:timetrap(?DEFAULT_TIMEOUT),
Config;
@@ -425,8 +423,8 @@ init_per_testcase(TestCase, Config) when TestCase == psk_aes_256_ccm_8;
TestCase == psk_aes_256_ccm_8;
TestCase == dhe_psk_aes_256_ccm_8;
TestCase == ecdhe_psk_aes_256_ccm_8 ->
- SupCiphers = proplists:get_value(ciphers, crypto:supports()),
- case lists:member(aes_256_ccm, SupCiphers) of
+
+ case supported_cipher(aes_256_ccm, "AES128-CCM8") of
true ->
ct:timetrap(?DEFAULT_TIMEOUT),
Config;
@@ -434,10 +432,7 @@ init_per_testcase(TestCase, Config) when TestCase == psk_aes_256_ccm_8;
{skip, "Missing AES_256_CCM crypto support"}
end;
init_per_testcase(aes_256_gcm_sha384, Config) ->
- SupCiphers = proplists:get_value(ciphers, crypto:supports()),
- SupHashs = proplists:get_value(hashs, crypto:supports()),
- case (lists:member(aes_256_gcm, SupCiphers)) andalso
- (lists:member(sha384, SupHashs)) of
+ case supported_cipher(aes_256_gcm, "AES256_GCM", sha384) of
true ->
ct:timetrap(?DEFAULT_TIMEOUT),
Config;
@@ -445,10 +440,7 @@ init_per_testcase(aes_256_gcm_sha384, Config) ->
{skip, "Missing AES_256_GCM crypto support"}
end;
init_per_testcase(aes_128_gcm_sha256, Config) ->
- SupCiphers = proplists:get_value(ciphers, crypto:supports()),
- SupHashs = proplists:get_value(hashs, crypto:supports()),
- case lists:member(aes_128_gcm, SupCiphers) andalso
- (lists:member(sha256, SupHashs)) of
+ case supported_cipher(aes_128_gcm, "AES128_GCM", sha256) of
true ->
ct:timetrap(?DEFAULT_TIMEOUT),
Config;
@@ -457,10 +449,7 @@ init_per_testcase(aes_128_gcm_sha256, Config) ->
end;
init_per_testcase(chacha20_poly1305_sha256, Config) ->
- SupCiphers = proplists:get_value(ciphers, crypto:supports()),
- SupHashs = proplists:get_value(hashs, crypto:supports()),
- case (lists:member(chacha20_poly1305, SupCiphers)) andalso
- (lists:member(sha256, SupHashs)) of
+ case supported_cipher(chacha20_poly1305_sha256, "CHACHA", sha256) of
true ->
ct:timetrap(?DEFAULT_TIMEOUT),
Config;
@@ -468,10 +457,7 @@ init_per_testcase(chacha20_poly1305_sha256, Config) ->
{skip, "Missing CHACHA20_POLY1305 crypto support"}
end;
init_per_testcase(aes_128_ccm_sha256, Config) ->
- SupCiphers = proplists:get_value(ciphers, crypto:supports()),
- SupHashs = proplists:get_value(hashs, crypto:supports()),
- case (lists:member(aes_128_ccm, SupCiphers)) andalso
- (lists:member(sha256, SupHashs)) of
+ case supported_cipher(aes_128_ccm, "AES128_CCM", sha256) of
true ->
ct:timetrap(?DEFAULT_TIMEOUT),
Config;
@@ -480,10 +466,7 @@ init_per_testcase(aes_128_ccm_sha256, Config) ->
end;
init_per_testcase(aes_128_ccm_8_sha256, Config) ->
- SupCiphers = proplists:get_value(ciphers, crypto:supports()),
- SupHashs = proplists:get_value(hashs, crypto:supports()),
- case (lists:member(aes_128_ccm, SupCiphers)) andalso
- (lists:member(sha256, SupHashs)) of
+ case supported_cipher(aes_128_ccm, "AES128_CCM8", sha256) of
true ->
ct:timetrap(?DEFAULT_TIMEOUT),
Config;
@@ -493,8 +476,7 @@ init_per_testcase(aes_128_ccm_8_sha256, Config) ->
init_per_testcase(TestCase, Config) when TestCase == ecdhe_ecdsa_with_aes_128_ccm;
TestCase == ecdhe_ecdsa_with_aes_128_ccm_8->
- SupCiphers = proplists:get_value(ciphers, crypto:supports()),
- case lists:member(aes_128_ccm, SupCiphers) of
+ case supported_cipher(aes_128_ccm, "AES128_CCM") of
true ->
ct:timetrap(?DEFAULT_TIMEOUT),
Config;
@@ -504,8 +486,8 @@ init_per_testcase(TestCase, Config) when TestCase == ecdhe_ecdsa_with_aes_128_cc
init_per_testcase(TestCase, Config) when TestCase == ecdhe_ecdsa_with_aes_256_ccm;
TestCase == ecdhe_ecdsa_with_aes_256_ccm_8 ->
- SupCiphers = proplists:get_value(ciphers, crypto:supports()),
- case lists:member(aes_256_ccm, SupCiphers) of
+
+ case supported_cipher(aes_256_ccm, "AES256_CCM") of
true ->
ct:timetrap(?DEFAULT_TIMEOUT),
Config;
@@ -983,3 +965,13 @@ test_ciphers(Kex, Cipher, Version) ->
openssl_suitestr_to_map(OpenSSLSuiteStrs) ->
[ssl_cipher_format:suite_openssl_str_to_map(SuiteStr) || SuiteStr <- OpenSSLSuiteStrs].
+
+
+supported_cipher(Cipher, CipherStr) ->
+ SupCrypto = proplists:get_value(ciphers, crypto:supports()),
+ SupOpenssl = [OCipher || OCipher <- ssl_test_lib:openssl_ciphers(), string:find(OCipher, CipherStr) =/= nomatch],
+ lists:member(Cipher, SupCrypto) andalso SupOpenssl =/= [].
+
+supported_cipher(Cipher, CipherStr, Hash) ->
+ Hashes = proplists:get_value(hashs, crypto:supports()),
+ supported_cipher(Cipher, CipherStr) andalso lists:member(Hash, Hashes).