Porovnanie ACME klientov a pomoc s výberom klienta pre EAB ACME
Čo je to ACME protokol a ACME klient
ACME (Automated Certificate Management Environment) je protokol, ktorý umožňuje plne automatizované vydávanie, obnovu a správu SSL/TLS certifikátov. V praxi eliminuje potrebu ručného generovania žiadostí (CSR), overovania domény aj inštalácie certifikátov, čo výrazne zjednodušuje celý proces a znižuje riziko chýb. ACME komunikuje priamo s certifikačnou autoritou a pomocou štandardizovaných výziev (napr. HTTP-01 alebo DNS-01) overuje, že žiadateľ skutočne vlastní danú doménu. Vďaka tomu možno certifikáty získať počas niekoľkých sekúnd a automaticky ich tiež pravidelne obnovovať ešte pred expiráciou.
ACME klient je nástroj alebo softvér, ktorý implementuje tento protokol na strane používateľa. Jeho úlohou je komunikovať s ACME serverom (napr. certifikačnou autoritou), generovať kľúče, riešiť validačné výzvy a inštalovať vydané certifikáty do serveru alebo infraštruktúry. Medzi známe ACME klienty patria napríklad Certbot, acme.sh alebo integrované nástroje v moderných hostingových platformách. Správne nakonfigurovaný ACME klient umožňuje plne bezobslužnú prevádzku – certifikáty sa vydávajú aj obnovujú automaticky, čo je ideálne riešenie pre škálovateľné prostredie aj bezpečnú správu webových služieb.
Prehľad funkcií ACME klientov
Všetci ACME klienti uvedení v tabuľke vedia automaticky overiť a vydať certifikát pomocou ACME, vrátane integrácie s DigiCert EAB. To je základný predpoklad pre využitie ACME klienta a ak by toto nevedel, nemá zmysel ho v prehľade uvádzať.
| Klient | Základné informácie a náročnosť | Automatizácia certifikátu | Technické parametre | Zhrnutie | |||||
|---|---|---|---|---|---|---|---|---|---|
| Operačný systém | Podpora EAB ACME | Spôsob inštalácie | Inštalácia na server | Plánovanie obnovy | Podpora DNS API | Jazyk | Testované | Vhodné pre | |
| Certbot | Linux, macOS | ✅ Áno | Balíček systému (apt / snap) | ✅ Úplná (Apache, Nginx) | ✅ Automatické (systemd timer) | 50+ (pluginy) ⚡ | Python | ÁNO | Odporúčame, linux webservery (Apache / Nginx) |
| win-acme | Windows Server | ✅ Áno | Inštalačný sprievodca (.exe) | ✅ Úplná (IIS) | ✅ Automatické (Task Scheduler) | 30+ ⚡ | C# (.NET) | ÁNO | Windows Server / IIS |
| Certify The Web | Windows | ✅ Áno | Inštalátor (.msi) | ✅ Úplná (IIS, Exchange, SQL, API) | ✅ Automatické (vlastná služba) | 100+ (vrátane lokálnych skriptov) | C# (.NET) | ÁNO | Začiatočníkov na Windows, má GUI a post-processing |
| SimpleACME (WACS) | Windows Server | ✅ ÁNO | Zip / Binárny .exe | ✅ Úplná (IIS, RDS, Exchange) | ✅ Automatické (Task Scheduler) | 40+ (vrátane Posh-ACME pluginov) ⚡ | C# (.NET) | ÁNO | Nástupca wim-acme pre Windows/IIS |
| Cert-manager | Kubernetes (Linux) | ✅ Áno | Helm chart / Manifesty | ✅ Úplná (Ingress / Gateway API) | ✅ Automatické (Controller loop) | 60+ (natívne + pluginy) | Go | NIE | Kubernetes a Cloud-native prostredia |
| acme.sh | Linux, macOS, Unix | ✅ Áno | Inštalačný skript (curl) | ⚙️ Čiastočná (deploy hook) | ✅ Automatické (cron) | 150+ (natívne) ⚡ | Shell (Bash) | ÁNO | Odporúčame, ideálne pre DNS automatizáciu a DevOps |
| Lego | Linux, macOS, Windows | ✅ Áno | Stiahnutie binárneho súboru | ⚙️ Čiastočná (deploy hook) | ⚙️ Nutné nastaviť externý scheduler | 180+ (natívne) ⚡ | Go | ÁNO | Cloud, Docker, CI/CD |
| Posh-ACME | Windows, Linux (PS Core) | ✅ Áno | PowerShell Gallery | ⚙️ Čiastočná (skripty) | ✅ Automatické (Task Scheduler) | 100+ | PowerShell | Windows automatizáciu a skriptovanie | |
| dc-acme | Linux, Windows | ✅ Áno | Inštalačný skript (curl / PS) | ⚙️ Čiastočná (Filesystem / Custom handlery) | ✅ Automatické (systémová služba) | UltraDNS, Cloudflare, Route53, Azure | Java / TOML | Enterprise prostredia (DigiCert MPKI / ONE) | |
✅ Plne automatické – všetko prebieha samo bez zásahu používateľa.
⚙️ Čiastočne automatické – vyžaduje ručné nastavenie alebo skript.
⚡ Môžete použiť DNS plugin pre CZECHIA.COM/RegZone; buď je v projekte, alebo samostatne v Githubu.
Ako vybrať správneho ACME klienta
Výber ACME klienta závisí na cieľoch, ktoré máte. Môžete chcieť certifikát iba vydať a pracovať s ním ďalej ručne či pomocou skriptov, alebo chcete na webový server nastaviť kompletnú automatizáciu životného cyklu certifikátu a už sa oň nestarať. To sú kritériá, ktoré sú dôležité pre výber.
Automatizácia celého životného cyklu certifikátu sa skladá z niekoľkých častí, ktoré musí vedieť ACME klient vyriešiť:
- Komunikácia s CA - pre OV a EV certifikáty je potrebná podpora EAB ACME zo strany klienta. Nie každý klient EAB podporuje; napr. natívna implementácia ACME v nginx EAB nevie.
- Automatické overenie domény - pri každom vydaní certifikátu musí prebehnúť overenie domény (DCV), alebo musí byť doména predoverená. Bez automatického overenia domény nebude možné v budúcnosti certifikáty vôbec vydať.
- HTTP-01: Na server sa vystaví overovací súbor a CA si ho skontroluje, používa sa port 80.
- DNS-01: Záznam pre overenie sa nastaví do DNS zóny domény. Pre zmenu DNS záznamu je potrebné mať plugin na API providera DNS (Cloudflare, CZECHIA.COM).
- Vydanie certifikátu - DV certifikáty sú vydané okamžite, pre OV a EV musí byť použitá organizácia overená, čo sa rieši predoverením. Vydaný certifikát ACME klient uloží lokálne na disk, kde už má privátny kľúč. S certifikátom je možné ďalej pracovať pomocou skriptov (deploy-hook).
- Inštalácia/Nastavenie certifikátu na server - nastavenie (inštalácia) certifikátu k správnej službe na webovom serveri. To vyžaduje manipuláciu a úpravu konfiguračných súborov + reštart služby. Inštalácia je možná typicky len u Apache, nginx a IIS webových serverov.
Nie každý ACME klient spĺňa všetky požiadavky. Preto sme urobili prehľadovú tabuľku uľahčujúcu výber.
Čo robiť, keď ACME klient nepodporuje môj server
Pre ACME klientov je typické, že vedia vydaný certifikát nastaviť na najrozšírenejšie webové servery - Apache, nginx a IIS. Väčšinou tým ich schopnosti končia. Ak potrebujete automatizovať certifikáty na serveri, ktorý nie je podporovaný ACME klientmi, je potrebné automatizáciu rozdeliť na fázu vydania a fázu nasadenia certifikátu.
Vydanie ste vždy schopní automatizovať pomocou acme.sh a DNS; certifikát si tak môžete vydať na akomkoľvek stroji a nemusíte ACME spúšťať priamo na serveri, ako to chce HTTP-01. Vydaný certifikát potom musíte dostať na cieľový server a tam ho nasadiť, čo je potrebné naskriptovať individuálne podľa konkrétneho typu webového servera.
Poradiť sa s našou podporou
Ak vám tento článok nezodpovedal všetky otázky, neváhajte sa obrátiť na našu podporu SSLmarketu. Živí odborníci sú vám k dispozícii denne.