Testsignierung

Die Testsignierung kann für TwinCAT mit dem gleichen TwinCAT-Nutzerzertifikat erfolgen, wie bei der eigentlichen Auslieferung (vgl.TwinCAT 3 Nutzerzertifikat beantragen).

1. Für einen Testbetrieb z. B. während der Software-Entwicklung genügt die Erstellung eines TwinCAT-Nutzerzertifikates, wie hier beschrieben. Beachten Sie dabei, dass Sie den Verwendungszweck „Sign TwinCAT C++ executeable (*.tmx)“ wählen. Hierfür ist dann die Crypto Version 2 erforderlich, eine Meldung dazu erscheint.
Testsignierung 1:

Auf XAR (und XAE, wenn es sich um einen lokalen Test handelt) aktivieren Sie den Testmodus, damit das Betriebssystem die selbstsignierten Zertifikate akzeptieren kann. Dies kann sowohl auf dem Engineering System (XAE) als auch auf dem Laufzeit-Systemen (XAR) vorgenommen werden.

Für Windows

Führen Sie mittels Administrator-Eingabeaufforderung folgendes aus:
bcdedit /set testsigning yes
und starten Sie das Zielsystem neu.
Es kann sein, dass Sie hierfür „SecureBoot“ abschalten müssen, was im Bios erfolgen kann.

Wenn der Testsigniermodus aktiviert ist, wird das rechts unten auf dem Desktop angezeigt. Das System akzeptiert nun alle signierten Treiber zur Ausführung.

Testsignierung 2:


Für TwinCAT/BSD

In der Datei /usr/local/etc/TwinCAT/3.1/TcRegistry.xml den Eintrag „<Value Name="EnableTestSigning" Type="DW">1</Value> “ unter Key „System“ eintragen.

<Key Name="System">
  <Value Name="RunAsDevice" Type="DW">1</Value>
  <Value Name="RTimeMode" Type="DW">0</Value>
  <Value Name="AmsNetId" Type="BIN">052445B00101</Value>
  <Value Name="LockedMemSize" Type="DW">33554432</Value>
  <Value Name="EnableTestSigning" Type="DW">1</Value>
</Key>

Danach den TwinCAT System Service neu starten:
doas service TcSystemService restart

Nach der jeweiligen Vorgehensweise akzeptiert das System alle signierten Treiber zur Ausführung.

1. Bei dem ersten Aktivieren (Activate Configuration) mit einem TwinCAT-Nutzerzertifikat wird von dem Zielsystem festgestellt, dass dem Zertifikat nicht vertraut wird und der Aktivierungsvorgang wird abgebrochen:
Testsignierung 3:
Für Windows:
Ein lokaler Nutzer mit Administrationsrechten kann über die erstellte REG-Datei durch einfaches Ausführen dem Zertifikat vertrauen:
Testsignierung 4:
Für TwinCAT/BSD:
Falls das Paket „Tcimportcert“ nicht installiert ist dieses installieren: pkg install tcimportcert
Mittels doas tcimportcert /usr/local/etc/TwinCAT/3.1/Target/OemCertificates/<CreatedFile>.reg dem Zertifikat vertrauen.
Danach den TwinCAT System Service neu starten oder das System neu starten:
doas service TcSystemService restart
Diese Verfahren ermöglichen es nur, C++ Module mit einer Signatur von den vertrauten TwinCAT-Nutzerzertifikaten in die Ausführung zu bringen.
2. Nach diesem Prozess können Sie das TwinCAT-Nutzerzertifikat zur Signierung mit dem Testmodus des Betriebssystems verwenden.
Dieses wird in den Projekt-Eigenschaften konfiguriert.
Um das Passwort des TwinCAT-Nutzerzertifikates nicht im Projekt abzulegen, wo es beispielsweise auch in einer Versionsverwaltung landen würde, verwenden Sie das TcSignTool.

Wenn Sie das TwinCAT-Nutzerzertifikat ohne TestMode zur Auslieferung nutzen wollen, müssen Sie das Zertifikat von Beckhoff gegenzeichnen lassen.