Zum Hauptinhalt springen

Trust List eines Geräts verwalten

Die Trust List eines OPC UA-Geräts enthält alle Zertifikate und Certificate Revocation Lists (CRLs), denen das Gerät vertraut. IDIAL kann diese Liste direkt vom Gerät abrufen — über den GDS-Dienst des Geräts. Diese Anleitung beschreibt, wie die Trust List abgerufen und interpretiert wird.

hinweis

Für den Abruf der Trust List muss das Gerät einen OPC UA GDS-Dienst (Global Discovery Service) bereitstellen und der IDIAL-Server muss die notwendigen Zugangsdaten besitzen, um sich am GDS anzumelden.

Voraussetzungen

  • Das Gerät ist über Netzwerk erreichbar
  • GDS-Admin-Zugangsdaten liegen vor (oder sind im Inventareintrag hinterlegt)
  • API-Key liegt vor

Schritt 1 — Vollständige Trust List abrufen

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

Der Wert 15 ist eine Bitmask und fordert alle vier Komponenten gleichzeitig an.

Anfrageparameter

ParameterTypStandardBeschreibung
serverstringIP-Adresse oder FQDN des OPC UA-Servers
portinteger4840OPC UA-Port (1–65535)
security_policyinteger31Bitmask der erlaubten Security Policies (siehe Parameter-Referenz)
security_modeinteger0Security Mode: 0=None, 1=Sign, 2=SignAndEncrypt
trustlistinteger15Bitmask der abzurufenden Komponenten (siehe unten)
maskbooleanfalseOpenWithMasks() statt Open() verwenden
usernamestringGDS-Admin-Benutzername
passwordstringGDS-Admin-Passwort

Bitmask-Werte für trustlist

BitWertKomponenteBeschreibung
01TrustedCertificatesZertifikate, denen das Gerät direkt vertraut
12TrustedCrlsCRLs für die vertrauenswürdigen Zertifikate
24IssuerCertificatesCA-Zertifikate der Aussteller
38IssuerCrlsCRLs für die Aussteller-Zertifikate

Kombinationen: 3 = TrustedCertificates + TrustedCrls, 12 = IssuerCertificates + IssuerCrls, 15 = alles.

Schritt 2 — Antwort interpretieren

{
"success": true,
"execution": "TrustList operation completed successfully",
"error": "",
"gds_time": "2026-03-30T14:22:05.000Z",
"gds_maxtrustlistsize": 65536,
"result": {
"TrustedCertificates": [
"MIIBxTCCAW+gAwIBAgIUABC...base64...==",
"MIIBxTCCAW+gAwIBAgIUDEF...base64...=="
],
"TrustedCrls": [
"MIIBGzANBgkqhkiG9w0BAQE...base64...=="
],
"IssuerCertificates": [
"MIICpDCCAYwCCQDhyFf...base64...=="
],
"IssuerCrls": []
}
}

Antwortfelder

FeldBeschreibung
successtrue wenn der Abruf erfolgreich war
executionStatusmeldung des Vorgangs
errorFehlermeldung bei success: false, sonst leer
gds_timeISO-8601-Zeitstempel des Abrufzeitpunkts vom GDS-Gerät
gds_maxtrustlistsizeMaximale Trust-List-Größe in Bytes
result.TrustedCertificatesArray von PEM-kodierten X.509-Zertifikaten (Base64)
result.TrustedCrlsArray von PEM-kodierten CRLs (Base64)
result.IssuerCertificatesArray von PEM-kodierten CA-Zertifikaten (Base64)
result.IssuerCrlsArray von PEM-kodierten CRLs für Aussteller

Was die Einträge bedeuten

  • TrustedCertificates: Zertifikate, denen das Gerät direkt vertraut. Clients, die sich mit diesem Gerät verbinden, müssen eines dieser Zertifikate oder ein von einem IssuerCertificate ausgestelltes Zertifikat vorweisen.
  • TrustedCrls: Sperrlisten für die Zertifikate in TrustedCertificates. Das Gerät prüft diese Listen, um widerrufene Zertifikate abzulehnen.
  • IssuerCertificates: CA-Zertifikate, die zur Verifikation von Zertifikatsketten benötigt werden. Das Gerät vertraut Zertifikaten, die von diesen CAs ausgestellt wurden.
  • IssuerCrls: Sperrlisten für die CA-Zertifikate in IssuerCertificates.

Schritt 3 — Zertifikat aus Base64 dekodieren (optional)

Die Einträge in result.* sind DER-kodierte X.509-Zertifikate als Base64-String. Zur Analyse:

echo "MIIBxTCCAW+gAwIBAgIUABC...==" | base64 -d | openssl x509 -inform DER -text -noout

Zusammenfassung

POST /gds/monitor/trustlist → Trust List abrufen
trustlist-Bitmask → Komponenten auswählen (1/2/4/8 oder kombiniert)
result.* → PEM-kodierte Zertifikate und CRLs

Nächste Schritte

Fehlerbehebung

SymptomMögliche UrsacheLösung
"success": falseGerät nicht erreichbar oder kein GDS-DienstIP/Port prüfen, GDS-Dienst auf Gerät prüfen
AuthentifizierungsfehlerGDS-Zugangsdaten fehlen oder falschusername/password direkt im Request übergeben
Leere Arrays in resultKeine Einträge in der angeforderten KomponenteAndere Bitmask-Kombination verwenden, GDS-Konfiguration auf Gerät prüfen
gds_maxtrustlistsize überschrittenTrust List zu großAbgelaufene Zertifikate aus der Trust List des Geräts entfernen