Treibersignierung

TwinCAT C++-Module müssen durch ein Zertifikat signiert werden, damit sie ausgeführt werden können.

Durch die Signatur wird sichergestellt, dass auf Produktiv-Systemen nur C++-Software ausgeführt wird, deren Herkunft nachvollziehbar ist.

Zu Testzwecken können Zertifikate zum Signieren verwendet werden, die nicht überprüft werden können. Dies ist allerdings nur möglich, wenn das Betriebssystem im Testmodus ist, damit diese Zertifikate nicht auf Produktiv-Systemen genutzt werden.

Treibersignierung 1:

Engineering erfordert keine Signierung

Lediglich die Ausführung erfordert Zertifikate - das Engineering nicht.

Es gibt zwei Arten, wie Module geladen werden. Hierfür werden unterschiedliche Zertifikate zur Signierung verwendet:

Da ein veröffentlichtes Modul auf verschiedenen PCs lauffähig sein soll, ist für eine Veröffentlichung (Publish) immer eine Signierung erforderlich.

Organisatorische Trennung von Entwicklungs- und Produktiv-Software

Beckhoff empfiehlt organisatorisch mit (mindestens) zwei Zertifikaten zu arbeiten.

  1. Ein Zertifikat, welches nicht gegengezeichnet ist, somit den Testmodus benötigt, für den Entwicklungsprozess. Dieses Zertifikat kann sich ggf. auch individuell jeder Entwickler selber ausstellen.
  2. Nur die Software, welche durch entsprechende finale Tests gelaufen ist, wird durch ein gegengezeichnetes Zertifikat signiert. Diese Software kann damit auch auf Maschinen aufgespielt und ausgeliefert werden.

Eine solche Trennung der Entwicklung und des Betriebes stellt sicher, dass nur getestete Software auf produktiven Anlagen läuft.