Encrypting Modules

TwinCAT C++ modules loaded via the TwinCAT Loader (TMX files) can be encrypted, i.e. a key protects the content of the driver against manipulation and reverse engineering at file level.

Since the TwinCAT Loader is not used under Beckhoff RT Linux®, the functionality described here cannot be used.

Encrypting Modules 1:

No debugging

Encrypted modules cannot be searched for errors. Encrypted modules are not displayed in the debugger.

Module encryption is enabled as follows:

A TwinCAT user certificate with "Sign TwinCAT C++ executable (*.tmx)" and thus "Crypto Version" 2 is required.
The Twincat Software Protection must be configured.
1. In the system tree, select the Solution User DB Key as the Boot File Encryption Key.
Encrypting Modules 2:
2. Select the appropriate entry under System->TcCOM Objects -> Encryption.
Encrypting Modules 3:
3. To start, an encrypted module must be loaded with the TwinCAT Loader.
For versioned TMX: The drivers are stored unencrypted in XAE and encrypted when they are activated on the target system. The encryption can also be checked in the project_boot directory (open the TMX file in the editor. File starts with "TcEncryptedFile".

TwinCAT C++ modules can be started in two ways:

Via System -> TcCOM Modules -> Class Factories tab you can see whether the TwinCAT Loader or the operating system is used:

Encrypting Modules 4: