Zertifikats-Monitoring
Die Monitoring-Endpoints stellen eine Live-Verbindung zum Zielgerät her und lesen Zertifikatsinformationen, Trust Lists und Gerätemetadaten direkt aus. Im Unterschied zum Inventar, das zwischengespeicherte Daten zurückgibt, wird bei jedem Aufruf eine aktive OPC UA Verbindung aufgebaut.
Die Monitoring-Endpoints bauen eine Live-Verbindung zum Zielgerät auf. Stellen Sie sicher, dass das Zielgerät vom IDIAL-Container aus erreichbar ist, bevor Sie diese Endpoints aufrufen.
POST /gds/monitor/crt
Verbindet sich mit einem entfernten OPC UA Server, liest dessen aktuelles Anwendungszertifikat aus und speichert das Ergebnis im Inventar. Optional wird die vollständige X.509-Textdarstellung zurückgegeben und ein Fingerabdruck berechnet.
Authentifizierung: X-API-Key erforderlich
Anfrage
curl -X POST http://localhost:5000/gds/monitor/crt \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"server": "192.168.1.10",
"port": 4840,
"x509": false,
"fingerprint": "sha1",
"connection_security": false,
"disable_crl_check": false
}'
Anfragefelder
| Feld | Typ | Pflicht | Standard | Beschreibung |
|---|---|---|---|---|
server | string | Ja | — | IP-Adresse oder DNS-Hostname des OPC UA Servers. |
port | string | Nein | "4840" | OPC UA Portnummer. |
x509 | boolean | Nein | false | Menschenlesbare X.509-Zertifikatstextdarstellung in der Antwort einschließen. |
fingerprint | string | Nein | — | Fingerabdruck des Gerätezertifikats berechnen. Unterstützter Wert: "sha1". |
connection_security | boolean | Nein | false | Gesicherten Verbindungsmodus für die OPC UA Kommunikation aktivieren. |
disable_crl_check | boolean | Nein | false | CRL-Prüfung beim Verbindungsaufbau überspringen. |
Antwort 200
{
"url": "opc.tcp://192.168.1.10:4840",
"fingerprint": "A1:B2:C3:D4:E5:F6:78:90:12:34:56:78:90:AB:CD:EF:12:34:56:78",
"x509": "Certificate:\n Data:\n ...",
"security_policy": 8,
"security_mode": 2
}
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
url | string | OPC UA Verbindungs-URL. Nur vorhanden, wenn das Gerät im Inventar eingetragen ist. |
fingerprint | string | Zertifikats-Fingerabdruck in Doppelpunkt-getrennter Hex-Darstellung. Nur vorhanden, wenn fingerprint im Request angegeben wurde. |
x509 | string | Menschenlesbare Zertifikatsdetails. Nur vorhanden, wenn x509: true gesetzt wurde. |
security_policy | integer | Ausgehandelte OPC UA Security-Policy-Bitmaske. Siehe Parameter-Referenz. |
security_mode | integer | Ausgehandelter OPC UA Security Mode. Siehe Parameter-Referenz. |
Antwort 500
{"error": "string"}
GET /gds/monitor/crt/{host_or_url}
Liest das Zertifikat eines GDS-Inventareintrags anhand von Host oder URL. Entspricht POST /gds/monitor/crt, verwendet jedoch die im Inventar gespeicherten Zugangsdaten.
Authentifizierung: X-API-Key erforderlich
Pfadparameter
| Parameter | Beschreibung |
|---|---|
host_or_url | IP-Adresse, Hostname oder OPC UA URL eines Inventareintrags. |
Antwort 200
Format entspricht POST /gds/monitor/crt.
POST /gds/inventory/crt
Gibt Zertifikatsdetails für einen GDS-Inventareintrag anhand von Body-Parametern zurück.
Authentifizierung: X-API-Key erforderlich
Dieser Endpoint ist veraltet. Verwenden Sie stattdessen GET /gds/inventory/crt/{host_or_url}.
Anfragefelder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
server | string | Ja | Hostname oder IP-Adresse. |
port | integer (1–65535) | Nein | Port (Standard: 4840). |
Antwort 200
Format entspricht GET /gds/inventory/crt/{host_or_url}.
GET /gds/inventory/crt/{host_or_url}
Gibt geparste Zertifikatsdetails für einen GDS-Inventareintrag aus zwischengespeicherten Inventardaten zurück. Es wird keine Live-Verbindung aufgebaut.
Authentifizierung: X-API-Key erforderlich
Pfadparameter
| Parameter | Beschreibung |
|---|---|
host_or_url | IP-Adresse, Hostname oder OPC UA URL eines Inventareintrags. |
Antwort 200
{
"name": "PLC Line 1",
"url": "opc.tcp://192.168.1.10:4840",
"device_status": 1,
"last_changed_certificate_date": "2026-01-15",
"certificate": {
"sha1_thumbprint": "A1:B2:C3:...",
"subject_dn": "CN=plc-line1,O=ExampleCorp,C=DE",
"issuer_dn": "CN=Issuing CA,O=ExampleCorp,C=DE",
"valid_from": "2026-01-01T00:00:00",
"valid_to": "2027-01-01T00:00:00",
"remaining_days": 241,
"self_signed": false,
"key_type": "RSA",
"public_key_size": 2048
},
"certificate_revocation": {
"id": 1,
"name": "not_revoked",
"description": "certificate was checked against a CRL and is not revoked",
"is_revoked": false
},
"certificate_revocation_reason": null
}
GET /gds/monitor/plc/{host_or_url}
Liest PLC-spezifische Metadaten (z. B. Modulinformationen, Firmware) von einem OPC UA Endpoint über eine Live-Verbindung aus.
Authentifizierung: X-API-Key erforderlich
Pfadparameter
| Parameter | Beschreibung |
|---|---|
host_or_url | IP-Adresse, Hostname oder OPC UA URL eines Inventareintrags. |
GET /gds/monitor/firmware/{host_or_url}
Liest Firmware-Versionsinformationen von einem GDS-Inventareintrag aus.
Authentifizierung: X-API-Key erforderlich
Pfadparameter
| Parameter | Beschreibung |
|---|---|
host_or_url | IP-Adresse, Hostname oder OPC UA URL eines Inventareintrags. |
Antwort 200
{
"url": "opc.tcp://192.168.1.10:4840",
"firmware_version": "V03.01.03",
"device_name": "SIMATIC S7-1500 OPC UA"
}
GET /gds/monitor/status/{host_or_url}
Liest den Betriebsstatus eines GDS-Inventareintrags über eine Live OPC UA Verbindung aus.
Authentifizierung: X-API-Key erforderlich
Pfadparameter
| Parameter | Beschreibung |
|---|---|
host_or_url | IP-Adresse, Hostname oder OPC UA URL eines Inventareintrags. |
Antwort 200
{
"url": "opc.tcp://192.168.1.10:4840",
"status": "run"
}
POST /gds/monitor/trustlist
Liest die Trust List von einem entfernten OPC UA Server aus und speichert sie im Inventar. Die trustlist-Bitmaske steuert, welche Komponenten ausgelesen werden.
Authentifizierung: X-API-Key erforderlich
Anfragefelder
| Feld | Typ | Pflicht | Standard | Beschreibung |
|---|---|---|---|---|
server | string | Ja | — | Hostname oder IP des Zielgeräts. |
port | integer (1–65535) | Nein | 4840 | OPC UA Port. |
trustlist | integer | Nein | 15 | Bitmaske zur Steuerung der auszulesenden Trust-List-Komponenten. Siehe Parameter-Referenz. |
username | string | Nein | — | Benutzername für die Authentifizierung. |
password | string | Nein | — | Passwort für die Authentifizierung. |
Antwort 200
{"success": true, "execution": "ok", "error": "", "result": null}
GET /gds/monitor/trustlist/{host_or_url}
Gibt die zwischengespeicherte Trust List für einen GDS-Inventareintrag zurück.
Authentifizierung: X-API-Key erforderlich
Pfadparameter
| Parameter | Beschreibung |
|---|---|
host_or_url | IP-Adresse, Hostname oder OPC UA URL eines Inventareintrags. |
DELETE /gds/monitor/trustlist
Löscht die gespeicherte Trust List aller GDS-Inventareinträge.
Authentifizierung: X-API-Key erforderlich
Anfragefelder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
trustlist | integer | Nein | Bitmaske der zu löschenden Trust-List-Komponenten (Standard: 15 = alle). |
Antwort 200
{"success": true, "execution": "ok", "error": "", "result": null}
DELETE /gds/monitor/trustlist/{host_or_url}
Löscht die gespeicherte Trust List eines einzelnen GDS-Inventareintrags.
Authentifizierung: X-API-Key erforderlich
Pfadparameter
| Parameter | Beschreibung |
|---|---|
host_or_url | IP-Adresse, Hostname oder OPC UA URL eines Inventareintrags. |
Anfragefelder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
trustlist | integer | Nein | Bitmaske der zu löschenden Trust-List-Komponenten (Standard: 15 = alle). |
Antwort 200
{"success": true, "execution": "ok", "error": "", "result": null}