[InlineData("1.2.840.10045.3.1.7", 256)] //secp256v1 public static void ECCurve_ctor_SEC2_OID_From_Value(string oidValue, int expectedKeySize) { ECCurve ecCurve = ECCurve.CreateFromValue(oidValue); using (ECDiffieHellman ecdh = ECDiffieHellmanFactory.Create(ecCurve)) { Assert.Equal(expectedKeySize, ecdh.KeySize); ecdh.Exercise(); } }
public static void Equivalence_Hash() { using (ECDiffieHellman ecdh = ECDiffieHellmanFactory.Create()) using (ECDiffieHellmanPublicKey publicKey = ecdh.PublicKey) { byte[] newWay = ecdh.DeriveKeyFromHash(publicKey, HashAlgorithmName.SHA256, null, null); byte[] oldWay = ecdh.DeriveKeyMaterial(publicKey); Assert.Equal(newWay, oldWay); } }
public static void TestNamedCurvesNegative(CurveDef curveDef) { if (!curveDef.Curve.IsNamed) { return; } // An exception may be thrown during Create() if the Oid is bad, or later during native calls Assert.Throws <PlatformNotSupportedException>(() => { using ECDiffieHellman ecdh = ECDiffieHellmanFactory.Create(curveDef.Curve); ecdh.ExportParameters(false); }); }
public static void ECCurve_ctor() { using (ECDiffieHellman ecdh = ECDiffieHellmanFactory.Create(ECCurve.NamedCurves.nistP256)) { Assert.Equal(256, ecdh.KeySize); ecdh.Exercise(); } using (ECDiffieHellman ecdh = ECDiffieHellmanFactory.Create(ECCurve.NamedCurves.nistP384)) { Assert.Equal(384, ecdh.KeySize); ecdh.Exercise(); } using (ECDiffieHellman ecdh = ECDiffieHellmanFactory.Create(ECCurve.NamedCurves.nistP521)) { Assert.Equal(521, ecdh.KeySize); ecdh.Exercise(); } }