Example #1
0
        public void Test502(string subject)
        {
            AgentSettings settings = AgentSettings.Load(TestXml);
            DirectAgent   agent    = settings.CreateAgent();

            ICertificateResolver pluginResolver = agent.PublicCertResolver;

            Assert.NotNull(pluginResolver);

            var email = new MailAddress(subject);
            X509Certificate2Collection certs = pluginResolver.GetCertificates(email);

            Assert.NotNull(certs);
            Assert.True(certs.Count == 1);
            Assert.Equal("*****@*****.**", certs[0].ExtractEmailNameOrName());

            AssertCert(certs[0], true);



            //
            // Now prove the standard dns resolver will return the greater than 512 byte dns cert.
            //
            pluginResolver = new Common.Certificates.DnsCertResolver(IPAddress.Parse("8.8.8.8"));
            Assert.NotNull(pluginResolver);

            certs = pluginResolver.GetCertificates(email);
            Assert.NotNull(certs);
            Assert.True(certs.Count == 1);
            Assert.Equal("*****@*****.**", certs[0].ExtractEmailNameOrName());

            AssertCert(certs[0], true);
        }
Example #2
0
        public void Test501(string subject)
        {
            //Debugger.Launch();
            AgentSettings settings = AgentSettings.Load(TestXml);
            DirectAgent   agent    = settings.CreateAgent();

            ICertificateResolver pluginResolver = agent.PublicCertResolver;

            var dnsCertResolver = LocateChild <DnsCertResolverProxy>(pluginResolver);
            var diagnostics     = new FakeDiagnostics(typeof(DnsCertResolver));

            dnsCertResolver.Error += diagnostics.OnResolverError;

            Assert.NotNull(pluginResolver);

            var email = new MailAddress(subject);
            X509Certificate2Collection certs = pluginResolver.GetCertificates(email);

            Assert.NotNull(certs);
            Assert.True(certs.Count == 1);
            Assert.Equal("direct1.direct-test.com", certs[0].ExtractEmailNameOrName());
            AssertCert(certs[0], true);

            Assert.Equal(1, diagnostics.ActualErrorMessages.Count);
            Assert.Equal("Chain Element has problem [email protected];NotTimeValid", diagnostics.ActualErrorMessages[0]);

            //
            // Now prove we can get it from as a domain with no fail over.
            //
            certs = pluginResolver.GetCertificatesForDomain(email.Host);
            Assert.NotNull(certs);
            Assert.True(certs.Count == 1);
            Assert.Equal("direct1.direct-test.com", certs[0].ExtractEmailNameOrName());

            AssertCert(certs[0], true);


            //
            // Now prove the standard dns resolver will return the invalid Address Cert.
            //
            pluginResolver = new Common.Certificates.DnsCertResolver(IPAddress.Parse("8.8.8.8"));
            Assert.NotNull(pluginResolver);

            certs = pluginResolver.GetCertificates(email);
            Assert.NotNull(certs);
            Assert.True(certs.Count == 1);
            Assert.Equal("*****@*****.**", certs[0].ExtractEmailNameOrName());

            AssertCert(certs[0], false);
        }
Example #3
0
        public void Test506(string subject)
        {
            AgentSettings settings = AgentSettings.Load(TestXml);
            DirectAgent   agent    = settings.CreateAgent();
            var           email    = new MailAddress(subject);


            //
            // Proving the 506 test contains a Background Cert in dns domain that should not be there.  This is not documented
            // in the 506 test.
            //
            ICertificateResolver pluginResolver = new Common.Certificates.DnsCertResolver(IPAddress.Parse("8.8.8.8"));

            Assert.NotNull(pluginResolver);

            X509Certificate2Collection certs = pluginResolver.GetCertificates(email);

            Assert.NotNull(certs);
            Assert.True(certs.Count == 1);
            Assert.Equal("direct2.direct-test.com", certs[0].ExtractEmailNameOrName());

            //This is not expected according to the 506 test Background Cert info we should not have found a domain cert at all
            AssertCert(certs[0], false);


            //
            // Lets get back to testing the ModSpec3 Resolvers.
            //

            pluginResolver = agent.PublicCertResolver;
            Assert.NotNull(pluginResolver);


            certs = pluginResolver.GetCertificates(email);
            Assert.NotNull(certs);
            Assert.True(certs.Count == 1);
            Assert.Equal("*****@*****.**", certs[0].ExtractEmailNameOrName());

            AssertCert(certs[0], true);
        }