Beispiel #1
0
 def test_700_011(self):
     domain = self.test_domain
     domains = [domain, "www." + domain]
     # generate 1 MD and 1 vhost, map port 443 onto itself where the server does not listen
     conf = HttpdConf()
     conf.add_admin("admin@" + domain)
     conf.add_line("Protocols http/1.1 acme-tls/1")
     conf.add_drive_mode("auto")
     conf.add_ca_challenges(["tls-alpn-01"])
     conf._add_line("MDPortMap 443:99")
     conf.add_md(domains)
     conf.add_vhost(domains)
     conf.install()
     assert TestEnv.apache_restart() == 0
     TestEnv.check_md(domains)
     assert not TestEnv.is_renewing(domain)
     #
     # now the same with a 443 mapped to a supported port
     conf = HttpdConf()
     conf.add_admin("admin@" + domain)
     conf.add_line("Protocols http/1.1 acme-tls/1")
     conf.add_drive_mode("auto")
     conf.add_ca_challenges(["tls-alpn-01"])
     conf._add_line("MDPortMap 443:%s" % TestEnv.HTTPS_PORT)
     conf.add_md(domains)
     conf.add_vhost(domains)
     conf.install()
     assert TestEnv.apache_restart() == 0
     TestEnv.check_md(domains)
     assert TestEnv.await_completion([domain])
Beispiel #2
0
    def test_720_007(self):
        dns01cmd = ("%s/dns01.py" % TestEnv.TESTROOT)

        domain = self.test_domain
        dwild = "*." + domain
        wwwdomain = "www." + domain
        domains = [dwild]

        conf = HttpdConf()
        conf.add_admin("*****@*****.**")
        conf.add_ca_challenges(["dns-01"])
        conf.add_dns01_cmd(dns01cmd)
        conf.add_md(domains)
        conf.add_vhost(wwwdomain)
        conf.install()

        # restart, check that md is in store
        assert TestEnv.apache_restart() == 0
        TestEnv.check_md(domains)
        # await drive completion
        assert TestEnv.await_completion([wwwdomain])
        TestEnv.check_md_complete(dwild)
        # check: SSL is running OK
        cert_a = TestEnv.get_cert(wwwdomain)
        altnames = cert_a.get_san_list()
        assert domains == altnames
Beispiel #3
0
 def test_700_006(self):
     # generate 1 MD, 1 vhost
     domain = self.test_domain
     nameA = "a." + domain
     domains = [domain, nameA]
     conf = HttpdConf()
     conf.add_admin("admin@" + domain)
     conf.add_ca_challenges(["invalid-01", "invalid-02"])
     conf.add_md(domains)
     conf.add_vhost(nameA, docRoot="htdocs/a")
     conf.install()
     #
     # create docRoot folder
     self._write_res_file(os.path.join(TestEnv.APACHE_HTDOCS_DIR, "a"),
                          "name.txt", nameA)
     #
     # restart, check that md is in store
     assert TestEnv.apache_restart() == 0
     # await drive completion
     md = TestEnv.await_error(domain)
     assert md
     assert md['renewal']['errors'] > 0
     assert md['renewal']['last']['problem'] == 'challenge-mismatch'
     assert 'account' not in md['ca']
     #
     # check: that request to domains give 503 Service Unavailable
     cert = TestEnv.get_cert(nameA)
     assert nameA in cert.get_san_list()
     assert TestEnv.getStatus(nameA, "/name.txt") == 503
Beispiel #4
0
 def test_702_040(self):
     domain = self.test_domain
     domains = [domain, "www." + domain]
     #
     # generate 1 MD and 1 vhost
     conf = HttpdConf()
     conf.add_admin("admin@" + domain)
     conf.add_line("LogLevel core:debug")
     conf.add_line("LogLevel ssl:debug")
     conf.add_line("Protocols http/1.1 acme-tls/1")
     conf.add_drive_mode("auto")
     conf.add_ca_challenges(["tls-alpn-01"])
     conf.add_md(domains)
     conf.add_vhost(domains)
     conf.install()
     #
     # restart (-> drive), check that MD was synched and completes
     assert TestEnv.apache_restart() == 0
     TestEnv.check_md(domains)
     # check that acme-tls/1 is available for all domains
     stat = TestEnv.get_md_status(domain)
     assert stat["proto"]["acme-tls/1"] == domains
     assert TestEnv.await_completion([domain])
     TestEnv.check_md_complete(domain)
     #
     # check SSL running OK
     cert = TestEnv.get_cert(domain)
     assert domain in cert.get_san_list()
