Skip to content

Commit

Permalink
feat(chisel2): add dns-account-01 support
Browse files Browse the repository at this point in the history
  • Loading branch information
sheurich committed Feb 6, 2024
1 parent 9966dd6 commit 3ec93eb
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions test/chisel2.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,8 @@ def auth_and_issue(domains, chall_type="http-01", email=None, cert_output=None,
cleanup = do_http_challenges(client, authzs)
elif chall_type == "dns-01":
cleanup = do_dns_challenges(client, authzs)
elif chall_type == "dns-account-01":
cleanup = do_dns_account_challenges(client, authzs)
else:
raise Exception("invalid challenge type %s" % chall_type)

Expand Down Expand Up @@ -144,6 +146,25 @@ def cleanup():
}).raise_for_status()
return cleanup

def do_dns_account_challenges(client, authzs):
cleanup_hosts = []
for a in authzs:
c = get_chall(a, challenges.DNSACCOUNT01)
name, value = (c.validation_domain_name(client.net.account.uri, a.body.identifier.value),
c.validation(client.net.key))
cleanup_hosts.append(name)
requests.post(SET_TXT, json={
"host": name + ".",
"value": value
}).raise_for_status()
client.answer_challenge(c, c.response(client.net.key))
def cleanup():
for host in cleanup_hosts:
requests.post(CLEAR_TXT, json={
"host": host + "."
}).raise_for_status()
return cleanup

def do_http_challenges(client, authzs):
port = int(PORT)
challs = [get_chall(a, challenges.HTTP01) for a in authzs]
Expand Down

0 comments on commit 3ec93eb

Please sign in to comment.