CloudXNS DNS Authenticator (#4585)

Implement an Authenticator which can fulfill a dns-01 challenge using
the CloudXNS DNS API. Applicable only for domains using CloudXNS DNS.

Testing Done:
 * `tox -e py27`
 * `tox -e lint`
 * Manual testing:
    * Used `certbot certonly --dns-cloudxns -d`, specifying a
      credentials file as a command line argument. Verified that a
      certificate was successfully obtained without user interaction.
    * Used `certbot certonly --dns-cloudxns -d`, without specifying a
      credentials file as a command line argument. Verified that the
      user was prompted and that a certificate was successfully
      obtained.
    * Used `certbot certonly -d`. Verified that the user was prompted for
      a credentials file after selecting cloudxns interactively and that
      a certificate was successfully obtained.
    * Used `certbot renew --force-renewal`. Verified that certificates
      were renewed without user interaction.
 * Negative testing:
    * Path to non-existent credentials file.
    * Credentials file with unsafe permissions (644).
    * Domain name not registered to CloudXNS account.
This commit is contained in:
Zach Shepherd
2017-05-19 16:23:53 -07:00
committed by Brad Warren
parent bbbfc473d3
commit 49c41da4f1
22 changed files with 718 additions and 9 deletions
+1
View File
@@ -15,6 +15,7 @@ fi
-e .[dev,docs] \
-e certbot-apache \
-e certbot-dns-cloudflare \
-e certbot-dns-cloudxns \
-e certbot-dns-digitalocean \
-e certbot-dns-google \
-e certbot-nginx \
+1
View File
@@ -14,6 +14,7 @@ fi
-e .[dev,docs] \
-e certbot-apache \
-e certbot-dns-cloudflare \
-e certbot-dns-cloudxns \
-e certbot-dns-digitalocean \
-e certbot-dns-google \
-e certbot-nginx \