Skip to main content

CA-signierte Zertifikate über die SPS-Shell anfordern und bereitstellen

Das Erstellen eines CSR für ein SPS-Zertifikat ist aktuell nur über die SPS-Shell des Geräteeditors möglich.

Wichtig

Bei der Erstellung eines CSR (CSR = Certificate Signing Request) fügt die SPS alle erforderlichen X509-Erweiterungen zur Zertifikatsignierungsanfrage hinzu. Daher kann eine Zertifizierungsstelle (CA) einige Erweiterungen hinzufügen, darf aber die vorhandenen Erweiterungen nicht weglassen. Wenn die Erweiterungen des CSR nicht im signierten Zertifikat vorhanden sind, kann es von der SPS nicht verwendet werden.

Beachten Sie unbedingt, dass das CA-signierte Zertifikat folgende Einträge vom CSR übernommen hat: Key Usage, Extended Key Usage, Subject Alternative Name, jeweils mit dem Flag Critical.Folgende Extensions müssen zwingend im CSR stehen: Key Usage, Extended Key Usage, Subject Alternative Name, jeweils mit dem Flag Critical.

  1. Zuerst erzeugen Sie eine Zertifikatsanfrage für alle benötigten Zertifikate oder Komponenten (CSR = Certificate Signing Request). Dies können auch Clientzertifikate werden (beispielsweise für den OPC UA-Client). Wählen Sie dazu die Registerkarte SPS-Shell der Steuerung. Geben Sie in die Eingabezeile den Befehl cert-createcsr ein.

    Syntax: cert-createcsr [<number retrieved by \"cert-getapplist\">] [encoding=Base64 | ASN.1]

    <number retrieved by \"cert-getapplist\">

    Optional: Angabe der Nummer einer einzelnen Komponente aus der Ausgabe von cert -getapplist. Wenn nicht angegeben, werden Zertifikate für alle ausgegebenen Komponenten erzeugt.

    encoding=Base64 | ASN.1

    Optional: Angabe des Exportformats, Standardeinstellung: ASN.1.

    ANS.1: Binäres Dateiformat für Zertifikate, CRS und asymmetrische Schlüssel.

    Base64: Textuelle Repräsentation der ASN.1 Daten, basierend auf der Base64-Kodierung.

    Anmerkung

    Das Dateiformat kann von CAs vorgegeben sein. Dann wird der CSR automatisch im korrekten Format erzeugt.

    Ansonsten ist auch eine verlustfreie Umwandlung des einen Formats in das andere möglich. Beispielsweise mit Hilfe von OpenSSL:

    openssl req -in <file name> -inform <DER|PEM> -out <file name_new> -outform <PEM|DER>

    DER entspricht ASN.1 PEM entspricht Base64

  2. Wählen Sie die Registerkarte Log und klicken Sie auf die Aktualisierungsschaltfläche _cds_icon_update.png.

    In den Logeinträgen sehen Sie, dass die CSR-Dateien erzeugt wurden.

  3. Wählen Sie die Registerkarte Dateien und öffnen Sie im rechten Dialogteil Laufzeit den Dateipfad cert/export.

    Der Ordner export enthält die erzeugten CSR-Dateien.

    Beispiel: 0_CmpsecureChannl.csr, 1_CmpApp.csr, 2_CmpWebServer.csr

  4. Wählen Sie im linken Dialogteil Host einen Dateipfad aus, wo Sie die CSR-Dateien einfügen wollen, markieren Sie im rechten Dialogteil die CSR-Dateien und klicken Sie auf _cds_button_double_arrow_left.png.

    Die CSR-Dateien werden in den gewünschten Ordner kopiert.

  5. Sie können diese Zertifikatsanfragen von einer Zertifizierungsstelle (Certificate Authority = CA) signieren lassen und erhalten dann von der Zertifizierungsstelle signierte Zertifikate.

  6. In den folgenden Schritten importieren Sie diese signierten Zertifikate auf Ihre Steuerung.

    Anmerkung

    Nach einem Neustart der Steuerung werden automatisch die CA-signierten Zertifikate verwendet.

    Tipp

    Alternativ können sie den CODESYS Security Agent verwenden, um die Zertifikate auf die Steuerung zu übertragen. Für weitere Informationen siehe: CODESYS Security Agent

  7. Wählen Sie im rechten Dialogteil Laufzeit den Pfadcert/import.

  8. Wählen Sie im linken Dialogteil Host den Pfad im Dateisystem, wo Sie die signierten Zertifikate abgelegt haben und selektieren Sie die Zertifikate.

  9. Klicken Sie auf _cds_button_double_arrow_right.png.

    Die Zertifikate werden in den Ordner cert/import kopiert.

  10. Wählen Sie nun die Registerkarte SPS-Shell.

  11. Geben Sie in die Eingabezeile der Registerkarte den Befehl cert-import own <file name of the certificate.cer> ein und drücken Sie die Eingabetaste.

    Den Laufzeitsystem-Servern stehen die signierten Zertifikate zur Verfügung.

Anmerkung

In der Konfigurationsdatei der Steuerung (beispielsweise CODESYSControl.cfg) kann für einen OPC UA Server mit folgendem Eintrag der Name der Organisation im Zertifikat gesetzt sein:

[CmpOPCUAServer]

SECURITY.CompanyOrOrganizationName="<organization name>"

Wenn der CODESYS Security Agent installiert ist, besteht außerdem die Möglichkeit, die Gerätesicherheitseinstellungen auf der Registerkarte Kommunikation des Geräteeditors zu bearbeiten.