Zum Hauptinhalt springen

Zertifikat manuell erneuern oder ändern

Bei einem Key Compromise, einem Konfigurationsfehler oder einem Ad-hoc-Bedarf kann ein Zertifikat unabhängig vom Scheduler sofort erneuert werden. IDIAL bietet zwei Endpunkte: POST /gds/push für eine einfache Erneuerung mit bestehenden Parametern und POST /gds/push/change für eine Neuausstellung mit geänderten Zertifikatsparametern.

warnung

Eine manuelle Erneuerung überschreibt das aktuelle Zertifikat auf dem Gerät sofort. Stelle sicher, dass das Gerät erreichbar ist und die Verbindungsparameter korrekt sind, bevor du fortfährst.

Voraussetzungen

  • Das Gerät ist im Inventar eingetragen
  • Ein PKI-Endpunkt ist dem Gerät zugewiesen (oder die Verbindungsparameter werden direkt übergeben)
  • Das Gerät ist über Netzwerk erreichbar
  • API-Key liegt vor

Schritt 1 — Einfache Erneuerung (POST /gds/push)

POST /gds/push stellt ein neues Zertifikat aus und überträgt es auf das Gerät. Die Zertifikatsparameter werden aus dem konfigurierten PKI-Endpunkt übernommen.

curl -s -X POST \
-H "X-API-Key: <api-key>" \
-H "Content-Type: application/json" \
-d '{
"server": "192.168.1.100",
"port": 4840
}' \
https://<idial-host>:5000/gds/push

Anfrageparameter

ParameterTypStandardBeschreibung
serverstringIP-Adresse oder FQDN des OPC UA-Servers
portinteger4840OPC UA-Port (1–65535)
subjectstringZertifikats-Subject (übersteuert PKI-Konfiguration)
usernamestringAuthentifizierungs-Benutzername (übersteuert Inventareintrag)
passwordstringAuthentifizierungs-Passwort (übersteuert Inventareintrag)
trustedbooleanfalseZertifikat in die TRUSTED Trust List schreiben
issuerbooleanfalseZertifikat in die ISSUER Trust List schreiben
security_policyinteger0Bitmask der erlaubten Security Policies (siehe Parameter-Referenz)
security_modeinteger0Bitmask der erlaubten Security Modes (siehe Parameter-Referenz)
allow_insecure_connectionbooleanfalseZertifikatsprüfung und CRL-Check überspringen
hinweis

username und password müssen entweder beide gesetzt oder beide leer sein. Sind sie nicht angegeben, verwendet IDIAL die im Inventareintrag hinterlegten Zugangsdaten.

Erfolgsantwort

{
"success": true,
"execution": "Certificate Update successfully executed\nGDS Push finished with success",
"error": ""
}

Schritt 2 — Erneuerung mit geänderten Parametern (POST /gds/push/change)

POST /gds/push/change stellt ein neues Zertifikat mit abweichenden Parametern aus — z.B. ein anderer Schlüsselalgorithmus oder ein selbstsigniertes Zertifikat.

curl -s -X POST \
-H "X-API-Key: <api-key>" \
-H "Content-Type: application/json" \
-d '{
"server": "192.168.1.100",
"port": 4840,
"self_signed": false,
"algorithm": 4096
}' \
https://<idial-host>:5000/gds/push/change

Zusätzliche Parameter (gegenüber POST /gds/push)

ParameterTypStandardBeschreibung
self_signedbooleantrueSelbstsigniertes Zertifikat ausstellen
algorithminteger2048RSA-Schlüssellänge in Bits: 1024, 2048, 3072 oder 4096
tipp

Nutze POST /gds/push/change mit "algorithm": 4096, wenn ein Gerät nach einem Key Compromise ein neues Schlüsselpaar benötigt. Der neue Schlüssel wird auf dem GDS-Server erzeugt und sofort auf das Gerät übertragen.

warnung

Ein Schlüsselwechsel ändert den Fingerabdruck des Gerätezertifikats. Systeme, die das alte Zertifikat explizit vertrauen (z.B. über pinned certificates), müssen aktualisiert werden.

Schritt 3 — Ergebnis prüfen

Nach der Erneuerung kann das aktuell installierte Zertifikat abgerufen werden:

curl -s -X POST \
-H "X-API-Key: <api-key>" \
-H "Content-Type: application/json" \
-d '{
"server": "192.168.1.100",
"port": 4840,
"fingerprint": "SHA1",
"x509": true
}' \
https://<idial-host>:5000/gds/monitor/crt

Die Antwort enthält den Fingerabdruck und die vollständigen X.509-Details des neu ausgestellten Zertifikats.

Zusammenfassung

POST /gds/push → Zertifikat mit bestehenden Parametern erneuern
POST /gds/push/change → Zertifikat mit neuen Parametern ausstellen
POST /gds/monitor/crt → Erneuerungsergebnis prüfen

Nächste Schritte

Fehlerbehebung

SymptomMögliche UrsacheLösung
"success": false mit VerbindungsfehlerGerät nicht erreichbarIP/Port prüfen, Netzwerkverbindung testen
"success": false mit AuthentifizierungsfehlerZugangsdaten fehlen oder falschusername/password direkt im Request übergeben
Erneuerung erfolgreich, altes Zertifikat noch aktivGerät braucht NeustartGerät neu starten, um neues Zertifikat zu aktivieren
allow_insecure_connection erforderlichCRL nicht erreichbar oder Zertifikat nicht in Trust ListCRL-Erreichbarkeit prüfen oder Trust List aktualisieren