anchor.diff:  
   ecdh() ->
       %% http://csrc.nist.gov/groups/STM/cavp/
  -    Curves = crypto:ec_curves() ++ 
  -        [X  || X <- proplists:get_value(curves, crypto:supports(), []),
  -               lists:member(X, [x25519,x448])],
  -    TestCases =
  -        [{ecdh, hexstr2point("42ea6dd9969dd2a61fea1aac7f8e98edcc896c6e55857cc0", "dfbe5d7c61fac88b11811bde328e8a0d12bf01a9d204b523"),
  +    Curves = crypto:supports(curves),
  +    lists:filter(
  +      fun ({_Type, _Pub, _Priv, Curve, _SharedSecret}) ->
  +              lists:member(Curve, Curves)
  +      end,
  +
  +      [{ecdh, hexstr2point("42ea6dd9969dd2a61fea1aac7f8e98edcc896c6e55857cc0", "dfbe5d7c61fac88b11811bde328e8a0d12bf01a9d204b523"),
             hexstr2bin("f17d3fea367b74d340851ca4270dcb24c271f445bed9d527"),
             secp192r1,
             hexstr2bin("803d8ab2e5b6e6fca715737c3a82f7ce3c783124f6d51cd0")},
  
positive.code: 	    ct:fail({{crypto, generate_key, [Type, Priv, Curve]}, {expected, Pub}, {got, Other}})
      end;
  do_generate({rsa = Type, Mod, Exp}) ->
      case crypto:info_fips() of
          enabled when Mod < 3072 ->
              ct:log("SKIP do_generate ~p FIPS=~p, Mod=~p  Exp=~p", [Type, enabled, Mod, Exp]),
  
negative.code: %% information about the curves see
  %%       http://csrc.nist.gov/encryption/dss/ecdsa/NISTReCur.pdf
  %%
      Curves = crypto:supports(curves),
      lists:filter(
        fun ({_Type, Curve, _Priv, _Pub}) ->
                lists:member(Curve, Curves)
        end,
          [{ecdh,secp192r1,1,
            hexstr2point("188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012",
                         "07192B95FFC8DA78631011ED6B24CDD573F977A11E794811")},
  