public void Send_Asynchronous_InvalidSignature_Ignore() { Settings.IgnoreCertificateErrorOnSend = true; CertificateValidator.SetError((c, u) => (u == X509KeyUsageFlags.NonRepudiation) ? CertificateErrors.StartDate : CertificateErrors.None); var message = CreateMessage(); RunAndHandleMessagingException(Client.SendAndContinueAsync(Logger, message), EventIds.LocalCertificate); }
public void Send_Asynchronous_InvalidEncryption_Ignore() { Settings.IgnoreCertificateErrorOnSend = true; CertificateValidator.SetError((c, u) => (u == X509KeyUsageFlags.DataEncipherment) ? CertificateErrors.StartDate : CertificateErrors.None); var message = CreateMessage(); RunAndHandleException(Client.SendAndContinueAsync(Logger, message)); }
public void Asynchronous_Receive_LocalCertificateRevokedUnknown() { CertificateValidator.SetError( (c, u) => (u == X509KeyUsageFlags.DataEncipherment) ? CertificateErrors.RevokedUnknown : CertificateErrors.None); RunAsynchronousReceive( postValidation: () => { Assert.AreEqual(0, MockFactory.Helsenorge.Asynchronous.Messages.Count); Assert.AreEqual(0, MockFactory.OtherParty.Error.Messages.Count); Assert.IsNotNull(MockLoggerProvider.FindEntry(EventIds.LocalCertificateRevocation)); }, wait: () => _completedCalled, received: (m) => { Assert.IsTrue(m.DecryptionError != CertificateErrors.None); }, messageModification: (m) => { }); }
public void Asynchronous_Receive_RemoteCertificateRevokedUnknown() { CertificateValidator.SetError( (c, u) => (u == X509KeyUsageFlags.NonRepudiation) ? CertificateErrors.RevokedUnknown : CertificateErrors.None); RunAsynchronousReceive( postValidation: () => { Assert.AreEqual(0, MockFactory.Helsenorge.Asynchronous.Messages.Count); Assert.AreEqual(1, MockFactory.OtherParty.Error.Messages.Count); Assert.IsNotNull(MockLoggerProvider.FindEntry(EventIds.RemoteCertificateRevocation)); CheckError(MockFactory.OtherParty.Error.Messages, "transport:revoked-certificate", "Unable to determine revocation status", string.Empty); }, wait: () => _completedCalled, received: (m) => { Assert.IsTrue(m.SignatureError != CertificateErrors.None); }, messageModification: (m) => { }); }
public void Asynchronous_Receive_RemoteCertificateMultiple() { CertificateValidator.SetError( (c, u) => (u == X509KeyUsageFlags.NonRepudiation) ? CertificateErrors.StartDate | CertificateErrors.EndDate : CertificateErrors.None); RunAsynchronousReceive( postValidation: () => { Assert.AreEqual(0, MockFactory.Helsenorge.Asynchronous.Messages.Count); Assert.AreEqual(1, MockFactory.OtherParty.Error.Messages.Count); Assert.IsNotNull(MockLoggerProvider.FindEntry(EventIds.RemoteCertificate)); CheckError(MockFactory.OtherParty.Error.Messages, "transport:invalid-certificate", "More than one error with certificate", string.Empty); }, wait: () => _completedCalled, received: (m) => { Assert.IsTrue(m.SignatureError != CertificateErrors.None); }, messageModification: (m) => { }); }
public void Asynchronous_Receive_RemoteCertificateMissing() { CertificateValidator.SetError((c, u) => CertificateErrors.Missing); RunAsynchronousReceive( postValidation: () => { Assert.AreEqual(0, MockFactory.Helsenorge.Asynchronous.Messages.Count); Assert.AreEqual(0, MockFactory.OtherParty.Error.Messages.Count); var error = MockLoggerProvider.Entries .Where(a => a.LogLevel == LogLevel.Warning && a.Message.Contains("Certificate is missing for message. MessageFunction: DIALOG_INNBYGGER_EKONTAKT")) .ToList(); Assert.AreEqual(1, error.Count); Assert.IsTrue(error.Single().Message.Contains("MessageFunction: DIALOG_INNBYGGER_EKONTAKT FromHerId: 93252 ToHerId: 93238")); }, wait: () => _completedCalled, received: (m) => { Assert.IsTrue(m.SignatureError == CertificateErrors.Missing); }, messageModification: (m) => { }); }