Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_refresh_registration_for_unknown_key():
m = M('''[account]
dir = tests/support/valid
acme-server = http://127.0.0.1:4000/directory
[mgmt]''')
m.load_private_key()
assert type(m.key) is acme.jose.JWKRSA
m.init_client()
assert type(m.client) is acme.client.Client
with pytest.raises(exceptions.AccountError) as e:
m.refresh_registration()
assert 'Key is not yet registered' in str(e)
def make_client(email=None):
"""Build an acme.Client and register a new account with a random key."""
key = josepy.JWKRSA(key=rsa.generate_private_key(65537, 2048, default_backend()))
net = acme_client.ClientNetwork(key, user_agent="Boulder integration tester")
client = acme_client.Client(DIRECTORY, key=key, net=net)
account = client.register(messages.NewRegistration.from_data(email=email))
client.agree_to_tos(account)
client.account = account
return client
s3_client = boto3.client('s3', config=Config(signature_version='s3v4', region_name=s3_region))
conf = load_config(s3_client, s3_bucket, letslambda_config)
if conf == None:
LOG.critical("Cannot load letslambda configuration. Exiting.")
exit(1)
conf['region'] = os.environ['AWS_DEFAULT_REGION']
conf['s3_client'] = s3_client
conf['s3_bucket'] = s3_bucket
conf['letslambda_config'] = letslambda_config
conf['kms_key'] = kms_key
account_key = load_letsencrypt_account_key(conf)
acme_client = client.Client(conf['directory'], account_key)
for domain in conf['domains']:
if 'r53_zone' not in domain.keys():
LOG.error("Missing parameter 'r53_zone' for domain '{0}'. Skipping domain.".format(domain['name']))
continue
if 'kmsKeyArn' not in domain.keys():
domain['kmsKeyArn'] = conf['kms_key']
if 'reuse_key' not in domain.keys():
domain['reuse_key'] = True
if 'elb_port' not in domain.keys():
domain['elb_port'] = 443
if 'elb_region' not in domain.keys():
domain['elb_region'] = conf['region']
def register_new_account(conf, key):
"""
Attempt to create a new account on the ACME server
with the key. No problem if it fails because this
kye is already used.
"""
LOG.info("Registering with ACME server with the new account key")
newReg = messages.NewRegistration(contact=tuple(conf['info']), key=key.public_key())
acme_client = client.Client(conf['directory'], key)
registration_resource = acme_client.register(newReg)
LOG.info("Agreeing on the TOS on your behalf")
acme_client.agree_to_tos(registration_resource)
def acme_from_config_key(config, key):
"Wrangle ACME client construction"
# TODO: Allow for other alg types besides RS256
net = acme_client.ClientNetwork(key, verify_ssl=(not config.no_verify_ssl),
user_agent=_determine_user_agent(config))
return acme_client.Client(config.server, key=key, net=net)
def acme_from_config_key(config, key):
"Wrangle ACME client construction"
# TODO: Allow for other alg types besides RS256
net = acme_client.ClientNetwork(key, verify_ssl=(not config.no_verify_ssl),
user_agent=determine_user_agent(config))
return acme_client.Client(config.server, key=key, net=net)
def __init__(self, installer, config, no_confirm=False):
# XXX
self.acme = acme_client.Client(directory=None, key=None, alg=None)
self.installer = installer
self.config = config
self.no_confirm = no_confirm
le_util.make_or_verify_dir(config.cert_key_backup, 0o700, os.geteuid())
# TODO: Find a better solution for this...
self.list_path = os.path.join(config.cert_key_backup, "LIST")
# Make sure that the file is available for use for rest of class
open(self.list_path, "a").close()