public void IfStartTlsIsEnabledStartTlsShouldBeShownInEhloResponse() { var pop3Simulator = new Pop3ClientSimulator(false, 11002); pop3Simulator.Connect(); string banner; pop3Simulator.ReceiveBanner(out banner); var data = pop3Simulator.CAPA(); Assert.IsTrue(data.Contains("STLS")); }
public void IfStlsRequiredLogonShouldFailIfNoStls() { var pop3Simulator = new Pop3ClientSimulator(false, 11003); pop3Simulator.Connect(); string banner; pop3Simulator.ReceiveBanner(out banner); // run over TLS. var result = pop3Simulator.User("*****@*****.**"); Assert.IsTrue(result.StartsWith("-ERR STLS is required.")); }
public void StlsCommandShouldSwithToTls() { var pop3Simulator = new Pop3ClientSimulator(false, 11002); pop3Simulator.Connect(); string banner; pop3Simulator.ReceiveBanner(out banner); pop3Simulator.STLS(); pop3Simulator.Handshake(); // run over TLS. pop3Simulator.HELP(); }
public void IfStlsRequiredLogonShouldSucceedIfStls() { var pop3Simulator = new Pop3ClientSimulator(false, 11003); pop3Simulator.Connect(); string banner; pop3Simulator.ReceiveBanner(out banner); pop3Simulator.STLS(); pop3Simulator.Handshake(); // run over TLS. var result = pop3Simulator.User("*****@*****.**"); Assert.IsTrue(result.StartsWith("+OK")); }
public void IfStlsOptionalButSslRequiredByIpRangeForAuthThenAuthShouldFail() { var range = SingletonProvider <TestSetup> .Instance.GetApp().Settings.SecurityRanges.get_ItemByName("My computer"); range.RequireSSLTLSForAuth = true; range.Save(); var pop3Simulator = new Pop3ClientSimulator(false, 11002); pop3Simulator.Connect(); string banner; pop3Simulator.ReceiveBanner(out banner); // run over TLS. var result = pop3Simulator.User("*****@*****.**"); Assert.IsTrue(result.StartsWith("-ERR A SSL/TLS-connection is required for authentication.")); }