Module signing
For Windows and TwinCAT/BSD® runtime systems, TwinCAT C++ modules are signed with a certificate so that they can be executed. Beckhoff RT Linux® systems do not recognize file-based signatures, so this step can be omitted if Beckhoff RT Linux® alone is to be provided.
The signature ensures that only C++ software whose origin can be traced is executed on productive systems.
The C++ modules are loaded by the TwinCAT runtime system and must be signed with a TwinCAT user certificate.
For test purposes, certificates that cannot be verified can be used for signing. However, this is only possible if the operating system is in test mode so that these certificates are not used on productive systems.
![]() | No signing for engineering and Beckhoff RT Linux® target systems. Only execution on Windows and TwinCAT/BSD® requires certificates – the engineering and Beckhoff RT Linux® target systems do not. |
Organizational separation of development and production software
Beckhoff recommends working organizationally with (at least) two certificates.
- A certificate which is not countersigned, thus the test mode is needed for the development process. This certificate can also be issued individually by each developer. The test systems are then set to test mode.
- Only the software that has passed the corresponding final tests is signed by a countersigned certificate. This software can thus also be installed on machines and delivered.
Such a separation of development and operation ensures that only tested software runs on productive systems.
