summaryrefslogtreecommitdiff
blob: 447ed5f5f9b50f2308b2554282a6581be24599b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
--- a/acme_tiny.py	2018-03-16 02:37:41.989372265 -0400
+++ b/acme_tiny.py	2018-03-16 02:53:28.365319918 -0400
@@ -12,7 +12,7 @@
 LOGGER.addHandler(logging.StreamHandler())
 LOGGER.setLevel(logging.INFO)
 
-def get_crt(account_key, csr, acme_dir, log=LOGGER, CA=DEFAULT_CA, disable_check=False, directory_url=DEFAULT_DIRECTORY_URL):
+def get_crt(account_key, csr, acme_dir, account_email, log=LOGGER, CA=DEFAULT_CA, disable_check=False, directory_url=DEFAULT_DIRECTORY_URL):
     directory, acct_headers, alg, jwk = None, None, None, None # global variables
 
     # helper functions - base64 encode for jose spec
@@ -107,6 +107,8 @@
     # create account and set the global key identifier
     log.info("Registering account...")
     reg_payload = {"termsOfServiceAgreed": True}
+    if account_email:
+        reg_payload["contact"] = ["mailto:"+account_email]
     account, code, acct_headers = _send_signed_request(directory['newAccount'], reg_payload, "Error registering")
     log.info("Registered!" if code == 201 else "Already registered!")
 
@@ -185,10 +187,12 @@
     parser.add_argument("--disable-check", default=False, action="store_true", help="disable checking if the challenge file is hosted correctly before telling the CA")
     parser.add_argument("--directory-url", default=DEFAULT_DIRECTORY_URL, help="certificate authority directory url, default is Let's Encrypt")
     parser.add_argument("--ca", default=DEFAULT_CA, help="DEPRECATED! USE --directory-url INSTEAD!")
+    parser.add_argument("--account-email", help="contact e-mail address")
 
     args = parser.parse_args(argv)
     LOGGER.setLevel(args.quiet or LOGGER.level)
-    signed_crt = get_crt(args.account_key, args.csr, args.acme_dir, log=LOGGER, CA=args.ca, disable_check=args.disable_check, directory_url=args.directory_url)
+    signed_crt = get_crt(args.account_key, args.csr, args.acme_dir,
+            args.account_email, log=LOGGER, CA=args.ca, disable_check=args.disable_check, directory_url=args.directory_url)
     sys.stdout.write(signed_crt)
 
 if __name__ == "__main__": # pragma: no cover