Projekt
Centrální server pro správu a distribuci TLS certifikátů — vydávání přes ACME, token-based pull distribuce s IP omezením a automatická obnova certifikátů přes systemd timer.
CertHub vznikl jako náhrada za ruční správu TLS certifikátů roztroušených po desítkách serverů a síťových zařízení v organizaci. Místo individuálního prodlužování na každém stroji se veškerá logika vydávání a obnovy certifikátů soustřeďuje na jednom místě. Certifikáty jsou vydávány přes ACME protokol (u certifikační autority, kde není potřeba DNS/HTTP challenge, domény jsou předregistrovány v portálu).
Distribuce funguje na pull principu: každý server nebo zařízení dostane unikátní token URL a stahuje si certifikát sám v pravidelném intervalu. Pro zařízení, která pull neumožňují (Cisco ASA, Fortigate, IronPort), je připraven push model přes REST API, případně SSH CLI. Token lze omezit na konkrétní IP adresy nebo CIDR rozsahy, takže k soukromému klíči má přístup pouze oprávněný stroj.
Klientský skript nejprve porovná SHA-256 fingerprint lokálního certifikátu s fingerprintem na CertHub serveru. Reload služby (Apache, nginx, postfix…) proběhne jen tehdy, pokud se certifikát skutečně změnil — zbytečné výpadky jsou tím eliminovány.
Každá doména má vlastní ACME účet s dedikovanými EAB credentials.
Každý server dostane unikátní UUID token. Endpoint /dl/{token}/{soubor} vrátí cert.pem, privkey.pem, cert.pfx nebo fingerprint.
Ke každému tokenu lze přiřadit seznam povolených IP adres nebo CIDR rozsahů. Požadavek z nepovolené adresy dostane 403 — privátní klíč se nedostane ke třetí straně.
Server vrací SHA-256 fingerprint certifikátu jako ETag. Klient porovná fingerprint před restartem služby — reload proběhne jen při skutečné změně, 304 Not Modified jinak.
Linux a Synology stahují PEM soubory, Windows servery dostávají zaheslovaný PKCS#12 (PFX) generovaný on-the-fly. Heslo k PFX je uloženo šifrovaně u tokenu.
Zařízení bez HTTP klienta (Cisco ASA, Fortigate, IronPort) jsou obsluhována push modelem přes REST API nebo SSH CLI — CertHub sám nahraje nový certifikát po obnově.