Let's Encrypt - Renew certs

I’ve been using Let’s Encrypt for about 6 months. It’s been fine until now. My certs will expire in a week. For some reason, they’re not automatically being renewed as they did i the past. The automatic process worked fine in September.

I’m running a fully updated version 0.17 of MIAB. If I log on to the Admin web-page and go to System, TLS (SSL) Certificates and click on “Provision”, I get a pop-up box that says “Something went Wrong”.

In a console window, I was running tail -f /var/log/syslog and saw the following traceback:
Exception on /ssl/provision [POST]#012Traceback (most recent call last):#012
File “/usr/local/lib/python3.4/dist-packages/acme/messages.py”, line 167, in from_json#012 return cls(jobj)#012
File “/usr/local/lib/python3.4/dist-packages/acme/messages.py”, line 144, in init#012 raise ValueError(‘Wrong directory fields’)#012ValueError: Wrong directory fields#012#012During handling of the above exception, another exception occurred:#012#012Traceback (most recent call last):#012 File “/usr/lib/python3/dist-packages/flask/app.py”, line 1817, in wsgi_app#012 response = self.full_dispatch_request()#012
File “/usr/lib/python3/dist-packages/flask/app.py”, line 1477, in full_dispatch_request#012 rv = self.handle_user_exception(e)#012
File “/usr/lib/python3/dist-packages/flask/app.py”, line 1381, in handle_user_exception#012 reraise(exc_type, exc_value, tb)#012
File “/usr/lib/python3/dist-packages/flask/_compat.py”, line 33, in reraise#012 raise value#012
File “/usr/lib/python3/dist-packages/flask/app.py”, line 1475, in full_dispatch_request#012 rv = self.dispatch_request()#012
File “/usr/lib/python3/dist-packages/flask/app.py”, line 1461, in dispatch_request#012 return self.view_functionsrule.endpoint#012
File “/usr/local/bin/mailinabox-daemon”, line 57, in newview#012 return viewfunc(*args, **kwargs)#012
File “/usr/local/bin/mailinabox-daemon”, line 383, in ssl_provision_certs#012 jsonable=True)#012 File “/root/mailinabox/management/ssl_certificates.py”, line 323, in provision_certificates#012 logger=my_logger)#012
File “/usr/local/lib/python3.4/dist-packages/free_tls_certificates/client.py”, line 71, in issue_certificate#012 acme_server=acme_server)#012
File “/usr/local/lib/python3.4/dist-packages/free_tls_certificates/client.py”, line 258, in create_client#012 client = acme.client.Client(acme_server, key)#012
File “/usr/local/lib/python3.4/dist-packages/acme/client.py”, line 63, in init#012 self.net.get(directory).json())#012
File “/usr/local/lib/python3.4/dist-packages/acme/messages.py”, line 169, in from_json#012 raise jose.DeserializationError(str(error))#012acme.jose.errors.DeserializationError: Deserialization error: Wrong directory fields

Any ideas would be appreciated.

I have exactly the same problem and error.

Yesterday I decided to upgrade MIAB to the v0.21b (the current version). I ssh’ed to by server and ran: curl -s https://mailinabox.email/setup.sh | sudo bash

I backed up my mail first, just in case… The upgrade took about 10 munutes and worked flawlessly. Afterwards from my firefox browser, I logged into the Admin account and went to the TLS (SSL) Certificates page, clicked on the blue “Provision” button and the Let’s Encrypt certs were renewed.

Apparently, the upgrade fixed the python scripts. All is good now.