Srovnání ACME klientů a pomoc s výběrem klienta pro EAB ACME
Co je to ACME protokol a ACME klient
ACME (Automated Certificate Management Environment) je protokol, který umožňuje plně automatizované vydávání, obnovu a správu SSL/TLS certifikátů. V praxi eliminuje potřebu ručního generování žádostí (CSR), ověřování domény i instalace certifikátů, což výrazně zjednodušuje celý proces a snižuje riziko chyb. ACME komunikuje přímo s certifikační autoritou a pomocí standardizovaných výzev (např. HTTP-01 nebo DNS-01) ověřuje, že žadatel skutečně vlastní danou doménu. Díky tomu lze certifikáty získat během několika sekund a automaticky je také pravidelně obnovovat ještě před expirací.
ACME klient je nástroj nebo software, který implementuje tento protokol na straně uživatele. Jeho úkolem je komunikovat s ACME serverem (např. certifikační autoritou), generovat klíče, řešit validační výzvy a instalovat vydané certifikáty do serveru nebo infrastruktury. Mezi známé ACME klienty patří například Certbot, acme.sh nebo integrované nástroje v moderních hostingových platformách. Správně nakonfigurovaný ACME klient umožňuje plně bezobslužný provoz – certifikáty se vydávají i obnovují automaticky, což je ideální řešení pro škálovatelné prostředí i bezpečnou správu webových služeb.
Přehled funkcí ACME klientů
Všichni ACME klienti uvedení v tabulce umí automaticky ověřit a vydat certifikát pomocí ACME, včetně integrace s DigiCert EAB. To je základní předpoklad pro využití ACME klienta a pokud by toto neuměl, nemá smysl ho v přehledu uvádět.
| Klient | Základní informace a náročnost | Automatizace certifikátu | Technické parametry | Shrnutí | |||||
|---|---|---|---|---|---|---|---|---|---|
| Operační systém | Podpora EAB ACME | Způsob instalace | Instalace na server | Plánování obnovy | Podpora DNS API | Jazyk | Testováno | Vhodné pro | |
| Certbot | Linux, macOS | ✅ Ano | Balíček systému (apt / snap) | ✅ Úplná (Apache, Nginx) | ✅ Automatické (systemd timer) | 50+ (pluginy) ⚡ | Python | ANO | Doporučujeme, linux webservery (Apache / Nginx) |
| win-acme | Windows Server | ✅ Ano | Instalační průvodce (.exe) | ✅ Úplná (IIS) | ✅ Automatické (Task Scheduler) | 30+ ⚡ | C# (.NET) | ANO | Windows Server / IIS |
| Certify The Web | Windows | ✅ Ano | Instalátor (.msi) | ✅ Úplná (IIS, Exchange, SQL, API) | ✅ Automatické (vlastní služba) | 100+ (včetně lokálních skriptů) | C# (.NET) | ANO | Začátečníky na Windows, má GUI a post-processing |
| SimpleACME (WACS) | Windows Server | ✅ ANO | Zip / Binární .exe | ✅ Úplná (IIS, RDS, Exchange) | ✅ Automatické (Task Scheduler) | 40+ (vč. Posh-ACME pluginů) ⚡ | C# (.NET) | ANO | Nástupce wim-acme pro Windows/IIS |
| Cert-manager | Kubernetes (Linux) | ✅ Ano | Helm chart / Manifesty | ✅ Úplná (Ingress / Gateway API) | ✅ Automatické (Controller loop) | 60+ (nativně + pluginy) | Go | NE | Kubernetes a Cloud-native prostředí |
| acme.sh | Linux, macOS, Unix | ✅ Ano | Instalační skript (curl) | ⚙️ Částečná (deploy hook) | ✅ Automatické (cron) | 150+ (nativně) ⚡ | Shell (Bash) | ANO | Doporučujeme, ideální pro DNS automatizaci a DevOps |
| Lego | Linux, macOS, Windows | ✅ Ano | Stažení binárního souboru | ⚙️ Částečná (deploy hook) | ⚙️ Nutno nastavit externí scheduler | 180+ (nativně) ⚡ | Go | ANO | Cloud, Docker, CI/CD |
| Posh-ACME | Windows, Linux (PS Core) | ✅ Ano | PowerShell Gallery | ⚙️ Částečná (skripty) | ✅ Automatické (Task Scheduler) | 100+ | PowerShell | Windows automatizaci a skriptování | |
| dc-acme | Linux, Windows | ✅ Ano | Instalační skript (curl / PS) | ⚙️ Částečná (Filesystem / Custom handlery) | ✅ Automatické (systémová služba) | UltraDNS, Cloudflare, Route53, Azure | Java / TOML | Enterprise prostředí (DigiCert MPKI / ONE) | |
✅ Plně automatické – vše probíhá samo bez zásahu uživatele.
⚙️ Částečně automatické – vyžaduje ruční nastavení nebo skript.
⚡ Můžete použít DNS plugin pro CZECHIA.COM/RegZone; buď je v projektu, nebo samostatně v Githubu.
Jak vybrat správného ACME klienta
Výběr ACME klienta záleží na cílech, které máte. Můžete chtít certifikát pouze vydat a pracovat s ním dále ručně či pomocí skriptů, nebo chcete na webový server nastavit kompletní automatizaci životního cyklu certifikátu a už se o něj nestarat. To jsou kritéria, která jsou důležitá pro výběr.
Automatizace celého životního cyklu certifikátu se skládá z několika částí, které musí umět ACME klient vyřešit:
- Komunikace s CA - pro OV a EV certifikáty je nutná podpora EAB ACME ze strany klienta. Ne každý klient EAB podporuje; např. nativní implementace ACME v nginx EAB neumí.
- Automatické ověření domény - u každého vydání certifikátu musí proběhnout ověření domény (DCV), nebo musí být doména předověřena. Bez automatického ověření domény nebude možné v budoucnu certifikáty vůbec vydat.
- HTTP-01: Na server se vystaví ověřovací soubor a CA si ho zkontroluje, používá se port 80.
- DNS-01: Záznam pro ověření se nastaví do DNS zóny domény. Pro změnu DNS záznamu je potřeba mít plugin na API providera DNS (Cloudflare, CZECHIA.COM).
- Vydání certifikátu - DV certifikáty jsou vydány okamžitě, pro OV a EV musí být použitá organizace ověřena, což se řeší předověřením. Vydaný certifikát ACME klient uloží lokálně na disk, kde už má privátní klíč. S certifikátem je možné dále pracovat pomocí skriptů (deploy-hook).
- Instalace/Nastavení certifikátu na server - nastavení (instalace) certifikátu ke správné službě na webovém serveru. To vyžaduje manipulaci a úpravu konfiguračních souborů + restart služby. Instalace je možná typicky jen u Apache, nginx a IIS webových serverů.
Ne každý ACME klient splňuje všechny požadavky. Proto jsme udělali přehledovou tabulku ulehčující výběr.
Co dělat, když ACME klient nepodporuje můj server
Pro ACME klienty je typické, že umí vydaný certifikát nastavit na nejrozšířenější webové servery - Apache, nginx a IIS. Většinou tím jejich schopnosti končí. Pokud potřebujete automatizovat certifikáty na serveru, který není podporován ACME klienty, je potřeba automatizaci rozdělit na fázi vydání a fázi nasazení certifikátu.
Vydání jste vždy schopni automatizovat pomocí acme.sh a DNS; certifikát si tak můžete vydat na jakémkoliv stroji a nemusíte ACME spouštět přímo na serveru, jako to chce HTTP-01. Vydaný certifikát pak musíte dostat na cílový server a tam ho nasadit, což je potřeba naskriptovat individuálně dle konkrétního typu webového serveru.
Poraďte se s naší podporou
Pokud vám tento článek nezodpověděl všechny otázky, neváhejte se obrátit na naši podporu SSLmarketu. Živí odborníci jsou vám k dispozici denně.