Protection Through Choice
With the CodeMeter System, you can choose to deliver your software protected with a CodeMeter stick (hardware “dongle”) or protected with a machine-bound license activation file (CodeMeterACT) or both! Of course you achieve the highest security with the hardware based solution. But sometimes, it is impossible for your customer to allow any type of USB device inside their firewall, in this case you can use the CodeMeterACT software based solution.
Since both CodeMeter and the CodeMeterACT activation file serve an identical purpose, they share a common set of development tools. As the software developer, it is a very simple process to implement CodeMeter protection in such a way that you can protect your software simultaneously with either hardware or software. This means, that you can deliver your software as a single application, and decide later whether or not to use the dongle, use activation, or use both, on a customer by customer basis. The following basics show you how it works, and how easy it is to realize this high level of software protection.
Security By Encryption
The security of CodeMeter / CodeMeterACT is based on encryption. The software to be protected, program modules, or even data in the application can be encrypted by the developer before shipping. The key for decryption is part of the license, the developer generates for the end-user. This encryption/decryption key is securely stored inside a CodeMeter stick or stored as part of an encrypted license file. On the user’s side, the encrypted parts of the software are decrypted as needed by the application during run time. After use, these parts get re-encrypted.
Standard License Manager
CodeMeter and CodeMeterAct are based on the same principles and have the ability to map the same license models. The management of licenses at the customer’s location is provided by a standard license manager (CodeMeter License Server). You simply access the standard interface of CodeMeter License Server, and the management of license activation files and/or dongles is done automatically. 
What types of licenses can be created and managed by the CodeMeter License Server? Well… the truth of the matter is that almost any licensing scenario that can be devised by a marketing team can be secured and controlled with the CodeMeter system. This includes network licenses (user bound or machine bound) timed licenses, pay-per-use licenses, standby licenses (both hot standby and cold standby) feature set licenses and on and on. A license consists of a Firm Code and a Product Code. The Firm Code represents a unique value Wibu-Systems assigns to you. You are free to select any number of different Product Codes to further secure your various license schemes. By the way, by combining a Product Code value with the Firm Code value, you create an encryption key that is secure from even our engineers. This means that the system itself is secure… not just the knowledge of the system. An activation license file or a CodeMeter stick may hold several Product Codes simultaneously. The Firm Code with CodeMeterAct differs from the one used for CodeMeter. In the event that you decide to use both protection systems, you will receive two different Firm Codes from Wibu-Systems. Due to the different Firm Codes the CodeMeter License Server automatically knows whether to search for the license in an activated license file or in a dongle.
For a further explanation of license types, the CodeMeter License Server, CodeMeterACT, CodeMeter sticks and how all of these elements of the CodeMeter System can increase your revenue and lower your support and maintenance costs, please contact our sales team and order your SDK today.
Common Development Tools - Protection With AxProtector
AxProtector is a tool which automatically encrypts your software after compiling – regardless of the operating system (currently AxProtector supports Win32, Win64. .NET, Java and Mac OS X). In order to create software supported by CodeMeter and CodeMeterAct at the same time simply check the box by both options.
Tip: We recommend as a best practice in this case; that you use the same Product Code for CodeMeter and CodeMeterAct. This will ease the management of licenses in your database.
That is all there is to it, the rest is automatically done for you by AxProtector: the creation of arbitrary keys, the separate encryption of the keys, and the realization of additional security concepts.
Common Development Tools - Protection With WUPI
The Wibu Universal Protection Interface (WUPI) provides you with the option of implementing software protection queries directly into your source code. As a C interface, WUPI is available for all classical programming languages. And as “WUPI for .NET,” it is now available for all .NET programming languages.
By using WUPI, you simply integrate a placeholder (a number, e.g. “1”) into your software, and then query for the license holding this placeholder using the function WupiCheckLicense. After compiling, IxProtector replaces the placeholder by “licenselists” and automatically adds code with up-to-date cryptographic mechanisms. A licenselist may consist of several license entries. A license entry consists of a Firm Code and a Product Code. When using CodeMeter and CodeMeter at the same time you simply apply a license list with separate CodeMeter or CodeMeterAct license entries. By the way, IxProtector is integrated into AxProtector, and along with simple queries, allows you to individually encrypt code segments, and to control when these segments are decrypted at runtime. We recommend using WUPI when you want to activate different modules of your software separately, individually decrement counters, or to increase the security of AxProtector even more.
For a further explanation of WUPI, AxProtector, IxProtector and how all of these elements of the CodeMeter System can speed the implementation of software protection and license management features in your applications and how the CodeMeter system will increase your revenue and lower your support and maintenance costs, please contact our sales team and order your SDK today.


