Creating Licenses

When you ship your product to your customers, it will require a license to run. Generally, you want to grant different license rights to each customer. In order to do that, you create a unique license file for each customer.

The license file consists of lines of readable text which describe the license server node, some parameters of the license server binaries, and the actual license grants to your customers. For a complete description of the license file format, see the RLM Reference Manual.

There are three main ways to create and ship licenses:

  • Standard rlmsign utility

  • Custom license generator built with rlm_sign_license() API call

  • RLM Internet Activation


rlmsign – Standard License Creation Tool

RLM is shipped with a license creation tool called rlmsign which can be integrated into your fulfillment process. This tool reads a template license file and computes the license key for each license contained in the file. This license key authorizes the license and prevents tampering with the license parameters.

Using rlmsign:

rlmsign license_file [bits-per-character]

rlmsign reads license_file, computes the license keys for all the included licenses that specify your ISV name, and re-writes the file with the updated license keys.

The optional parameter bits-per-character is one of 4, 5, or 6, and specifies the character encoding of the resulting license key. If not specified, bits-percharacter defaults to 5.

bits-per-character

Result

4

License keys consisting of hexadecimal numbers only. The resulting key is approximately 92 characters in length.

5

The default. License keys consisting of uppercase letters and numbers only. The resulting key is approximately 74 characters in length.

6

License keys consisting of upper and lowercase letters, numbers, and the 4 special characters (‘*’, ‘=’, ‘+’, and ‘~’). The resulting key is approximately 62 characters in length.


License creation API – rlm_sign_license()

In some cases, it is more convenient to build the license in-memory and sign that license directly before it is written to a file. In general, it is better to create the licenses in a file and use rlmsign to sign the licenses, however an API call is available for cases where this is not practical.

RLM has the rlm_sign_license() API call to sign a license line in-memory. For details on the rlm_sign_license() API call, see the RLM Reference Manual.


RLM Activation Pro

RLM Activation Pro is an optional add-on to RLM which allows you to give your customer an activation key which then allows your customer to retrieve their license from your website at a later time. The activation key is a short string (resembling a credit-card number) which can be generated in advance. Once the customer knows the system where they wish to use the software, the RLM activation software creates the license and transmits it to the user, creating the license file for them. Details of RLM Activation Pro are in the RLM Activation Pro Manual.


Reserved Product Names

In general, your product names need only be unique to your company. However, any product name beginning with the 4 characters “rlm_” is reserved, and should not be used by you for your products.