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
HARICA liefert als Teil der Automatisierung per ACME eine Zertifikatkette aus, die eine größtmögliche Kompatibilität zu Anwendungssoftware sicherstellt. Die Zertifikatkette endet Cross-Zertifikat für die Root CA 2015. 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.
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.