Letsencrypt issue

root@box:~/mailinabox/management# ./ssl_certificates.py -v

Reading account key from /home/user-data/ssl/lets_encrypt/account.pem.
Validating existing account saved to /home/user-data/ssl/lets_encrypt/registration.json.
Reusing existing challenges for xd.
The challenges for xd have been accepted.
Reusing existing challenges for xd.
The challenges for xd have been accepted.
Reusing existing challenges for xd.
The challenges for xd have been accepted.
Reusing existing challenges for xd.
The challenges for xd have been accepted.
Reusing existing challenges for xd.
The challenges for xd have been accepted.
Generating a new certificate signing request.
Requesting a certificate.
Traceback (most recent call last):
File “./ssl_certificates.py”, line 807, in
provision_certificates_cmdline()
File “./ssl_certificates.py”, line 450, in provision_certificates_cmdline
status = provision_certificates(env, agree_to_tos_url=agree_to_tos_url, logger=my_logger, force_domains=force_domains, show_extended_problems=show_extended_problems)
File “./ssl_certificates.py”, line 337, in provision_certificates
logger=my_logger)
File “/usr/local/lib/python3.4/dist-packages/free_tls_certificates/client.py”, line 76, in issue_certificate
(cert_pem, chain) = request_certificate_issuance(client, challenges, csr, logger)
File “/usr/local/lib/python3.4/dist-packages/free_tls_certificates/client.py”, line 210, in request_certificate_issuance
cert_pem = cert_to_pem(cert_response.body)
File “/usr/local/lib/python3.4/dist-packages/free_tls_certificates/client.py”, line 217, in cert_to_pem
return OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)
TypeError: must be X509, not ComparableX509

Not sure on this one the provision also is broke in the panel

Simple fix my bad rm-rf /home/user-data/ssl/lets-encrypt/

I still have this error. Even after removing the lets-encrypt folder…

Traceback (most recent call last): File "./ssl_certificates.py", line 807, in <module> provision_certificates_cmdline() File "./ssl_certificates.py", line 450, in provision_certificates_cmdline status = provision_certificates(env, agree_to_tos_url=agree_to_tos_url, logger=my_logger, force_domains=force_domains, show_extended_problems=show_extended_problems) File "./ssl_certificates.py", line 337, in provision_certificates logger=my_logger) File "/usr/local/lib/python3.4/dist-packages/free_tls_certificates/client.py", line 76, in issue_certificate (cert_pem, chain) = request_certificate_issuance(client, challenges, csr, logger) File "/usr/local/lib/python3.4/dist-packages/free_tls_certificates/client.py", line 210, in request_certificate_issuance cert_pem = cert_to_pem(cert_response.body) File "/usr/local/lib/python3.4/dist-packages/free_tls_certificates/client.py", line 217, in cert_to_pem return OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, cert) TypeError: must be X509, not ComparableX509

The pip freeze command that’s used in other topics gives:

root@box:~/mailinabox/management# pip3 freeze | egrep "cryptography|pyOpenSSL|free-tls" cryptography==1.7.2 free-tls-certificates==0.1.6 pyOpenSSL==16.2.0

Help: My letsencrpyt is broken.
The certrificates were not updated with the same TypeError: must be X509, not ComarableX509.

The box was running 21b at that time,
Updating to 21c did not fix the problem.

After running ~/mailinabox/managemen/ssl_certificates.py I still got the same error message.

Deleting letsencrypt folder: no change, same error.

Deleting ssl folder:
Now I get the message “Something unexpected went wrong: Error creating new cert :: Too many certificates already issued …”

Well, I did not get any new certicate, so this message does not make sense to me.

So the recent status is:
*) no updates of letsencrypt certificates possible
*) the box has expired certificates
*) self signed certificates are not allowed
*) firexfox, chrome and thunderbird can’t access the box anoymore!!!
My calender is no longer synchronized!
The only browser that accepts expired certificates is edge.

I haven’t done any harm to the software and I did not expect mail-in-a-box to
blow my mailserver. At the moment it’s almost unusable.

Yeah its fine, give it 5-7 days. LetsEncrypt only assign so many certificates per 5or7 days. mailinabox has got the certs and failed to install them. Just wait i’m at the same issue. The issue should auto fix itself

Traceback (most recent call last):
  File "./ssl_certificates.py", line 807, in <module>
    provision_certificates_cmdline()
  File "./ssl_certificates.py", line 450, in provision_certificates_cmdline
    status = provision_certificates(env, agree_to_tos_url=agree_to_tos_url, logger=my_logger, force_domains=force_domains, show_extended_problems=show_extended_problems)
  File "./ssl_certificates.py", line 337, in provision_certificates
    logger=my_logger)
  File "/usr/local/lib/python3.4/dist-packages/free_tls_certificates/client.py", line 76, in issue_certificate
    (cert_pem, chain) = request_certificate_issuance(client, challenges, csr, logger)
  File "/usr/local/lib/python3.4/dist-packages/free_tls_certificates/client.py", line 210, in request_certificate_issuance
    cert_pem = cert_to_pem(cert_response.body)
  File "/usr/local/lib/python3.4/dist-packages/free_tls_certificates/client.py", line 217, in cert_to_pem
    return OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)
TypeError: must be X509, not ComparableX509
Exception ignored in: <bound method ClientNetwork.__del__ of <acme.client.ClientNetwork object at 0xb69659ac>>
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/acme/client.py", line 534, in __del__
    self.session.close()
  File "/usr/local/lib/python3.4/dist-packages/requests/sessions.py", line 689, in close
    for v in self.adapters.values():
  File "/usr/lib/python3.4/_collections_abc.py", line 512, in __iter__
    for key in self._mapping:
  File "/usr/lib/python3.4/collections/__init__.py", line 91, in __iter__
    curr = root.next
ReferenceError: weakly-referenced object no longer exists

Ummm I can’t access my admin panel because of HSTS now? I have tried everything

Same with me!!
I waited for 7 days, until I did not receive a error mail message from box anymore.
However; the certificates are NOT renewd.

Okay, I removed the ./user-data/ssl folder again, restarted the installation,
opened the admin-webapge (via edge-browser, the only one, which accepts wrong, broken, missing, strange vertificates),
and tried to get new letsencrypt certiciates.

The respones of the web page: “Somethiog went wrong”.
Not very helpful message.
My mail-in-a-box was broken by the mail-in-a-box software and is not working for more then 8 days.
I have no idea, what to do now.

Same big problem here, no one of mentioned fixes worked for me, can access box only by it’s IP address

Could be a problem of pyOpenSSL.
"…TypeError: must be X509, not ComparableX509"

I removed pyOpenSSL

sudo pip3 uninstall pyOpenSSL

and then tried to reinstall it. But this failed, the box still found an old version.
So I repeated the uninstall command to remove the older version, too.
Then I was able to reinstall pyOpenSSL

sudo pip3 install pyOpenSSL

I hope, this fixed the box. Tommorrow (after a second time of 7 days of suffering) it will be allowed to get new certificates from letsencrypt.

1 Like

For now i ended up buying commercial certificate. Waiting for a fix :slight_smile:

When I try to manually do it, it says Something unexpected went wrong: Error creating new cert :: Too many certificates already issued for exact set of domains: x.x.lv

@aschrimpf

thank you so much!

your posting solve my issue and I guess this will solve most issue with lets encrypt!

( see here my issue https://github.com/mail-in-a-box/mailinabox/issues/1101#issuecomment-281026627 )

@urbels

that is because the issued certificated was not saved and the box will reissue every night a certificate and run into rate limits of lets encrypt.

Add a subdomain for mail for a few days and it will work!