/// <summary> /// Verifies if the digital signature on the AS4 Message is valid. /// </summary> /// <param name="config"></param> /// <returns></returns> public bool VerifySignature(VerifySignatureConfig config) { if (config == null) { throw new ArgumentNullException(nameof(config)); } var verifier = new SignatureVerificationStrategy(EnvelopeDocument); return(verifier.VerifySignature(config)); }
public async Task ThenVerifySignatureFailsWithUntrustedCertificate() { var as4Message = await GetAS4Message(Properties.Resources.as4_soap_untrusted_signed_message); // Assert to make sure that our arranged AS4Message is indeed signed. Assert.True(as4Message.IsSigned); var verificationStrategy = new SignatureVerificationStrategy(as4Message.EnvelopeDocument); // Act / Assert Assert.Throws <System.Security.Cryptography.CryptographicException>( () => verificationStrategy.VerifySignature(AllowedUnknownRootCertAuthorityConfig())); }
public async Task ThenSignStrategyVerifiesAS4MessageCorrectly() { // Arrange var as4Message = await GetAS4Message(Properties.Resources.as4_soap_signed_message); // Assert to make sure that our arranged AS4Message is indeed signed. Assert.True(as4Message.IsSigned); var verificationStrategy = new SignatureVerificationStrategy(as4Message.EnvelopeDocument); bool validSignature = verificationStrategy.VerifySignature(AllowedUnknownRootCertAuthorityConfig()); Assert.True(validSignature); }