DeployLX Software Protection System

Serial Numbers, Activation Codes and Extensions

During license validation users may be asked to enter various codes to enable certain features. A user might be asked to enter a serial number to register their product or an activation code to tie the license to their hardware. DeployLX provides a core system for generating and validating license codes for 3 different functions.

Serial Numbers

Serial numbers are used to unlock licenses on a users machine.

See the Serial Numbers and the Registration Process topic for more details.

Activation Codes

Activation codes are used by the hardware locking system to tie the license to a specific hardware profile when the user does not have access to the Internet to perform activation online.

See the Hardware Locking and the Activation Process topic for more details.

Extensions

Are used to extend the use of a license when the user does not have access to the Internet to perform an online extension.

See the License Extensions and Subscriptions topic for more details.

The Encoding Process

License codes are created by encrypting a small array of bytes representing data relevant to the associated task through a binary encoding algorithm. The algorithm transforms the source array to an encoded array which is then converted to a string representation that can be easily communicated to the user and entered on screen. The licensing runtime performs the process in reverse to obtain the original data while performing integrity checks and other validation on the code to ensure it's authenticity.

When the encoded data is converted to a string, DeployLX will use the character set defined by the license. The default character set used by the library does not use commonly mistaken characters such as 0 (zero) and O (the letter O) so that the user has the greatest chance of entering the code correctly.

DeployLX uses the serial number prefix of the license to create codes that are used with only that license. Using this strategy, serial numbers, activation codes and extensions created for one edition cannot be used on a different edition of the same product.

The encoding algorithms use data from the license signing keys to create codes that can only be used by software protected with the same keys. Keys created by one publisher cannot be used to unlock features of software created by another publisher.

The Code Algorithms

DeployLX provides several code generating algorithms for creating serial numbers, activation codes and extensions. Each algorithm offers a varying compromise between security and easy of use for the user. Generally the longer the code the greater chance of error when entering

Algorithm Description Security 1 Usability 2
Serial Number

An advanced algorithm that provides excellent security and reasonably short codes. Suitable for generating serial numbers for most products.

Activation Code An advanced symmetric encryption algorithm with hidden keys. The codes generated with the Activation Code algorithm are generally longer than other codes and offer a great deal of security at the cost of usability.
Simple Codes generated with the Simple algorithm will use only numbers and uses a very simple encoding system to produce relatively short codes.
Basic The Basic algorithm strikes a balance between security and usability and is suitable for generating shorter codes than the default Serial Number algorithm.
Advanced An additional advanced algorithm that generates codes of similar security and usability as the Activation Code algorithm but uses different keys and logic.
  1. Estimated difficulty faced by a hacker to generate valid codes for the given algorithm without access to the original keys.
  2. Estimated difficulty for a user entering a code without error.

Entering Codes

When prompting the user to enter a license code the DeployLX forms use a custom text box that forces the user to enter the correct values and provides hints about which characters are required. All of the limits that gather license codes from the user provide a mask property. DeployLX automatically generates the correct mask needed to prompt the user but custom masks may also be used.

See the Code Masks topic for more on customizing the license code input fields.

Generating Codes

The DeployLX Manager is the easiest way to generate serial numbers, activation codes and extensions. Generate codes using either the Easy or Advanced license editors.

See Also