SSLmentor

Kvalitné TLS/SSL certifikáty pre webové stránky a internetové projekty.

ACME

ACME

ACME

Protokol ACME (Automatic Certificate Management Environment) je otvorený internetový štandard, ktorý umožňuje plne automatizované vydávanie, obnovu a zrušenie SSL certifikátov. Vďaka ACME si webové servery môžu certifikáty vyžiadať samy a automaticky ich obnovovať bez ručného zásahu administrátora. Implementácie ACME klientov automatizujú a výrazne zjednodušujú správu certifikátov v čase, keď nové štandardy postupne skracujú platnosť SSL/TLS certifikátov na maximálne 47 dní do roku 2029.

Čo je protokol ACME?

ACME je protokol definovaný v RFC 8555 (publikovaný v roku 2019), ktorý štandardizuje komunikáciu medzi klientom (webovým serverom alebo nástrojom na správu certifikátov) a certifikačnou autoritou (CA). Pôvodne ho navrhla a spopularizovala certifikačná autorita Let's Encrypt, ktorá cez ACME vydáva bezplatné DV certifikáty.

Protokol funguje na princípe výzva – odpoveď: klient certifikačnej autorite (CA) preukáže, že skutočne ovláda doménu, pre ktorú certifikát žiada. Po úspešnom overení CA certifikát automaticky vydá. Celý proces trvá veľmi krátko.

Skratka ACME znamená Automatic Certificate Management Environment.

Ako ACME funguje?

Komunikácia medzi ACME klientom a certifikačnou autoritou (CA) prebieha výhradne cez HTTP REST API. Klient a CA si vymieňajú správy vo formáte JSON. Celý proces možno zhrnúť do nasledujúcich krokov.

  • Aktivácia účtu – ACME klient sa pripojí k CA pomocou EAB prihlasovacích údajov (external account binding). Odošle Key identifier (KID) a HMAC kľúč.
  • Žiadosť o certifikát (Order) – Klient odošle CA zoznam domén, pre ktoré žiada certifikát. CA vráti zoznam výziev, ktoré musí klient splniť pre každú doménu.
  • Splnenie výzvy (Challenge) – Klient si zvolí jeden z ponúkaných typov výziev (HTTP-01, DNS-01, TLS-ALPN-01) a vykoná požadovanú akciu – umiestni token na server alebo nastaví DNS záznam.
  • Overenie zo strany CA – CA automaticky overí, či bola výzva splnená (navštívi URL, overí DNS záznam a pod.). Úspešné overenie potvrdí autorizáciu domény.
  • Vydanie certifikátu – Klient odošle žiadosť o certifikát (CSR). CA certifikát podpíše a odošle ho späť klientovi vo formáte PEM.
  • Automatická obnova – ACME klient si vo svojej konfigurácii nastaví pravidelnú obnovu. Certifikát sa zvyčajne obnovuje dostatočne pred vypršaním platnosti, aby sa predišlo výpadku HTTPS.

Typy ACME výziev

Aby certifikačná autorita (CA) overila, že žiadateľ skutočne ovláda doménu, protokol ACME ponúka tri štandardizované typy výziev:

HTTP-01

ACME klient umiestni na webový server špeciálny súbor (token) do adresára /.well-known/acme-challenge/. CA potom overí jeho dostupnosť cez HTTP na porte 80. Ide o najčastejšie používanú metódu overenia.

Obmedzenia: Nefunguje pre WildCard certifikáty. Doména musí byť verejne dostupná na porte 80.

DNS-01

Klient vytvorí v DNS domény špeciálny TXT záznam v tvare _acme-challenge.domenaxyz.cz s jedinečným tokenom od CA. CA záznam overí cez DNS. Táto metóda overenia umožňuje získať WildCard certifikát.

Obmedzenia: Vyžaduje prístup k DNS záznamom domény. Môže byť pomalšia kvôli propagácii DNS zmien.

TLS-ALPN-01

Overenie prebieha cez TLS na porte 443 pomocou rozšírenia ALPN (Application-Layer Protocol Negotiation). Klient dočasne sprístupní špeciálny certifikát s ACME tokenom.

Obmedzenia: Pre niektoré hostingové prostredia môže byť komplikované.

ACME klienti – prehľad nástrojov

Na prácu s protokolom ACME existuje široká škála hotových nástrojov.

Certbot

Najpopulárnejší ACME klient od EFF.org. Automatická integrácia s Apache a Nginx. Podpora pre Linux a macOS. Certbot je široko používaný a dobre zdokumentovaný nástroj, ktorý ponúka jednoduché príkazy na získanie a obnovu certifikátov. Má tiež rozsiahlu podporu pre rôzne webové servery a hostingové prostredia.

acme.sh

Minimalistický ACME klient napísaný v shelli s podporou viac ako 150 DNS poskytovateľov. Linux, macOS, FreeBSD. acme.sh sa zameriava na jednoduchosť a širokú kompatibilitu.

win-acme

ACME klient pre Windows s integráciou IIS. Podporuje GUI aj príkazový riadok. win-acme je ideálny na správu certifikátov na Windows serveroch, najmä s IIS.

Lego

ACME klient napísaný v jazyku Go. Vhodný na vlastnú integráciu a skriptovanie. Lego je flexibilný ACME klient, ktorý možno vďaka implementácii v jazyku Go ľahko integrovať do vlastných systémov a skriptov.

Späť na Nápovedu
Našli ste chybu alebo niečomu nerozumiete? Napíšte nám!

CA Sectigo
CA RapidSSL
CA Thawte
CA GeoTrust
CA DigiCert
CA Certum