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.
![]() | 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.

- 2. Select the appropriate entry under System->TcCOM Objects -> Encryption.

- 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:
- TMX files are loaded by the TwinCAT Loader: The TwinCAT Loader starts the TwinCAT module.
- The TwinCAT Loader requires a signature with TwinCAT user certificate.
- This option is mandatory for encrypted modules.
- The TwinCAT Loader is required for the versioned C++ projects.
- TME files are loaded by the operating system
Via System -> TcCOM Modules -> Class Factories tab you can see whether the TwinCAT Loader or the operating system is used:

See also
