Issuing and using your own OEM licenses

With the help of TwinCAT 3 license technology a PLC application can be protected against cloning through binding to hardware (Beckhoff IPC or TwinCAT dongle). Also, additional functions of the application can be licensed to end users through the creation of so-called "feature licenses".

Here you can find the Quick start.

System requirements

Operating system:

TC3 PLC Lib Tc2_Utiltities:

TwinCAT Version:

Issuing and using your own OEM licenses 1:

Reliable protection only when using the latest TwinCAT 3 version

For reliable protection (e.g. secure encryption), always use the latest TwinCAT 3 version. This provides the maximum security.

Use at least TwinCAT 3.1 Build 4024.x.
For security reasons, do not use an older version!

General notes

Issuing and using your own OEM licenses 2:

If you use OEM licenses make sure you encrypt your boot project!

Remember that the license ID queried via FB_CheckLicense in the binary code can easily be found and (with a little effort) manipulated with a hex editor. Therefore, be sure to encrypt your boot project (safest), or at least disguise the queried license ID in the source code as best as possible.

Prerequisite for using this function: Issue of a TwinCAT OEM certificate

Licensing process

The licensing process is subdivided into the following steps:

  1. Creating a general license description file.
    The license description file is used for describing and selecting a specific license type during the licensing process. Among other information it contains a unique license ID, which is used to unambiguously identify the license type.
  2. Creating a License Request File for the required target system.
  3. Signing the License Request File with the OEM certificate, thereby creating a License Response File for the specified target system. This activates the corresponding OEM application license on the respective target system.

Issuing and using your own OEM licenses 3:

The details of the licensing process are described in the following sections.