Zum Hauptinhalt springen

PKI-Endpunkt konfigurieren und einem Gerät zuweisen

IDIAL unterstützt mehrere PKI-Typen für die Ausstellung von OPC UA-Anwendungszertifikaten. Dieser Guide erklärt, wie Sie die konfigurierten PKI-Endpunkte einsehen, das CA-Zertifikat herunterladen und verifizieren, und einem GDS-Push-Gerät einen PKI-Endpunkt zuweisen.

hinweis

PKI-Endpunkte werden bei der IDIAL-Installation vorkonfiguriert. Die Verwaltung von EST-PKI-Endpunkten (Hinzufügen, Bearbeiten, Löschen) erfolgt über IDIAL-APP.

PKI-Typen in IDIAL

IDIAL kennt drei PKI-Typen:

Typ-IDNameBeschreibung
1INTERNALIntegrierte CA — IDIAL signiert Zertifikate direkt mit der konfigurierten CA (OpenSSL). Kein externer PKI-Server erforderlich.
2ESTEST-Protokoll (RFC 7030) — Zertifikatsanfragen werden an einen externen EST-Server weitergeleitet.
3CMPCMP-Protokoll (RFC 4210) — Zertifikatsanfragen über Certificate Management Protocol.

Schritt 1: Konfigurierte PKI-Endpunkte anzeigen

Rufen Sie alle in IDIAL konfigurierten PKI-Endpunkte ab. Die pki_id wird benötigt, um einen Endpunkt einem Gerät zuzuweisen.

curl -X GET https://idial.example.com/pki \
-H "X-API-Key: your-api-key"

Erwartete Antwort (200):

[
{
"pki_id": 1,
"pki_type": "INTERNAL",
"pki_connection": "internal",
"username": "",
"opcua_server_template_uri": "",
"opcua_client_template_uri": "",
"opcua_webserver_template_uri": "",
"ssh_webserver_template_uri": ""
},
{
"pki_id": 2,
"pki_type": "EST",
"pki_connection": "https://est.example.com/.well-known/est",
"username": "estuser",
"opcua_server_template_uri": "est-opcua-server-template",
"opcua_client_template_uri": "est-opcua-client-template",
"opcua_webserver_template_uri": "",
"ssh_webserver_template_uri": ""
}
]

Antwortfelder

FeldBeschreibung
pki_idEindeutiger Bezeichner des PKI-Endpunkts — wird für die Gerätezuweisung benötigt
pki_typePKI-Typ: INTERNAL, EST oder CMP
pki_connectionVerbindungskennung: "internal" für den internen Typ, URL für EST/CMP
usernameBenutzername für die Authentifizierung am EST/CMP-Server (leer bei internem PKI)
opcua_server_template_uriCA-Template-URI für OPC UA Server-Zertifikate
opcua_client_template_uriCA-Template-URI für OPC UA Client-Zertifikate
opcua_webserver_template_uriCA-Template-URI für OPC UA Web-Server-Zertifikate
ssh_webserver_template_uriCA-Template-URI für SSH Web-Server-Zertifikate

Notieren Sie für die folgenden Schritte:

  • Die pki_id des gewünschten Endpunkts, z. B. 1 für den internen PKI

Schritt 2: CA-Zertifikat herunterladen und prüfen

Laden Sie das CA-Zertifikat der internen PKI herunter und prüfen Sie ob es dem erwarteten Aussteller entspricht. Dieser Endpunkt erfordert keine Authentifizierung.

# PEM-Format herunterladen
curl -X GET https://idial.example.com/pki/ca \
-H "Accept: application/x-pem-file" \
-o ca.pem

# DER-Format herunterladen (Standard)
curl -X GET https://idial.example.com/pki/ca \
-o ca.der

Zertifikat mit OpenSSL prüfen:

openssl x509 -in ca.pem -noout -subject -issuer -dates

Erwartete Ausgabe:

subject=CN=IDIAL CA, O=BxC Security GmbH, C=DE
issuer=CN=IDIAL CA, O=BxC Security GmbH, C=DE
notBefore=Jan 1 00:00:00 2025 GMT
notAfter=Jan 1 00:00:00 2030 GMT
hinweis

