public void TestCheckCertificateRevocation()
        {
            var settings = new SslSettings();
            Assert.AreEqual(true, settings.CheckCertificateRevocation);

            var checkCertificateRevocation = !settings.CheckCertificateRevocation;
            settings.CheckCertificateRevocation = checkCertificateRevocation;
            Assert.AreEqual(checkCertificateRevocation, settings.CheckCertificateRevocation);

            settings.Freeze();
            Assert.AreEqual(checkCertificateRevocation, settings.CheckCertificateRevocation);
            Assert.Throws<InvalidOperationException>(() => { settings.CheckCertificateRevocation = checkCertificateRevocation; });
        }
示例#2
0
        public void TestClientCertificateSelectionCallback()
        {
            var settings = new SslSettings();
            Assert.Equal(null, settings.ClientCertificateSelectionCallback);

            var callback = (LocalCertificateSelectionCallback)ClientCertificateSelectionCallback;
            settings.ClientCertificateSelectionCallback = callback;
            Assert.Equal(callback, settings.ClientCertificateSelectionCallback);

            settings.Freeze();
            Assert.Equal(callback, settings.ClientCertificateSelectionCallback);
            Assert.Throws<InvalidOperationException>(() => { settings.ClientCertificateSelectionCallback = callback; });
        }
        public void TestClientCertificateSelectionCallback()
        {
            var settings = new SslSettings();

            Assert.Equal(null, settings.ClientCertificateSelectionCallback);

            var callback = (LocalCertificateSelectionCallback)ClientCertificateSelectionCallback;

            settings.ClientCertificateSelectionCallback = callback;
            Assert.Equal(callback, settings.ClientCertificateSelectionCallback);

            settings.Freeze();
            Assert.Equal(callback, settings.ClientCertificateSelectionCallback);
            Assert.Throws <InvalidOperationException>(() => { settings.ClientCertificateSelectionCallback = callback; });
        }
        public void TestCheckCertificateRevocation()
        {
            var settings = new SslSettings();

            settings.CheckCertificateRevocation.Should().BeFalse();

            var checkCertificateRevocation = !settings.CheckCertificateRevocation;

            settings.CheckCertificateRevocation = checkCertificateRevocation;
            Assert.Equal(checkCertificateRevocation, settings.CheckCertificateRevocation);

            settings.Freeze();
            Assert.Equal(checkCertificateRevocation, settings.CheckCertificateRevocation);
            Assert.Throws <InvalidOperationException>(() => { settings.CheckCertificateRevocation = checkCertificateRevocation; });
        }
        public void TestServerCertificateValidationCallback()
        {
            var settings = new SslSettings();

            Assert.Equal(null, settings.ServerCertificateValidationCallback);

            var callback = (RemoteCertificateValidationCallback)ServerCertificateValidationCallback;

            settings.ServerCertificateValidationCallback = callback;
            Assert.Equal(callback, settings.ServerCertificateValidationCallback);

            settings.Freeze();
            Assert.Equal(callback, settings.ServerCertificateValidationCallback);
            Assert.Throws <InvalidOperationException>(() => { settings.ServerCertificateValidationCallback = callback; });
        }
        public void TestEnabledSslProtocols()
        {
            var settings = new SslSettings();

            Assert.Equal(SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, settings.EnabledSslProtocols);

            var enabledSslProtocols = SslProtocols.Tls;

            settings.EnabledSslProtocols = enabledSslProtocols;
            Assert.Equal(enabledSslProtocols, settings.EnabledSslProtocols);

            settings.Freeze();
            Assert.Equal(enabledSslProtocols, settings.EnabledSslProtocols);
            Assert.Throws <InvalidOperationException>(() => { settings.EnabledSslProtocols = enabledSslProtocols; });
        }
        public void TestClientCertificates()
        {
            var settings = new SslSettings();
            Assert.AreEqual(null, settings.ClientCertificates);

            var clientCertificates = new[] { new X509Certificate2("testcert.pfx", "password"), new X509Certificate2("testcert.pfx", "password") };
            settings.ClientCertificates = clientCertificates;
            Assert.IsTrue(clientCertificates.SequenceEqual(settings.ClientCertificates));
            Assert.AreNotSame(clientCertificates[0], settings.ClientCertificates.ElementAt(0));
            Assert.AreNotSame(clientCertificates[1], settings.ClientCertificates.ElementAt(1));

            settings.Freeze();
            Assert.IsTrue(clientCertificates.SequenceEqual(settings.ClientCertificates));
            Assert.Throws<InvalidOperationException>(() => { settings.ClientCertificates = clientCertificates; });
        }
