certbot renew --> AttributeError: module 'lib' has no attribute 'Cryptography_HAS_SSL_ST'

October 2, 2017 1.8k views
Apache Ubuntu 16.04

I’m trying to renew my SSL certificate on apache running on an ubuntu droplet with certbot.
I have followed this tutorial: https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04

I run sudo certbot renew and I get this message:

root@DagensSalg:~# sudo certbot renew
Traceback (most recent call last):
File “/usr/local/bin/certbot”, line 7, in <module>
from certbot.main import main
File “/usr/local/lib/python3.5/dist-packages/certbot/main.py”, line 9, in <module>
from acme import jose
File “/usr/local/lib/python3.5/dist-packages/acme/jose/init.py”, line 37, in <module>
from acme.jose.interfaces import JSONDeSerializable
File “/usr/local/lib/python3.5/dist-packages/acme/jose/interfaces.py”, line 9, in <module>
from acme.jose import util
File “/usr/local/lib/python3.5/dist-packages/acme/jose/util.py”, line 5, in <module>
import OpenSSL
File “/usr/local/lib/python3.5/dist-packages/OpenSSL/init.py”, line 8, in <module>
from OpenSSL import crypto, SSL
File “/usr/local/lib/python3.5/dist-packages/OpenSSL/SSL.py”, line 115, in <module>
if lib.CryptographyHASSSLST:
AttributeError: module ‘lib’ has no attribute 'CryptographyHASSSL_ST’

Any help is very apreciated. Best regards Kresten

1 Answer


I had a similar problem in the past and the following fixed the problem for me:

apt remove python3-openssl -y apt autoremove

Make sure that this file: /usr/local/lib/python3.5/dist-packages/OpenSSL/SSL.py was removed.

Then install the package again:

apt install python3-openssl -y

Of course, as always make sure to backup your droplet before making any changes!

Hope that this helps!

Have another answer? Share your knowledge.