Das CA-Zertifikat ist selbstsigniert (subject = issuer). Es muss in den Trust Stores der OPC UA-Geräte eingetragen werden, damit von IDIAL ausgestellte Zertifikate als vertrauenswürdig akzeptiert werden. Der GDS-Push-Prozess übernimmt dies automatisch bei Verwendung von issuer: true.


Schritt 3: CRL herunterladen (optional)

Laden Sie die aktuelle Certificate Revocation List der internen CA herunter.

# PEM-Format
curl -X GET https://idial.example.com/pki/crl \
-H "Accept: application/x-pem-file" \
-o crl.pem

# CRL prüfen
openssl crl -in crl.pem -noout -issuer -lastupdate -nextupdate

Schritt 4: PKI-Endpunkt einem GDS-Push-Gerät zuweisen

Weisen Sie dem Inventareintrag des Geräts den gewünschten PKI-Endpunkt zu. Verwenden Sie dafür PATCH /gds/inventory mit dem Feld pki und der entsprechenden pki_id aus Schritt 1.

curl -X PATCH https://idial.example.com/gds/inventory \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"server": "192.168.1.10",
"port": 4840,
"pki": 1
}'
FeldBeschreibung
serverIP-Adresse oder FQDN des Geräts — identifiziert den Inventareintrag
portOPC UA Port des Geräts
pkipki_id aus Schritt 1

Erwartete Antwort (200):

{
"id": 42,
"name": "PLC Linie 1",
"url": "opc.tcp://192.168.1.10:4840",
"server": "192.168.1.10",
"port": 4840,
"device_status": 1,
"device_status_name": "active",
"pki_endpoint": "internal",
"cert_expdays": 365,
"cert_revoked": false
}

Das Feld pki_endpoint zeigt nach dem Update den Verbindungswert des zugewiesenen PKI-Endpunkts ("internal" oder eine EST/CMP-URL).


Schritt 5: Zuweisung bestätigen

Rufen Sie den Inventareintrag ab und verifizieren Sie dass pki_endpoint korrekt gesetzt ist.

curl -X GET "https://idial.example.com/gds/inventory/192.168.1.10" \
-H "X-API-Key: your-api-key"

Prüfen Sie in der Antwort:

FeldErwarteter Wert
pki_endpoint"internal" (Typ 1) oder EST-URL (Typ 2) — entspricht dem zugewiesenen Endpunkt

Ablauf-Übersicht

Schritt 1 GET /pki → pki_id und pki_type einsehen

Schritt 2 GET /pki/ca → CA-Zertifikat herunterladen und prüfen

Schritt 3 GET /pki/crl (optional) → CRL herunterladen

Schritt 4 PATCH /gds/inventory → pki_id dem Gerät zuweisen

Schritt 5 GET /gds/inventory/{host} → Zuweisung bestätigen

Nächste Schritte

Nach der PKI-Konfiguration kann der GDS-Push-Workflow ausgeführt werden. Die vollständige Anleitung zur Geräteregistrierung finden Sie unter OPC UA GDS-Push-Gerät registrieren.


Fehlerbehebung

SymptomMögliche UrsacheLösung
GET /pki gibt leere Liste zurückPKI-Endpunkte noch nicht konfiguriertIDIAL-APP zur PKI-Konfiguration verwenden
GET /pki/ca gibt 404 zurückCA-Zertifikat nicht auf dem IDIAL-Container vorhandenCA-Zertifikat in der IDIAL-Containerkonfiguration hinterlegen
pki_endpoint bleibt leer nach PATCHpki-Feld nicht korrekt übergeben oder pki_id ungültigGET /pki aufrufen und gültige pki_id prüfen
GDS Push schlägt fehl nach PKI-ZuweisungTemplate-URI nicht konfiguriert oder EST-Server nicht erreichbaropcua_server_template_uri in IDIAL-APP prüfen, Konnektivität zum EST-Server testen