diff options
author | siddharth <s@ricketyspace.net> | 2021-05-29 11:06:10 -0400 |
---|---|---|
committer | siddharth <s@ricketyspace.net> | 2021-05-29 11:06:10 -0400 |
commit | 74d7f0733490f743d0609bdc3af2d785d9714dbd (patch) | |
tree | c5708de8a155a7c7e92742ae0f5d0f3ff2c7c898 /acmens.py | |
parent | ddbb58bb5f141a93c7dcf85ebbccb7878ed1cdde (diff) |
acmens.py: Explicitly ask user to agree to LE Subscriber Agreement
* acmens.py (_agree_to): New function.
(sign_csr): Update function.
Diffstat (limited to 'acmens.py')
-rw-r--r-- | acmens.py | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -12,7 +12,7 @@ from urllib.request import urlopen from urllib.error import HTTPError -__version__ = "0.1.4-dev0" +__version__ = "0.1.4-dev1" CA_PRD = "https://acme-v02.api.letsencrypt.org" CA_STG = "https://acme-staging-v02.api.letsencrypt.org" @@ -215,6 +215,19 @@ Notes: sys.stderr.write("{} verified!\n".format(domain)) +def _agree_to(terms): + """Asks user whether they agree to the Let's Encrypt Subscriber + Agreement. It will immediately exit if user does not agree.""" + ans = input( + "\nDo you agree to the Let's Encrypt Subscriber Agreement\n({})? ".format( + terms + ) + ) + if re.search(r"[Yy]", ans) is None: + sys.stderr.write("Error: Cannot continue. Exiting.\n") + sys.exit(1) + + def sign_csr(ca_url, account_key, csr, email=None, challenge_type="http"): """Use the ACME protocol to get an ssl certificate signed by a certificate authority. @@ -298,6 +311,7 @@ def sign_csr(ca_url, account_key, csr, email=None, challenge_type="http"): # Step 4: Generate the payload for registering user and initiate registration. sys.stderr.write("Registering {0}...\n".format(email)) + _agree_to(_directory(ca_url)["meta"]["termsOfService"]) reg = {"termsOfServiceAgreed": True} nonce_url = _directory(ca_url)["newNonce"] auth = {"jwk": jwk} |