public static void ValidateNistP256Sha384()
        {
            byte[] msg = (
                "e0b8596b375f3306bbc6e77a0b42f7469d7e83635990e74aa6d713594a3a2449" +
                "8feff5006790742d9c2e9b47d714bee932435db747c6e733e3d8de41f2f91311" +
                "f2e9fd8e025651631ffd84f66732d3473fbd1627e63dc7194048ebec93c95c15" +
                "9b5039ab5e79e42c80b484a943f125de3da1e04e5bf9c16671ad55a1117d3306"
                ).HexToByteArray();

            ECParameters parameters = new ECParameters
            {
                Curve = ECCurve.NamedCurves.nistP256,
                Q     = new ECPoint
                {
                    X = "e0e7b99bc62d8dd67883e39ed9fa0657789c5ff556cc1fd8dd1e2a55e9e3f243".HexToByteArray(),
                    Y = "63fbfd0232b95578075c903a4dbf85ad58f8350516e1ec89b0ee1f5e1362da69".HexToByteArray(),
                },
                D = "b6faf2c8922235c589c27368a3b3e6e2f42eb6073bf9507f19eed0746c79dced".HexToByteArray(),
            };

            byte[] signature = (
                // r
                "f5087878e212b703578f5c66f434883f3ef414dc23e2e8d8ab6a8d159ed5ad83" +
                // s
                "306b4c6c20213707982dffbb30fba99b96e792163dd59dbe606e734328dd7c8a"
                ).HexToByteArray();

            Validate(
                parameters,
                ECDsaTestData.GetNistP256ExplicitCurve(),
                msg,
                signature,
                HashAlgorithmName.SHA384);
        }
        public static void ValidateNistP256Sha256()
        {
            byte[] msg = (
                "5905238877c77421f73e43ee3da6f2d9e2ccad5fc942dcec0cbd25482935faaf" +
                "416983fe165b1a045ee2bcd2e6dca3bdf46c4310a7461f9a37960ca672d3feb5" +
                "473e253605fb1ddfd28065b53cb5858a8ad28175bf9bd386a5e471ea7a65c17c" +
                "c934a9d791e91491eb3754d03799790fe2d308d16146d5c9b0d0debd97d79ce8"
                ).HexToByteArray();

            ECParameters parameters = new ECParameters
            {
                Curve = ECCurve.NamedCurves.nistP256,
                Q     = new ECPoint
                {
                    X = "1ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83".HexToByteArray(),
                    Y = "ce4014c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9".HexToByteArray(),
                },
                D = "519b423d715f8b581f4fa8ee59f4771a5b44c8130b4e3eacca54a56dda72b464".HexToByteArray(),
            };

            byte[] signature = (
                // r
                "f3ac8061b514795b8843e3d6629527ed2afd6b1f6a555a7acabb5e6f79c8c2ac" +
                // s
                "8bf77819ca05a6b2786c76262bf7371cef97b218e96f175a3ccdda2acc058903"
                ).HexToByteArray();

            Validate(
                parameters,
                ECDsaTestData.GetNistP256ExplicitCurve(),
                msg,
                signature,
                HashAlgorithmName.SHA256);
        }