SSLmentor

Kvalitetni TLS/SSL sertifikati za veb stranice i internet projekte.

ACME

ACME

ACME

Protokol ACME (Automatic Certificate Management Environment) je otvoreni internet standard koji omogućava potpuno automatizovano izdavanje, obnavljanje i opoziv SSL sertifikata. Zahvaljujući ACME, veb serveri mogu sami da zatraže sertifikate i automatski ih obnavljaju bez ručne intervencije administratora. Implementacije ACME klijenata automatizuju i značajno pojednostavljuju upravljanje sertifikatima u vreme kada novi standardi postepeno skraćuju važenje SSL/TLS sertifikata na najviše 47 dana do 2029. godine.

Šta je ACME protokol?

ACME je protokol definisan u RFC 8555 (objavljen 2019.), koji standardizuje komunikaciju između klijenta (veb servera ili alata za upravljanje sertifikatima) i sertifikacionog tela (CA). Prvobitno ga je osmislilo i popularizovalo sertifikaciono telo Let's Encrypt, koje izdaje besplatne DV sertifikate putem ACME.

Protokol radi po principu izazov – odgovor: klijent dokazuje sertifikacionom telu (CA) da zaista kontroliše domen za koji traži sertifikat. Nakon uspešne provere, CA automatski izdaje sertifikat. Ceo proces traje veoma kratko.

Skraćenica ACME označava Automatic Certificate Management Environment.

Kako ACME funkcioniše?

Komunikacija između ACME klijenta i sertifikacionog tela (CA) odvija se isključivo putem HTTP REST API. Klijent i CA razmenjuju poruke u JSON formatu. Ceo proces se može sažeti u sledeće korake.

  • Aktivacija naloga – ACME klijent se povezuje sa CA pomoću EAB akreditiva (external account binding). Šalje Key identifier (KID) i HMAC ključ.
  • Zahtev za sertifikat (Order) – Klijent šalje CA listu domena za koje traži sertifikat. CA vraća listu izazova koje klijent mora da ispuni za svaki domen.
  • Ispunjavanje izazova (Challenge) – Klijent bira jedan od ponuđenih tipova izazova (HTTP-01, DNS-01, TLS-ALPN-01) i izvršava potrebnu akciju – postavlja token na server ili podešava DNS zapis.
  • Provera od strane CA – CA automatski proverava da li je izazov ispunjen (posećuje URL, proverava DNS zapis itd.). Uspešna provera potvrđuje autorizaciju domena.
  • Izdavanje sertifikata – Klijent šalje zahtev za sertifikat (CSR). CA potpisuje sertifikat i vraća ga klijentu u PEM formatu.
  • Automatsko obnavljanje – ACME klijent podešava redovno obnavljanje u svojoj konfiguraciji. Sertifikat se obično obnavlja dovoljno rano pre isteka kako bi se sprečio prekid rada HTTPS-a.

Tipovi ACME izazova

Da bi sertifikaciono telo (CA) proverilo da podnosilac zahteva zaista kontroliše domen, ACME protokol nudi tri standardizovana tipa izazova:

HTTP-01

ACME klijent postavlja poseban fajl (token) na veb server u direktorijum /.well-known/acme-challenge/. CA zatim proverava njegovu dostupnost putem HTTP na portu 80. Ovo je najčešće korišćena metoda provere.

Ograničenja: Ne radi za WildCard sertifikate. Domen mora biti javno dostupan na portu 80.

DNS-01

Klijent kreira poseban TXT zapis u DNS-u domena u obliku _acme-challenge.domenaxyz.cz sa jedinstvenim tokenom od CA. CA proverava zapis putem DNS-a. Ova metoda provere omogućava dobijanje WildCard sertifikata.

Ograničenja: Zahteva pristup DNS zapisima domena. Može biti sporija zbog propagacije DNS promena.

TLS-ALPN-01

Provera se odvija putem TLS na portu 443 pomoću ALPN (Application-Layer Protocol Negotiation) ekstenzije. Klijent privremeno stavlja na raspolaganje poseban sertifikat sa ACME tokenom.

Ograničenja: Može biti komplikovano za neka hosting okruženja.

ACME klijenti – pregled alata

Postoji širok spektar gotovih alata za rad sa ACME protokolom.

Certbot

Najpopularniji ACME klijent od EFF.org. Automatska integracija sa Apache i Nginx. Podrška za Linux i macOS. Certbot je široko korišćen i dobro dokumentovan alat koji nudi jednostavne komande za dobijanje i obnavljanje sertifikata. Takođe ima opsežnu podršku za razne veb servere i hosting okruženja.

acme.sh

Minimalistički ACME klijent napisan u shell-u sa podrškom za preko 150 DNS provajdera. Linux, macOS, FreeBSD. acme.sh se fokusira na jednostavnost i široku kompatibilnost.

win-acme

ACME klijent za Windows sa IIS integracijom. Podržava i GUI i komandnu liniju. win-acme je idealan za upravljanje sertifikatima na Windows serverima, posebno sa IIS.

Lego

ACME klijent napisan u Go. Pogodan za prilagođenu integraciju i skriptovanje. Lego je fleksibilan ACME klijent koji se lako može integrisati u prilagođene sisteme i skripte zahvaljujući svojoj implementaciji u Go jeziku.

Nazad na Pomoć
Pronašli ste grešku ili vam nešto nije jasno? Pišite nam!

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