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.
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
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
server | string | — | IP-Adresse oder FQDN des OPC UA-Servers |
port | integer | 4840 | OPC UA-Port (1–65535) |
security_policy | integer | 31 | Bitmask der erlaubten Security Policies (siehe Parameter-Referenz) |
security_mode | integer | 0 | Security Mode: 0=None, 1=Sign, 2=SignAndEncrypt |
trustlist | integer | 15 | Bitmask der abzurufenden Komponenten (siehe unten) |
mask | boolean | false | OpenWithMasks() statt Open() verwenden |
username | string | — | GDS-Admin-Benutzername |
password | string | — | GDS-Admin-Passwort |
Bitmask-Werte für trustlist
| Bit | Wert | Komponente | Beschreibung |
|---|---|---|---|
| 0 | 1 | TrustedCertificates | Zertifikate, denen das Gerät direkt vertraut |
| 1 | 2 | TrustedCrls | CRLs für die vertrauenswürdigen Zertifikate |
| 2 | 4 | IssuerCertificates | CA-Zertifikate der Aussteller |
| 3 | 8 | IssuerCrls | CRLs 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
| Feld | Beschreibung |
|---|---|
success | true wenn der Abruf erfolgreich war |
execution | Statusmeldung des Vorgangs |
error | Fehlermeldung bei success: false, sonst leer |
gds_time | ISO-8601-Zeitstempel des Abrufzeitpunkts vom GDS-Gerät |
gds_maxtrustlistsize | Maximale Trust-List-Größe in Bytes |
result.TrustedCertificates | Array von PEM-kodierten X.509-Zertifikaten (Base64) |
result.TrustedCrls | Array von PEM-kodierten CRLs (Base64) |
result.IssuerCertificates | Array von PEM-kodierten CA-Zertifikaten (Base64) |
result.IssuerCrls | Array 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
IssuerCertificateausgestelltes 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
- Zertifikat manuell erneuern — Zertifikat nach Trust-List-Analyse erneuern
POST /gds/monitor/trustlist— API-Referenz
Fehlerbehebung
| Symptom | Mögliche Ursache | Lösung |
|---|---|---|
"success": false | Gerät nicht erreichbar oder kein GDS-Dienst | IP/Port prüfen, GDS-Dienst auf Gerät prüfen |
| Authentifizierungsfehler | GDS-Zugangsdaten fehlen oder falsch | username/password direkt im Request übergeben |
Leere Arrays in result | Keine Einträge in der angeforderten Komponente | Andere Bitmask-Kombination verwenden, GDS-Konfiguration auf Gerät prüfen |
gds_maxtrustlistsize überschritten | Trust List zu groß | Abgelaufene Zertifikate aus der Trust List des Geräts entfernen |