summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Nilsson <hans@erlang.org>2020-05-14 14:45:30 +0200
committerHans Nilsson <hans@erlang.org>2020-05-19 10:40:36 +0200
commit75821c5b61220e1061fde315871e7eee4c5a7213 (patch)
tree8ec26e6265f2175b261a86578824551dd4b48f25
parent3946ed7fb410c29a052a7afe61739b8d1d6aa6d0 (diff)
downloaderlang-75821c5b61220e1061fde315871e7eee4c5a7213.tar.gz
crypto/test: Fresh-up ecdh and add eddh groups
-rw-r--r--lib/crypto/test/crypto_SUITE.erl41
1 files changed, 26 insertions, 15 deletions
diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl
index f55433b90c..079637c4b1 100644
--- a/lib/crypto/test/crypto_SUITE.erl
+++ b/lib/crypto/test/crypto_SUITE.erl
@@ -135,6 +135,7 @@ groups() ->
{group, dh},
{group, ecdh},
+ {group, eddh},
{group, srp},
{group, chacha20_poly1305},
@@ -230,6 +231,7 @@ groups() ->
]},
{dh, [], [generate_compute, compute_bug]},
{ecdh, [], [compute, generate, use_all_ecdh_generate_compute]},
+ {eddh, [], [compute, generate, use_all_eddh_generate_compute]},
{srp, [], [generate_compute]},
{des_cbc, [], [block, api_ng, api_ng_one_shot, api_ng_tls]},
{des_cfb, [], [block, api_ng, api_ng_one_shot, api_ng_tls]},
@@ -999,12 +1001,20 @@ use_all_ec_sign_verify(_Config) ->
end.
%%--------------------------------------------------------------------
-use_all_ecdh_generate_compute(_Config) ->
- Sups = crypto:supports(),
- Curves = proplists:get_value(curves, Sups),
- ct:log("Lib: ~p~nFIPS: ~p~nCurves:~n~p", [crypto:info_lib(),
- crypto:info_fips(),
- Curves]),
+use_all_ecdh_generate_compute(Config) ->
+ Curves = crypto:supports(curves) -- [ed25519, ed448, x25519, x448],
+ do_dh_curves(Config, Curves).
+
+use_all_eddh_generate_compute(Config) ->
+ AllCurves = crypto:supports(curves),
+ Curves = [C || C <- [x25519, x448],
+ lists:member(C, AllCurves)],
+ do_dh_curves(Config, Curves).
+
+do_dh_curves(_Config, Curves) ->
+ ct:log("Lib: ~p~nFIPS: ~p~nCurves:~n~p~n", [crypto:info_lib(),
+ crypto:info_fips(),
+ Curves]),
Results =
[{Curve,
try
@@ -1023,21 +1033,20 @@ use_all_ecdh_generate_compute(_Config) ->
C:E ->
{C,E}
end}
- || Curve <- [ed25519, ed448, x25519, x448],
- lists:member(Curve, Curves)
+ || Curve <- Curves
],
- Fails0 =
+
+ Fails =
lists:filter(fun({_,true}) -> false;
(_) -> true
end, Results),
- case Fails0 of
- [{ed25519,_}, {ed448,_}] ->
+
+ case Fails of
+ [] ->
+ ct:comment("All ~p passed",[length(Results)]),
ok;
_ ->
- Fails = lists:filter(fun({ed25519,_}) -> true;
- ({ed448,_}) -> true;
- (_) -> false
- end, Fails0),
+ ct:comment("passed: ~p, failed: ~p",[length(Results),length(Fails)]),
ct:log("Fails:~n~p",[Fails]),
ct:fail("Bad curve(s)",[])
end.
@@ -2151,6 +2160,8 @@ group_config(ecdh, Config) ->
Compute = ecdh(),
Generate = ecc(),
[{compute, Compute}, {generate, Generate} | Config];
+group_config(eddh, Config) ->
+ [{compute, []}, {generate, []} | Config];
group_config(dh, Config) ->
GenerateCompute = [dh()],
[{generate_compute, GenerateCompute} | Config];