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); }
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); }
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); }