TLS certificates in SMEs: a simple system so none of them expires on a Friday night

· 7 min read · SilverData team

A TLS certificate is one of those things nobody in the company thinks about — until it expires. Then within an hour the shop, the customer portal, the browser login to the ERP and half the integrations everyone had forgotten about all go down. It's worth having a system for this before the system takes revenge.

We saw it up close at a 30-person metal-fabrication manufacturer: the B2B portal customers used to place orders had an SSL certificate expiring at 23:00 on a Sunday. Nobody got an alert (because the alerts went to a former admin's email), and on Monday at 8:00 customers saw "Your connection is not private" instead of the order form. Four hours of paralysis, a dozen or so lost orders, roughly 60,000 PLN of revenue to claw back. The technical fix took 20 minutes. Restoring trust with a few large customers took months.

This text is about how a 10–50 person company can organise certificate management so this doesn't repeat. No enterprise PKI, no expensive tooling. A few habits and one spreadsheet are enough.

Start with an inventory — you have more certificates than you think

The first question nobody in a typical company can answer: "how many active TLS certificates do we have right now, and where are they?". "The one on the main website" rarely covers it. In practice, in an SME you'll find certificates in at least these places:

Do a simple spreadsheet — Excel or Google Sheets. Columns: name (FQDN), where installed (server/device), issuer, expiry date, business owner (not IT — the person who confirms "yes, this portal is critical"), where the private key lives, when it was last renewed. This sheet has two functions: it tells you what you have, and it exposes what you'd forgotten. The first pass at a client typically uncovers 2–3 certificates nobody knew about.

Separate "automated" from "manual"

For most external certificates (site, portal, shop) the best answer is ACME — usually Let's Encrypt — with automatic renewal every 60–75 days. The certificate lasts 90 days, the client (certbot, acme.sh, the web server's built-in mechanism) renews it with no human involved. If the automation works, it never expires. If it doesn't, you find out from an alert, not from a customer's phone call.

There are still situations where you're stuck renewing manually once a year:

For these "manual" ones you need a procedure, because nothing will remind you on its own.

Alerts at 60, 30, 14, 7 and 1 day

Don't rely on the issuer (Let's Encrypt, DigiCert, Sectigo) to remind you. Yes, they send emails — but often to an admin who left two years ago, or with subject lines that look like spam. Run your own monitoring that regularly checks a dozen public domains and alerts a shared channel (the whole IT team's mailbox, a Teams/Slack channel — not one person's inbox).

A practical set of alert thresholds that works well in an SME:

To check public TLS certificates you only need a small cron script that runs openssl s_client and reads notAfter, or free tools like Uptime Kuma with a TLS module. You don't need to buy a 20 000-a-year platform. The important part is that alerts go to a team channel, not one mailbox.

Private keys — where they live and who has access

The certificate is half the story. The private key is the other half. If the key leaks, the certificate has to be revoked and reissued — ideally yesterday. In SMEs private keys most often live in three places: directly on the production server, in the configuration repository (sometimes, unfortunately, in git unencrypted) and "just in case" in a folder named old_certs on the network share.

Rules worth holding to:

This sounds like obvious hygiene. It isn't. In practice we still find .pem files with private keys inside PowerPoint onboarding decks and in email attachments from five years ago.

Wildcard, SAN and internal CAs

Two technical choices worth making deliberately, not by momentum:

What next

Start with four questions:

If any answer sounds like "I'm not sure" — treat it as an invitation to do the inventory this week. A one-hour meeting with one person from IT is enough for a first draft. If you need help standing up the monitoring and renewal procedure, we help SMEs with this regularly. The first call is free and takes half an hour.

The certificate nobody remembers always expires on a Friday night. Never on Wednesday at 10:00.

← Back to blog