public void CanVerifySignature() { var signatureProvider = new SignatureProvider(PrivateCertificate, PublicCertificate); var messageDigest = "2012-05-19T17:31:18.000Z0000000000078330Success108429563"; var signature = "BXgUCWykw5I+4aDMC0gcJIY4crVfsPMt9NtTpLD9hzANEZB+gZIUOB6iIX2aS8AyxlDEikhM5eCA6UirtIbqcW94W4z0ekvtgBm0dUROACsZxHxqTuSRYDy22a+Qg92ei1eQ6GH0245BCAo3B4H48A91oFCOc963rJ43DrHd0x8="; Assert.IsTrue(signatureProvider.VerifySignature(signature, messageDigest)); }
public void Sign_And_Verify() { const string expected = "Some text"; var key = KeyGenerator.GenerateKeys().PrivateKey; var signature = SignatureProvider.CreateSignatureAsString(key, expected); var isValid = SignatureProvider.VerifySignature(key, expected, signature); Assert.True(isValid); }
public void ShouldReturnValidKey() { var algorithmMapper = new SignatureAlgorithmIdentifierMapper(); var secureRandom = new SecureRandomGenerator(); var signatureProvider = new SignatureProvider(algorithmMapper, secureRandom, new SignerUtilitiesWrapper()); byte[] data = secureRandom.NextBytes(100); IAsymmetricKey result = keyProvider.GetPrivateKey(rsaKeyPair.PrivateKey.Content); Signature signature = signatureProvider.CreateSignature(result, data); Assert.IsTrue(signatureProvider.VerifySignature(rsaKeyPair.PublicKey, signature)); }
public void ShouldReturnFalseWhenDataLengthExceptionIsThrown(CipherType cipherType) { var keyPair = keys[cipherType]; var signature = signatureProvider.CreateSignature(keyPair.PrivateKey, content); var signer = new Mock <ISigner>(); signer.Setup(s => s.VerifySignature(It.IsAny <byte[]>())) .Throws <DataLengthException>(); var signerUtilities = new Mock <SignerUtilitiesWrapper>(); signerUtilities.Setup(w => w.GetSigner(It.IsAny <string>())) .Returns(signer.Object); signatureProvider = new SignatureProvider(algorithmIdentifierMapper, secureRandomGenerator, signerUtilities.Object); Assert.IsFalse(signatureProvider.VerifySignature(keyPair.PublicKey, signature)); }