Zum Hauptinhalt springen

GDS Push — Zertifikatsausrollung

GDS Push ist der primäre Mechanismus zur Zertifikatsausrollung auf von IDIAL verwalteten OPC UA Geräten. IDIAL verbindet sich mit der OPC UA Global Discovery Server (GDS) Schnittstelle des Zielgeräts, stellt über den konfigurierten PKI-Endpoint ein Zertifikat aus und überträgt es in den Zertifikatsspeicher des Geräts. Die Trust List (CA-Kette und CRL) wird gleichzeitig auf dem Gerät eingerichtet.

Vor der ersten Ausrollung verifiziert IDIAL die Verbindung zum Gerät und speichert die Zugangsdaten für nachfolgende automatisierte Operationen.

POST /gds/push

Stellt ein Zertifikat aus und überträgt es auf einen GDS-fähigen OPC UA Endpoint. Falls das Gerät noch nicht im Inventar eingetragen ist, wird es automatisch registriert. Übermittelte Zugangsdaten werden für zukünftige automatisierte Erneuerungen gespeichert.

Authentifizierung: X-API-Key erforderlich

Anfrage

curl -X POST http://localhost:5000/gds/push \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"server": "192.168.1.10",
"port": 4840,
"name": "PLC Linie 1",
"subject": "CN=plc-line1,O=ExampleCorp,C=DE",
"username": "admin",
"password": "secret",
"issuer": true,
"trusted": false,
"security_policy": 8,
"security_mode": 2,
"debug": false
}'

Anfragefelder

FeldTypPflichtStandardBeschreibung
serverstringJaIP-Adresse oder FQDN des Zielgeräts. Eindeutiger Bezeichner des Endpoints in IDIAL.
portintegerNein4840OPC UA Port.
namestringNeinAnzeigename des Endpoints. Hat keinen Einfluss auf den Zertifikatsinhalt.
subjectstringNeinGewünschter Subject DN für das Zielzertifikat. Wird er weggelassen, wertet IDIAL verfügbare Standardwerte für den Zertifikatssubjekt aus.
usernamestringNeinBenutzername, den IDIAL für die Verbindung zum GDS-Endpoint verwendet. Aktualisiert den gespeicherten Benutzernamen für zukünftige Operationen.
passwordstringNeinPasswort für die GDS-Verbindung. Wird verschlüsselt für zukünftige automatisierte Operationen gespeichert.
issuerbooleanNeinfalseBei true wird das Aussteller-CA-Zertifikat des IDIAL OPC UA Client-Zertifikats zum Gerätevertrauensspeicher hinzugefügt.
trustedbooleanNeinfalseBei true wird das IDIAL OPC UA Client-Zertifikat selbst zum Gerätevertrauensspeicher hinzugefügt.
security_policyintegerNein31Security-Policy-Bitmaske. Siehe Parameter-Referenz.
security_modeintegerNein0Security Mode. Siehe Parameter-Referenz.
debugbooleanNeinfalseBei true werden zusätzliche Prozessinformationen in der Antwort ausgegeben.
tipp

Verwenden Sie issuer: true (anstatt oder zusätzlich zu trusted: true), damit das Gerät die IDIAL-Verbindung auch nach einer Erneuerung des Client-Zertifikats weiterhin akzeptiert. Dies verhindert unbeabsichtigte Verbindungssperren.

Antwort 200

{
"success": true,
"execution": "GDS Push completed successfully",
"error": "",
"result": {}
}

Antwortfelder

FeldTypBeschreibung
successbooleanGibt an, ob die Operation erfolgreich war.
executionstringAusführungsstatusmeldung.
errorstringFehlermeldung, falls die Operation fehlgeschlagen ist.
resultobject | nullZusätzliche Ergebnisdaten.

Antwort 422

Wird zurückgegeben, wenn die Validierung der Zertifikatsanfrage fehlgeschlagen ist — das Zertifikat konnte nicht ausgestellt werden.

