Protokol ACME

Certman podporuje protokol Automatic Certificate Management Environment (ACME) (RFC 8555), který umožňuje automatizované vydávání certifikátů se standardními ACME klienty jako Certbot, acme.sh, Caddy a Traefik.

Jak to funguje

ACME automatizuje životní cyklus certifikátů. Místo ručního vydávání certifikátů přes dashboard nebo API mohou vaše servery automaticky žádat a obnovovat certifikáty:

  1. Vytvořte ACME pověření v dashboardu, vázané na konkrétní CA
  2. Nakonfigurujte svého ACME klienta s directory URL a EAB pověřeními
  3. Klient prokáže kontrolu nad doménou přes HTTP-01 nebo DNS-01 výzvy
  4. Certman vydá certifikát z CA propojené s vaším pověřením

Vytvoření ACME pověření

Přejděte na ACME v postranním panelu dashboardu pro vytvoření pověření. Každé pověření je vázáno na konkrétní CA a skládá se z:

  • Key ID (kid) — Identifikuje pověření a určuje, která CA bude vydávat certifikáty
  • HMAC klíč — Tajemství použité k autentizaci registrace účtu

Důležité: HMAC klíč je zobrazen pouze jednou při vytvoření. Uložte ho bezpečně. Key ID pověření určuje, která CA bude použita — není potřeba specifikovat CA v URL.

Directory URL

Certman používá jeden ACME directory endpoint pro všechny CA:

https://acme.certman.app/directory

CA je určena EAB pověřením, které použijete během registrace účtu — stejná directory URL funguje pro všechna vaše ACME pověření.

Typy výzev

Certman podporuje dva typy výzev pro prokázání kontroly nad doménou:

  • HTTP-01 — Prokažte kontrolu poskytnutím souboru na http://domain/.well-known/acme-challenge/token. Funguje s jakýmkoli webovým serverem. Používá se pro většinu certifikátů.
  • DNS-01 — Prokažte kontrolu vytvořením TXT záznamu na _acme-challenge.domain. Vyžadováno pro wildcard certifikáty. Funguje i když není HTTP přístupné.

Konfigurace klienta

Certbot

certbot certonly \
  --server https://acme.certman.app/directory \
  --eab-kid YOUR_KID \
  --eab-hmac-key YOUR_HMAC_KEY \
  --domain example.com \
  --preferred-challenges http

Pro DNS-01 výzvy použijte --preferred-challenges dns.

acme.sh

# Registrace účtu s EAB
acme.sh --register-account \
  --server https://acme.certman.app/directory \
  --eab-kid YOUR_KID \
  --eab-hmac-key YOUR_HMAC_KEY

# Vydání certifikátu
acme.sh --issue \
  --server https://acme.certman.app/directory \
  -d example.com \
  --webroot /var/www/html

Účet stačí registrovat pouze jednou. Následné požadavky používají uložené přihlašovací údaje účtu.

Caddy

{
  acme_ca https://acme.certman.app/directory
  acme_eab {
    key_id YOUR_KID
    mac_key YOUR_HMAC_KEY
  }
}

example.com {
  # Vaše konfigurace webu
}

Caddy automaticky získává a obnovuje certifikáty, když je nakonfigurován s EAB pověřeními.

Traefik

# traefik.yml
certificatesResolvers:
  certman:
    acme:
      caServer: https://acme.certman.app/directory
      email: you@example.com
      storage: /letsencrypt/acme.json
      eab:
        kid: YOUR_KID
        hmacEncoded: YOUR_HMAC_KEY
      httpChallenge:
        entryPoint: web

Odkažte na resolver ve štítcích služby s traefik.http.routers.myrouter.tls.certresolver=certman.

Platnost certifikátu

Certifikáty vydané přes ACME mají výchozí platnost 90 dní, v souladu s osvědčenými postupy pro automatizovanou správu certifikátů. Většina ACME klientů automaticky obnoví certifikáty, když se blíží k expiraci (typicky při 60 zbývajících dnech).

Požadavky na plán

ACME je dostupné na plánech Pro a Enterprise:

  • Pro — Až 5 ACME pověření na CA
  • Enterprise — Neomezená ACME pověření

Omezení

  • Heslem chráněné CA — ACME vyžaduje automatický přístup k soukromému klíči CA. CA chráněné heslem (Zero-Trust režim) nelze s ACME používat.
  • Odvolané CA — ACME je pro odvolané CA zakázáno. Nelze vydávat nové certifikáty.