Beispiel #5
0
 def test_702_010(self):
     domain = self.test_domain
     domains = [domain, "www." + domain]
     #
     # generate 1 MD and 1 vhost, map port 80 onto itself where the server does not listen
     conf = HttpdConf()
     conf.add_admin("admin@" + domain)
     conf.add_drive_mode("auto")
     conf.add_ca_challenges(["http-01"])
     conf._add_line("MDPortMap 80:99")
     conf.add_md(domains)
     conf.add_vhost(domains)
     conf.install()
     assert TestEnv.apache_restart() == 0
     TestEnv.check_md(domains)
     assert not TestEnv.is_renewing(domain)
     #
     # now the same with a 80 mapped to a supported port
     conf = HttpdConf()
     conf.add_admin("admin@" + domain)
     conf.add_drive_mode("auto")
     conf.add_ca_challenges(["http-01"])
     conf._add_line("MDPortMap 80:%s" % TestEnv.HTTP_PORT)
     conf.add_md(domains)
     conf.add_vhost(domains)
     conf.install()
     assert TestEnv.apache_restart() == 0
     TestEnv.check_md(domains)
     assert TestEnv.await_completion([domain])
Beispiel #6
0
    def test_720_002(self):
        dns01cmd = ("%s/dns01-not-found.py" % TestEnv.TESTROOT)

        domain = self.test_domain
        domains = [domain, "*." + domain]

        conf = HttpdConf()
        conf.add_admin("*****@*****.**")
        conf.add_ca_challenges(["dns-01"])
        conf.add_dns01_cmd(dns01cmd)
        conf.add_md(domains)
        conf.add_vhost(domains)
        conf.install()

        # restart, check that md is in store
        assert TestEnv.apache_restart() == 0
        TestEnv.check_md(domains)
        # await drive completion
        md = TestEnv.await_error(domain)
        assert md
        assert md['renewal']['errors'] > 0
        assert md['renewal']['last']['problem'] == 'challenge-setup-failure'
Beispiel #7
0
 def test_700_004(self, challengeType):
     # generate 1 MD and 1 vhost
     domain = self.test_domain
     domains = [domain, "www." + domain]
     conf = HttpdConf()
     conf.add_admin("admin@" + domain)
     conf.add_line("Protocols http/1.1 acme-tls/1")
     conf.add_drive_mode("auto")
     conf.add_ca_challenges([challengeType])
     conf.add_md(domains)
     conf.add_vhost(domains)
     conf.install()
     #
     # restart (-> drive), check that MD was synched and completes
     assert TestEnv.apache_restart() == 0
     TestEnv.check_md(domains)
     assert TestEnv.await_completion([domain])
     TestEnv.check_md_complete(domain)
     #
     # check SSL running OK
     cert = TestEnv.get_cert(domain)
     assert domain in cert.get_san_list()
Beispiel #8
0
 def test_702_041(self):
     domain = self.test_domain
     domains = [domain, "www." + domain]
     #
     # generate 1 MD and 1 vhost
     conf = HttpdConf()
     conf.add_admin("admin@" + domain)
     conf.add_line("LogLevel core:debug")
     conf.add_line("LogLevel ssl:debug")
     conf.add_drive_mode("auto")
     conf.add_ca_challenges(["tls-alpn-01"])
     conf.add_md(domains)
     conf.add_vhost(domains)
     conf.install()
     #
     # restart (-> drive), check that MD job shows errors
     # and that missing proto is detected
     assert TestEnv.apache_restart() == 0
     TestEnv.check_md(domains)
     # check that acme-tls/1 is available for none of the domains
     stat = TestEnv.get_md_status(domain)
     assert stat["proto"]["acme-tls/1"] == []