def make_backup(fname):
if os.path.exists(fname):
+ os.makedirs(config['dirs']['backups'], exist_ok = True)
backupname = os.path.basename(fname) + "." + str(datetime.date.today())
i = 0
while True:
try:
# call acme-tiny as a script
acme_tiny = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'acme-tiny', 'acme_tiny.py')
- signed_crt = subprocess.check_output(["python", acme_tiny, "--quiet", "--account-key", accountkey, "--csr", csrfilename, "--acme-dir", config['acme']['challenge-dir']])
+ signed_crt = subprocess.check_output(["python3", acme_tiny, "--quiet", "--account-key", accountkey, "--csr", csrfilename, "--acme-dir", config['acme']['challenge-dir']])
# save new certificate
make_backup(certfilename)
with open(certfilename, 'wb') as f:
def check_staging(live, staging):
'''Returns 0 if nothing was done, 1 if a stage key is present but has to be kept, 2 is a stage key was unstaged.'''
- if not os.path.exists(keyfile(staging)):
+ if not (os.path.exists(keyfile(staging)) and os.path.exists(certfile(staging))):
return 0
-
+
staging_time = datetime.timedelta(hours = int(config['timing'].get('staging-hours', 0)))
key_age = datetime.datetime.now() - key_mtime(staging)
if key_age < staging_time: