mirror of
https://github.com/certbot/certbot.git
synced 2026-07-28 08:05:31 +02:00
NS1 DNS Authenticator (#4602)
Implement an Authenticator which can fulfill a dns-01 challenge using
the NS1 DNS API. Applicable only for domains using NS1 DNS.
Testing Done:
* `tox -e py27`
* `tox -e lint`
* Manual testing:
* Used `certbot certonly --dns-nsone -d`, specifying a
credentials file as a command line argument. Verified that a
certificate was successfully obtained without user interaction.
* Used `certbot certonly --dns-nsone -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 dnsimple 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).
* Path to credentials file with an invalid token.
* Path to credentials file without a token.
* Domain name not registered to NS1 account.
This commit is contained in:
committed by
Brad Warren
parent
ed87b86bca
commit
c827c9ec5f
@@ -134,7 +134,7 @@ def choose_plugin(prepared, question):
|
||||
return None
|
||||
|
||||
noninstaller_plugins = ["webroot", "manual", "standalone", "dns-cloudflare", "dns-cloudxns",
|
||||
"dns-digitalocean", "dns-dnsimple", "dns-google"]
|
||||
"dns-digitalocean", "dns-dnsimple", "dns-google", "dns-nsone"]
|
||||
|
||||
def record_chosen_plugins(config, plugins, auth, inst):
|
||||
"Update the config entries to reflect the plugins we actually selected."
|
||||
@@ -248,6 +248,8 @@ def cli_plugin_requests(config):
|
||||
req_auth = set_configurator(req_auth, "dns-dnsimple")
|
||||
if config.dns_google:
|
||||
req_auth = set_configurator(req_auth, "dns-google")
|
||||
if config.dns_nsone:
|
||||
req_auth = set_configurator(req_auth, "dns-nsone")
|
||||
logger.debug("Requested authenticator %s and installer %s", req_auth, req_inst)
|
||||
return req_auth, req_inst
|
||||
|
||||
|
||||
Reference in New Issue
Block a user