Antwort 500

{"error": "string"}

GET /gds/push/{host_or_url}

Gibt den GDS-Push-Status für einen bestimmten Inventareintrag zurück.

Authentifizierung: X-API-Key erforderlich

Anfrage

curl -X GET http://localhost:5000/gds/push/192.168.1.10 \
-H "X-API-Key: your-api-key"

Antwort 200

Format entspricht POST /gds/push.

Antwort 404

{"error": "string"}

POST /gds/push/onboarding

Führt den GDS-Push-Onboarding-Workflow für einen neuen Endpoint durch. Dabei wird die initiale Vertrauensbeziehung aufgebaut und die Zugangsdaten des Geräts im Inventar registriert.

Authentifizierung: X-API-Key erforderlich

Anfrage

curl -X POST http://localhost:5000/gds/push/onboarding \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"server": "192.168.1.10",
"port": 4840,
"username": "admin",
"password": "secret"
}'

Anfragefelder

Identisch mit POST /gds/push.

Antwort 200

Format entspricht POST /gds/push.


GET /gds/push/onboarding/{host_or_url}

Gibt den Onboarding-Status für einen bestimmten GDS-Inventareintrag zurück.

Authentifizierung: X-API-Key erforderlich

Anfrage

curl -X GET http://localhost:5000/gds/push/onboarding/192.168.1.10 \
-H "X-API-Key: your-api-key"

Antwort 200

Format entspricht POST /gds/push.

Antwort 404

{"error": "string"}

POST /gds/push/change

Löst eine Zertifikatswechseloperation für einen oder mehrere GDS-Inventareinträge aus. Wird verwendet, um eine Zertifikatserneuerung außerhalb des normalen Scheduler-Zyklus zu erzwingen.

Authentifizierung: X-API-Key erforderlich

Anfrage

curl -X POST http://localhost:5000/gds/push/change \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"server": "192.168.1.10",
"port": 4840
}'

Anfragefelder

FeldTypPflichtBeschreibung
serverstringJaHostname oder IP des Ziel-Endpoints.
portinteger (1–65535)NeinPort (Standard: 4840).

Antwort 200

Format entspricht POST /gds/push.


POST /gds/firmware (veraltet)

Liest die Firmware-Version von einem GDS-Endpoint aus. Verwenden Sie stattdessen GET /gds/monitor/firmware/{host_or_url}.

Authentifizierung: X-API-Key erforderlich

Anfrage

curl -X POST http://localhost:5000/gds/firmware \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{"server": "192.168.1.10", "port": 4840}'

Anfragefelder

FeldTypPflichtBeschreibung
serverstringJaHostname oder IP des Zielgeräts.
portintegerNeinOPC UA Port (Standard: 4840).
usernamestringNeinAuthentifizierungsbenutzername.
passwordstringNeinAuthentifizierungspasswort.
security_policyintegerNeinSecurity-Policy-Bitmaske.
security_modeintegerNeinSecurity-Mode-Bitmaske.
allow_insecure_connectionbooleanNeinVerbindung ohne Sicherheit erlauben.

Antwort 200

{
"url": "opc.tcp://192.168.1.10:4840",
"firmware_version": "V03.01.03",
"device_name": "SIMATIC S7-1500 OPC UA"
}

GET /gds/crt

Gibt das IDIAL OPC UA Client-Zertifikat zurück (das Zertifikat, das IDIAL bei der Verbindung zu GDS-Endpoints verwendet).

Authentifizierung: X-API-Key erforderlich

Anfrage

curl -X GET http://localhost:5000/gds/crt \
-H "X-API-Key: your-api-key"

Antwort 200

Binäre Zertifikatsdatei (PEM- oder DER-Format). Fügen Sie ?format=pem oder ?format=der an die URL an, um das Format festzulegen.

Antwort 404

{"error": "OPCUA client certificate not found"}