HARICA bietet die Möglichkeit, über das ACME-Protokoll und Standard-Werkzeuge Serverzertifikate zu beziehen. Hierfür müssen in der Oberfläche unter https://cm.harica.gr sogenannte ACME Accounts angelegt werden.
Es gibt zwei verschiedene Typen ACME Accounts:
Die Nutzung von Enterprise ACME Accounts ist dokumentiert unter: https://doku.tid.dfn.de/de:dfnpki:tcs:2025:acme_enterprise
Die Freischaltung und Nutzung ist dokumentiert unter: https://doku.tid.dfn.de/de:dfnpki:tcs:2025:acme_personal
Im Rahmen des Prozesses liefert der ACME-Server einen Zertifikatkette aus, die vom ACME-Client in der Regel zur Installation auf dem System verwendet wird.
HARICA liefert per ACME eine Kette aus, die im Cross-Zertifikat für die Root CA 2015 endet. Damit ist eine größtmögliche Kompatibilität zu Anwendungssoftware gegeben. Legacy-Root-CA-Zertifikate 2015
Abhängig vom Account-Typ, der gewählten Variante und der angefragten Domain sind ACME Challenges erforderlich.
Account Typ | Variante | Domain | Challenge? |
---|---|---|---|
Enterprise | SSL DV | vorvalidiert | nein |
nicht validiert | ja | ||
Enterprise | SSL OV | vorvalidiert | nein |
nicht validiert | nicht möglich, Fehler | ||
Personal | vorvalidiert | ja | |
nicht validiert | ja |
HARICA unterstützt die Challenge-Typen http-01
und dns-01
.
Achtung: Im Gegensatz zu Let's Encrypt folgt HARICA bei dns-01
derzeit keinen CNAMEs!
Folgendes funktioniert derzeit nicht:
_acme-challenge.<domain> IN CNAME <auth-domain> <auth-domain> IN TXT <ACME dns-01 challenge>
Für Enterprise Accounts mit vor-validierten Domains (ohne ACME Challenge):
certbot certonly --standalone --non-interactive --agree-tos --email <eigene Mailadresse> --eab-kid <Key ID> --eab-hmac-key <HMAC Key> --server <Server URL> --domain <FQDN des Zertifikats>
Für Personal ACME Accounts mit HTTP-Validierung über einen bereits laufenden Webserver mit Dokumenten-Root in /var/www
:
certbot certonly --webroot --webroot-path /var/www --non-interactive --agree-tos --email <eigene Mailadresse> --eab-kid <Key ID> --eab-hmac-key <HMAC Key> --server <Server URL> --domain <FQDN>
.\wacs.exe --source manual --accepttos --eab-key-identifier <Key ID> --eab-key <HMAC Key> --baseuri <Server URL> --emailaddress <Mail> --host <FQDN>
apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: 'harica-prod' namespace: cert-manager spec: acme: email: <Email> externalAccountBinding: keyID: <Key ID> keySecretRef: key: secret name: harica-key preferredChain: '' privateKeySecretRef: name: harica-prod-key server: <Server URL> solvers: - http01: ingress: class: ingress-intern
Dazu wird ein Secret benötigt, das den HMAC-Schlüssel für das External Account Binding enthält:
apiVersion: v1 kind: Secret metadata: name: harica-key namespace: cert-manager type: Opaque data: secret: <BASE64(HMAC Key aus dem HARICA Portal)>
Über diesen ClusterIssuer können dann gemäß der cert-manager-Dokumentation Zertifikate beantragt und automatisch ausgestellt werden. https://cert-manager.io/docs/usage/certificate/
Der ACME-Server von HARICA gibt im Fehlerfall teilweise nur sehr generische Meldungen zurück, z.B.
{ "type": "urn:ietf:params:acme:error:serverInternal", "detail": "failed to order certificate from RA" }
oder als Ausgabe von certbot
An unexpected error occurred: AttributeError: can't set attribute
Bitte unbedingt bei der Account-Erzeugung eine Email-Adresse übergeben (z.B. certbot
-Parameter –email
oder entsprechende Konfigurationsparameter bei caddy, Traefik, …). Das HARICA-System lehnt die Account-Erzeugung sonst ab.
Beim Auftreten eines Fehlers sollten folgende Punkte zunächst geprüft werden:
Enterprise ACME Accounts:
–email
übergeben?Personal ACME Accounts:
–email
übergeben?
Bei den community.crypto
-Module von Ansible muss der Parameter modify_account: false
angegeben werden, damit die Zertifikaterstellung funktioniert.