示例#8
0
        public void TestClientCertificates()
        {
            var settings = new SslSettings();

            Assert.AreEqual(null, settings.ClientCertificates);

            var clientCertificates = new[] { new X509Certificate2("testcert.pfx", "password"), new X509Certificate2("testcert.pfx", "password") };

            settings.ClientCertificates = clientCertificates;
            Assert.IsTrue(clientCertificates.SequenceEqual(settings.ClientCertificates));
            Assert.AreNotSame(clientCertificates[0], settings.ClientCertificates.ElementAt(0));
            Assert.AreNotSame(clientCertificates[1], settings.ClientCertificates.ElementAt(1));

            settings.Freeze();
            Assert.IsTrue(clientCertificates.SequenceEqual(settings.ClientCertificates));
            Assert.Throws <InvalidOperationException>(() => { settings.ClientCertificates = clientCertificates; });
        }
        public void TestClientCertificates()
        {
            var settings = new SslSettings();

            Assert.Equal(null, settings.ClientCertificates);

            var certificateFileName = GetTestCertificateFileName();
            var clientCertificates  = new[] { new X509Certificate2(certificateFileName, "password"), new X509Certificate2(certificateFileName, "password") };

            settings.ClientCertificates = clientCertificates;

            Assert.True(clientCertificates.SequenceEqual(settings.ClientCertificates));
            Assert.True(settings.ClientCertificates.Cast <X509Certificate2>().All(cert => cert.HasPrivateKey));

            settings.Freeze();
            Assert.True(clientCertificates.SequenceEqual(settings.ClientCertificates));
            Assert.Throws <InvalidOperationException>(() => { settings.ClientCertificates = clientCertificates; });
        }
        public void TestEnabledSslProtocols()
        {
            var settings = new SslSettings();

#if NETSTANDARD1_6
#pragma warning disable 618
            Assert.Equal(SslProtocols.Tls | SslProtocols.Ssl3, settings.EnabledSslProtocols);
#pragma warning restore
#else
            Assert.Equal(SslProtocols.Default, settings.EnabledSslProtocols);
#endif

            var enabledSslProtocols = SslProtocols.Tls;
            settings.EnabledSslProtocols = enabledSslProtocols;
            Assert.Equal(enabledSslProtocols, settings.EnabledSslProtocols);

            settings.Freeze();
            Assert.Equal(enabledSslProtocols, settings.EnabledSslProtocols);
            Assert.Throws <InvalidOperationException>(() => { settings.EnabledSslProtocols = enabledSslProtocols; });
        }
        public void TestClientCertificates()
        {
            RequirePlatform.Check().SkipWhen(SupportedOperatingSystem.MacOS, SupportedTargetFramework.NetStandard15);

            var settings = new SslSettings();

            Assert.Equal(null, settings.ClientCertificates);

            var certificateFileName = GetTestCertificateFileName();
            var clientCertificates  = new[] { new X509Certificate2(certificateFileName, "password"), new X509Certificate2(certificateFileName, "password") };

            settings.ClientCertificates = clientCertificates;

            Assert.True(clientCertificates.SequenceEqual(settings.ClientCertificates));
            Assert.True(settings.ClientCertificates.Cast <X509Certificate2>().All(cert => cert.HasPrivateKey));

            settings.Freeze();
            Assert.True(clientCertificates.SequenceEqual(settings.ClientCertificates));
            Assert.Throws <InvalidOperationException>(() => { settings.ClientCertificates = clientCertificates; });
        }
        public void TestServerCertificateValidationCallback()
        {
            var settings = new SslSettings();
            Assert.AreEqual(null, settings.ServerCertificateValidationCallback);

            var callback = (RemoteCertificateValidationCallback)ServerCertificateValidationCallback;
            settings.ServerCertificateValidationCallback = callback;
            Assert.AreEqual(callback, settings.ServerCertificateValidationCallback);

            settings.Freeze();
            Assert.AreEqual(callback, settings.ServerCertificateValidationCallback);
            Assert.Throws<InvalidOperationException>(() => { settings.ServerCertificateValidationCallback = callback; });
        }
        public void TestEnabledSslProtocols()
        {
            var settings = new SslSettings();
            Assert.AreEqual(SslProtocols.Default, settings.EnabledSslProtocols);

            var enabledSslProtocols = SslProtocols.Tls;
            settings.EnabledSslProtocols = enabledSslProtocols;
            Assert.AreEqual(enabledSslProtocols, settings.EnabledSslProtocols);

            settings.Freeze();
            Assert.AreEqual(enabledSslProtocols, settings.EnabledSslProtocols);
            Assert.Throws<InvalidOperationException>(() => { settings.EnabledSslProtocols = enabledSslProtocols; });
        }
示例#14
0
        public void TestEnabledSslProtocols()
        {
            var settings = new SslSettings();
            #if NETSTANDARD1_6
            #pragma warning disable 618
            Assert.Equal(SslProtocols.Tls | SslProtocols.Ssl3, settings.EnabledSslProtocols);
            #pragma warning restore
            #else
            Assert.Equal(SslProtocols.Default, settings.EnabledSslProtocols);
            #endif

            var enabledSslProtocols = SslProtocols.Tls;
            settings.EnabledSslProtocols = enabledSslProtocols;
            Assert.Equal(enabledSslProtocols, settings.EnabledSslProtocols);

            settings.Freeze();
            Assert.Equal(enabledSslProtocols, settings.EnabledSslProtocols);
            Assert.Throws<InvalidOperationException>(() => { settings.EnabledSslProtocols = enabledSslProtocols; });
        }