License activation#
This section describes license activation.
License activation should be performed after the distribution package is unarchived.
The generated license can only be used on the device where it was activated as the fingerprint of the device is used for its creation.
NOTE! Always remember that incorrect config may huck the things up very badly. Pay attention to what you configure and how. Always double-check what you deploy.
Online activation#
Online activation is performed when you have an Internet connection on the device where the LUNA SDK license is activated.
Licensing configuration options are specified via the "license.conf" file which is an XML document with special tag formatting.
You can find the "license.conf" file in the "data" directory in the distribution package.
This file is mandatory for license activation. You must fill it with the correct values before launching LUNA SDK.
Fill in this file carefully. Incorrectly entered data may cause problems with activation on the device.
Online activation process#
The activation process is as follows:
- Request the Server, EID, and ProductID from VisionLabs
- Go to the "data" directory
- Open the "license.conf" file
- Enter the received parameters
- Save changes in the "license.conf" file
The license key will be generated and saved to the "data" directory.
Now you can use LUNA SDK.
License file parameters description#
License activation and next processing requires parameters listed below.
Parameter | Description | Type | Default value |
---|---|---|---|
Server |
Activation server URL | "Value::String" | (empty) |
EID |
Entitlement ID | "Value::String" | (empty) |
ProductID |
Product ID | "Value::String" | (empty) |
Filename |
Default license filename | "Value::String" | license.dat |
Test |
If run in a test environment | "Value::Int1" | 0 |
ActivationMode |
Activation mode | "Value::String" | Hardware |
FingerprintSource |
Generation option | "Value::Int1" | 0 |
ContainerMode |
If run in container | "Value::Int1" | 0 |
ConnectionTimeout |
Request timeout (in seconds) | "Value::Int1" | 15 |
ServerRetriesCount |
Retry attempts count | "Value::Int1" | 3 |
licenseModel |
License type | "Value::Int1" | 1 |
For more information on the parameters, see Parameter details.
By default, the file is created in the "data" directory. The file has a binary format. On subsequent launches of the product on the same device, the license will be automatically read from this file.
An example of the "license.conf" file:
?xml version="1.0"?>
<settings>
<section name="Licensing::Settings">
<param name="Server" type="Value::String" text=""/>
<param name="EID" type="Value::String" text=""/>
<param name="ProductID" type="Value::String" text=""/>
<param name="Filename" type="Value::String" text="license.dat"/>
<param name="Test" type="Value::Int1" x="1" />
<param name="ActivationMode" type="Value::String" text="Hardware"/>
<param name="FingerprintSource" type="Value::Int1" x="1"/>
<param name="ContainerMode" type="Value::Int1" x="1"/>
<param name="ConnectionTimeout" type="Value::Int1" x="15"/>
<!-- Currently, the available values are: 1 and 2. Default is 1 -->
<param name="licenseModel" type="Value::Int1" x="2" />
</section>
</settings>
Parameter details#
Server, EID, and ProductID#
These parameters are mandatory for license activation. Obtain them from VisionLabs.
The EID
parameter is required for both online and offline activation.
The Server
and ProductID
are only required for online activation.
Filename#
The Filename
parameter specifies the name of the file where the license will be saved after activation.
The maximum length is 64 characters.
Important: Do not change the default name, as this may lead to unexpected behavior during activation or runtime.
Test#
Applies to FIT license only.
The Test
parameter determines whether the system operates with a test entitlement in terms of FIT. It specifies whether the license being used is a test license or a production license. Possible values:
0
- The system operates with a production license.1
- The system operates with a test license.
ActivationMode#
The ActivationMode
parameter specifies which path to choose when retrieving device UID during license activation stage. Possible values:
Hardware
JNI
ContainerMode#
The ContainerMode
parameter has the following possible values:
0
- Ignore any virtual network interfaces in the formation of the fingerprint.1
- Take into account all virtual interfaces in the formation of a fingerprint.
The 1
value is used while running in docker container due to physical network interface is not available by default. Although, you can make physical interface available with --net=host
and set ContainerMode
to 0
. In this case you can be sure fingerprint will not be changed among containers. For details, see "Licensing in docker container".
FingerprintSource#
The FingerprintSource
parameter has the following possible values:
0
- Default. First fingerprint generation option.1
- Second fingerprint generation option.
ConnectionTimeout#
The ConnectionTimeout
specifies the maximum time, in seconds, allowed for the transfer operation during license activation.
Behavior:
- A value of
0
disables the timeout, allowing the operation to proceed indefinitely. - Negative values or values exceeding the maximum limit (300 seconds) are invalid.
While longer timeouts reduce the risk of aborting valid operations, they may increase activation delays. Balance this parameter based on your network conditions.
ServerRetriesCount#
The ServerRetriesCount
parameter defines the number of retry attempts for connecting to the activation server. It helps handle transient failures, improving application stability.
The parameter must be a non-negative integer, with a maximum value of 100 attempts.
licenseModel#
The licenseModel
defines the license to be used. Possible values:
1
- The system uses FIT license.2
- The system uses Zeus license.