コード例 #1
0
        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"));
        }
コード例 #2
0
        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."));
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        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"));
        }
コード例 #5
0
        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."));
        }