--- 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