public async Task ShouldRoundTripASignature()
        {
            using (var materialized = await KeyVaultConfigurationDiscoverer.Materialize(_configuration))
            {
                using (var context = new KeyVaultSigningContext(materialized))
                {
                    using (var sha256 = SHA256.Create())
                    {
                        byte[] data      = new byte[] { 1, 2, 3 };
                        byte[] digest    = sha256.ComputeHash(data);
                        var    signature = await context.SignDigestAsync(digest);

                        var result = await context.VerifyDigestAsync(digest, signature);

                        Assert.True(result);
                    }
                }
            }
        }
        public async Task ShouldFailToVerifyBadSignature()
        {
            using (var materialized = await KeyVaultConfigurationDiscoverer.Materialize(_configuration))
            {
                using (var context = new KeyVaultSigningContext(materialized))
                {
                    using (var sha256 = SHA256.Create())
                    {
                        byte[] data      = new byte[] { 1, 2, 3 };
                        byte[] digest    = sha256.ComputeHash(data);
                        var    signature = await context.SignDigestAsync(digest);

                        signature[0] = (byte)~signature[0]; //Flip some bits.
                        var result = await context.VerifyDigestAsync(digest, signature);

                        Assert.False(result);
                    }
                }
            }
        }