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); } } } }