ACME

Mit dem Automatic Certificate Management Environment (ACME) gemäß RFC8555 können Sie die Bestellung, Validierung und Einrichtung von TLS-Zertifikaten vollständig automatisieren.

Neben der weithin bekannten Zertifizierungsstelle (CA) Let’s Encrypt kann LiveConfig auch jeden anderen Zertifikatsanbieter mit ACME-Unterstützung einbinden.

Wenn LiveConfig startet, liest es alle Dateien in /etc/liveconfig/tls-*.json. Um einen TLS-Anbieter hinzuzufügen oder zu bearbeiten, erstellen oder ändern Sie dort die entsprechende Datei.

Spezifikation der Datei tls-<anbieter>.json

module

Immer "acme"

version

Immer 1

providers

Liste von TLS-Anbietern

Spezifikation des provider-Objekts

autoRegister

Boolean; wenn true dann darf ein Account bei Bedarf komplett automatisch erzeugt werden (z.B. während des Onboardings)

configuration

Anbieter-spezifische Konfiguration (siehe unten)

description

Kurze Beschreibung dieses Anbieters (wird in der TLS-Anbieter-Übersicht angezeigt, max. 255 Zeichen)

enabled

Boolean um diesen Anbieter zu aktivieren/deaktivieren

freeDV

Ist true wenn diese Zertifizierungsstelle (auch) kostenfreie TLS-Zertifikate anbietet

logo

Name der Logo-Datei; sollte im .svg-Format sein, gespeichert unter /var/lib/liveconfig/htdocs/

logoDark

Optional abweichende Logo-Datei für den „dunklen Modus“

name

Anbietername (max. 64 Zeichen)

priority

Sortierungs-Priorität (0=am wichtigsten, 100=am unwichtigsten)

website

Offizielle Website dieses Anbieters

Spezifikation des configuration-Objekts

contactRequired

Ist true wenn Kontaktdaten (E-Mail-Adresse) zum Anlegen eines Accounts benötigt werden

authorization

  • any: keine Authorisierung benötigt (kann anonym genutzt werden)

  • eab: External Account Binding erforderlich

  • eabOrContact: External Account Binding or e-mail address (contact) required

directory

ACME Verzeichnis-URL

products

Liste an Produkten (siehe unten)

Spezifikation des product-Objekts

free

Ist true wenn diese Zertifikate kostenfrei sind

id

Eindeutige Produkt-ID (nur Buchstaben, Ziffern und Bindestrich erlaubt, max. 64 Zeichen)

keyDefault

Standard-Format für private Schlüssel (z.B. ec-secp384r1 oder rsa-4096)

name

Name dieses TLS-Produkts (max. 64 Zeichen)

san

Limit der Subject Alternative Names, ``-1``=unbegrenzt, ``0``=keine, sonst Limit

type

Immer tls

validation

DV (Domain-Validierung), OV (Organisations-Validierung) oder EV (Erweiterte Validierung)

wildcard

Ist true wenn Wildcard-SAN (*.example.org) erlaubt sind

Beispiel für Google Trust Services:

{
  "module": "acme",
  "version": 1,
  "providers": [
    {
      "autoRegister": false,
      "configuration": {
        "contactRequired": false,
        "authorization": "eab",
        "directory": "https://dv.acme-v02.api.pki.goog/directory",
        "products": [
          {
            "free": true,
            "id": "google",
            "keyDefault": "ec-secp384r1",
            "name": "Google Trust Services",
            "san": 50,
            "type": "tls",
            "validation": "DV",
            "wildcard": true
          }
        ]
      },
      "description": "Free domain-validated TLS certificates from Google Trust Services (requires Google Cloud account).",
      "enabled": true,
      "freeDV": true,
      "logo": "logo-google.svg",
      "name": "Google Trust Services",
      "priority": 20,
      "website": "https://pki.goog/"
    }
  ]
}