public void SetupSSLCertificateWithPassword() { string sslPath = Path.Combine(SslSetup.GetSslCertPath(), "WithPassword"); SSLCertificate sslCertificate = _application.Settings.SSLCertificates.Add(); sslCertificate.Name = "Example"; sslCertificate.CertificateFile = sslPath + "\\server.crt"; sslCertificate.PrivateKeyFile = sslPath + "\\server.key"; sslCertificate.Save(); TCPIPPort port = _application.Settings.TCPIPPorts.Add(); port.Address = "0.0.0.0"; port.PortNumber = 251; port.UseSSL = true; port.SSLCertificateID = sslCertificate.ID; port.Protocol = eSessionType.eSTSMTP; port.Save(); _application.Stop(); _application.Start(); CustomAsserts.AssertReportedError("The private key file has a password. hMailServer does not support this.", "Failed to load private key file."); SingletonProvider <TestSetup> .Instance.PerformBasicSetup(); }
public void SmtpServerSupportingStartTls_StartTlsOptional() { Account account = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); // Set up a server listening on port 250 which accepts email for [email protected] var deliveryResults = new Dictionary <string, int>(); deliveryResults["*****@*****.**"] = 250; int smtpServerPort = TestSetup.GetNextFreePort(); using (var server = new SMTPServerSimulator(1, smtpServerPort, eConnectionSecurity.eCSSTARTTLSRequired)) { server.SetCertificate(SslSetup.GetCertificate()); server.AddRecipientResult(deliveryResults); server.StartListen(); Route route = SMTPClientTests.AddRoutePointingAtLocalhost(1, smtpServerPort, true, eConnectionSecurity.eCSSTARTTLSOptional); var smtpClient = new SMTPClientSimulator(); CustomAssert.IsTrue(smtpClient.Send(account.Address, "*****@*****.**", "Test", "Test message")); TestSetup.AssertRecipientsInDeliveryQueue(0); server.WaitForCompletion(); CustomAssert.IsTrue(server.MessageData.Contains("Test message")); } }
public void SmtpServerNOTSupportingStartTls_StartTlsRequired() { Account account = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); // Set up a server listening on port 250 which accepts email for [email protected] var deliveryResults = new Dictionary <string, int>(); deliveryResults["*****@*****.**"] = 250; int smtpServerPort = TestSetup.GetNextFreePort(); using (var server = new SMTPServerSimulator(1, smtpServerPort, eConnectionSecurity.eCSNone)) { server.SetCertificate(SslSetup.GetCertificate()); server.AddRecipientResult(deliveryResults); server.StartListen(); Route route = SMTPClientTests.AddRoutePointingAtLocalhost(1, smtpServerPort, true, eConnectionSecurity.eCSSTARTTLSRequired); var smtpClient = new SMTPClientSimulator(); CustomAssert.IsTrue(smtpClient.Send(account.Address, "*****@*****.**", "Test", "Test message")); TestSetup.AssertRecipientsInDeliveryQueue(0); // This should now be processed via the rule -> route -> external server we've set up. server.WaitForCompletion(); var msg = POP3ClientSimulator.AssertGetFirstMessageText("*****@*****.**", "test"); CustomAssert.IsTrue(msg.Contains("Server does not support STARTTLS")); } }
private void SetSslVersions(bool sslv3, bool tlsv10, bool tlsv11, bool tlsv12) { SslSetup.SetupSSLPorts(_application, new SslVersions() { Ssl30 = sslv3, Tls10 = tlsv10, Tls11 = tlsv11, Tls12 = tlsv12 }); Thread.Sleep(1000); }
private void SetSslVersions(bool tlsv10, bool tlsv11, bool tlsv12, bool tlsv13) { SslSetup.SetupSSLPorts(_application, new SslVersions() { Tls10 = tlsv10, Tls11 = tlsv11, Tls12 = tlsv12, Tls13 = tlsv13 }); Thread.Sleep(1000); }
public new void TestFixtureSetUp() { SslSetup.SetupSSLPorts(_application); Thread.Sleep(1000); }