Getting certbot renewal to work on Mac 10.13

Please fill out the fields below so we can help you better. Note: you must provide your domain name to get help. Domain names for issued certificates are all made public in Certificate Transparency logs (e.g. crt.sh | example.com), so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.

My domain is: https://slidespecs.berkeley.edu/

I ran this command: sudo certbot renew -v

It produced this output: Saving debug log to /var/log/letsencrypt/letsencrypt.log


Processing /etc/letsencrypt/renewal/slidespecs.berkeley.edu.conf


Certificate is due for renewal, auto-renewing...
Plugins selected: Authenticator nginx, Installer nginx
Failed to renew certificate slidespecs.berkeley.edu with error: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available."))


All renewals failed. The following certificates could not be renewed:
/etc/letsencrypt/live/slidespecs.berkeley.edu/fullchain.pem (failure)


1 renew failure(s), 0 parse failure(s)
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.

My web server is (include version): nginx version: nginx/1.23.3

The operating system my web server runs on is (include version):
Mac OS X
10.13.6
17G14042

My hosting provider, if applicable, is:

I can login to a root shell on my machine (yes or no, or I don't know): yes

I'm using a control panel to manage my site (no, or provide the name and version of the control panel): no

The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot): certbot 1.22.0

Context:
Previous SSL setup worked great for 3ish years. Recently had issue with certbot stopping because it was too out of date, so I updated it but now am getting this SSL module issue. I've read that updating the OS would potentially fix this, though I can't update the OS of the machine because Apple won't let me install newer versions onto this hardware, I've tried updating past this OS but whenever I try to upgrade the image. So, I need to get certbot (or a different tool) working on this older OS.

I'm not sure how realistic it is. The "happy path" is to install things from Homebrew, but Homebrew does not support macOS High Sierra anymore.

I suspect you'd have similar problems trying to use an alternate client such as acme.sh, since you'd probably need a newer OpenSSL version than what you have available, which you'd probably want to get from Homebrew as well.

You could try the darwin_amd64 build of lego. It should support macOS 10.13+.

3 Likes

Can you make the latest version of OpenSSL [from source]?

3 Likes

I know Apple has (does?) use https://www.libressl.org/ and macOS is listed here LibreSSL: Releases
LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes.

2 Likes

I'm not a MacPerson, but that OS sounds very (out)dated.

My gut feeling was right:
image

3 Likes

Unfortunately the most appropriate answer to "How can I get this old OS to still work on the internet" is "Don't".

I know it's obvious and easy for others to say, but why are you using such an old OS? If it's just that you only have an old mac to run it on you might want to look at one of the dosdude1 patchers for macos.

Really though, assuming this runs on your organizations infrastructure it's a monumental risk to expose an old unpatched OS to the internet. You can get a new linux VM from $3.50 a month from vendors like AWS Lightsail and if your service is worth running it's probably also worth a couple of bucks. You may even be able to find free ways to host depending on the tech it uses.

3 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.