Zum Hauptinhalt springen

CODESYS V3 / SQL4CODESYSV3 Version 5

Target: "Standard" / "UTF-16"

Voraussetzungen

Die Version 5 ist funktionell rückwärtskompatibel mit der Version 4. Neu kann ab dieser Version eine verschlüsselte Kommunikation mit dem Connector (ab V5.1.0.0) betrieben werden.

In den nachfolgenden Kapiteln wird nur dieser (neue) Aspekt der Kommunikation behandelt und für die Standard-Funktionen auf die bestehenden Kapitel verwiesen.

Nachfolgend wird die Konfiguration anhand einer CODESYS RTE gezeigt.

Hardware-Architektur und SSL-Zertifikate

  • SPS IP-Adresse: 10.100.100.215

  • SQL4automation Connector IP-Adresse: 10.100.100.211

Es werden folgende Zertifikate generiert (OpenSSL). Beachten Sie, dass die Einstellungen, insbesondere die IP-Adressen, für die entsprechende Netzwerk-Architektur angepasst werden müssen.

CLIENT215

openssl genrsa -out client215.key 2048
openssl req -new -key client215.key -out client215.csr -subj "/C=CH/ST=Bern/L=Lyssach/CN=10.100.100.215/O=Inasoft"
openssl x509 -req -in client215.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out client215.crt -days 1825 -sha256
openssl pkcs12 -export -out client215.p12 -inkey client215.key -in client215.crt

→ PWD: SSLtest

SERVER211

openssl genrsa -out server211.key 2048
openssl req -new -key server211.key -out server211.csr -subj "/C=CH/ST=Bern/L=Lyssach/CN=10.100.100.211/O=Inasoft"
openssl x509 -req -in server211.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server211.crt -days 1825 -sha256
openssl pkcs12 -export -out server211.p12 -inkey server211.key -in server211.crt

→ PWD: SSLtest

ROOT CA

openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1825 -out rootCA.pem -subj "/C=CH/ST=Bern/L=Lyssach/CN=SQL4automation/O=Inasoft"
openssl pkcs12 -export -out rootCA.p12 -inkey rootCA.key -in rootCA.pem

→ PWD: SSLtest

Inbetriebnahme TLS-Verschlüsselung

Vor der Inbetriebnahme sind die Zertifikate für den SQL4automation Connector in die entsprechenden Pfade zu kopieren.

  • Pfad «C:\ProgramData\SQL4automation\certs\CA» 🡪 Den Inhalt des RootCA in die Datei kopieren

    Den Inhalt des RootCA in den Ordner certs\CA kopieren
  • Pfad «C:\ProgramData\SQL4automation\certs\S4AConnector» 🡪 Die Server-Zertifikate werden an diesen Ort kopiert.

    Die Server-Zertifikate werden nach certs\S4AConnector kopiert
  • Pfad «C:\ProgramData\SQL4automation\certs\S4AQueryTool» 🡪 Hier liegen die Zertifikate, um mit dem Query-Tool testen zu können.

Die Zertifikate zum Testen mit dem Query-Tool in certs\S4AQueryTool

Nach dem Kopieren des RootCA muss der SQL4automation Connector Dienst vor dem Betrieb neu gestartet werden.

Im weiteren Schritt wird empfohlen, die Verbindung zwischen SQL4automation und der Steuerung OHNE die TLS-Verschlüsselung in Betrieb zu nehmen.

Die Verbindung ohne TLS-Verschlüsselung in Betrieb nehmen Die Verbindung ohne TLS-Verschlüsselung testen

Erst wenn die Kommunikation ohne Verschlüsselung funktioniert, empfehlen wir als nächstes die Verschlüsselung zu aktivieren. Beachten Sie, dass die Systemzeit an dieser Stelle kontrolliert und falls erforderlich eingestellt werden muss!

Verschlüsselung aktivieren — Passphrase eingeben

Passphrase: SSLtest

In der Programmierumgebung «View» 🡪 «Security Screen» auswählen und sich mit der Steuerung verbinden.

Den Bereich «Devices» 🡪 «Own Certificates» auswählen.

Den Bereich «Devices» 🡪 «Own Certificates» auswählen

Anschließend die Schaltfläche «Download» klicken und das Client-Zertifikat auswählen.Die Schaltfläche «Download» klicken und das Client-Zertifikat auswählen

Pwd: SSLtest

Pwd: SSLtest

Den Bereich «Devices» 🡪 «Trusted Certificates» auswählen.

Anschließend die Schaltfläche «Download» klicken und das Server-Zertifikat auswählen.

Die Schaltfläche «Download» klicken und das Server-Zertifikat auswählen

Beim Instanzaufruf von SQL4Codesys die Verschlüsselung aktivieren und die entsprechenden Zertifikate über die Namen referenzieren:

  • xTlsEnable: TRUE

  • sTlsCertificateCommonName: <IP-Adresse der Steuerung>

  • sTlsUseCase: SQL4automation

  • sTlsVersion: 1.3

Instanzaufruf von SQL4Codesys mit aktivierter TLS-Verschlüsselung und referenzierten Zertifikaten

Die Code-Änderungen online herunterladen und eine Test-Abfrage ausführen lassen.

Eine Test-Abfrage mit aktivierter TLS-Verschlüsselung ausführen