public static void TestHashRoundTrip(CurveDef curveDef) { // This test is in the cng only tests because OpenSsl does not provide the hash algorithm using (var cng = new ECDsaCng(curveDef.Curve)) { ECParameters param = cng.ExportExplicitParameters(false); // Add some dummy values and import Assert.True(param.Curve.IsExplicit); var curve = param.Curve; curve.Hash = HashAlgorithmName.SHA1; curve.Seed = new byte[1] { 0xFF }; // Hash should have a seed param.Curve = curve; cng.ImportParameters(param); // Export to see if the hash is there ECParameters param2 = cng.ExportExplicitParameters(false); Assert.Equal(HashAlgorithmName.SHA1.Name.ToUpper(), param2.Curve.Hash.Value.Name.ToUpper()); Assert.Equal(0xFF, param2.Curve.Seed[0]); } }