sntl_lg_start() Function

Description

Starts the license definition process.

Usage Notes

Use this function as the starting point to validate license definition or to generate licenses. This function requires the Vendor Code. The Vendor Codes are stored in the VendorCodes directory in your system.

To generate an SL license, the fingerprint of the target machine is required. The fingerprint can be specified explicitly in the current_state parameter OR the fingerprint can be extracted from the C2V of an Unlocked license.

For information on how to obtain the machine fingerprint OR how to get the C2V of an Unlocked license, refer to the GetInfo function in the Sentinel Licensing API help file.

Syntax

sntl_lg_status_t SNTL_LG_CALLCONV sntl_lg_start ( 
                 sntl_lg_handle_t      handle,                  const char *        start_param,  
                 sntl_lg_vendor_code_t  vendor_code,  
                 sntl_lg_license_type_t license_type,  
                 const char *        license_definition,  
                 const char *        current_state                  )

Parameters

handle

[IN] License generation handle.

start_param

IN] Reserved for future use. Set this parameter to NULL.

vendor_code

[IN] Pointer to the Vendor Code.

license_type

[IN] Type of license. Possible types are:

SNTL_LG_LICENSE_TYPE_UPDATE

Generates a license for new or modified Features.

SNTL_LG_LICENSE_TYPE_CLEAR_AND_UPDATE

If a license definition is not provided, generates a license that deletes all existing Features and Products on the protection key. The key memory is not erased. Network seats (if any) on the key are not returned to the HL Pool of Seats on your Master key.

If a license definition is provided, generates a license that:

>Deletes any existing Product that is not included in the license. All the Features for these Products are deleted.

>Applies the new or modified Features and Products in the license to the key. Existing Features for any Product included in the license are not deleted.

NOTE   If the license definition adds back a Feature that was deleted as part of the update operation and that originally had concurrency (network seats), the concurrency for the Feature is restored. This occurs even if the Feature is added back without concurrency. To remove concurrency for a Feature, see How to modify the concurrency information in a Feature .

The license can also update the existing key memory.

SNTL_LG_LICENSE_TYPE_FORMAT_AND_UPDATE

Same as SNTL_LG_LICENSE_TYPE_CLEAR_AND_UPDATE. However, this license type also erases the key memory. You can use this license type to write new data to the key memory.

SNTL_LG_LICENSE_TYPE_PROVISIONAL

Generates an Unlocked license for SL-AdminMode or SL-UserMode keys.

SNTL_LG_LICENSE_TYPE_GENERIC_UPDATE

Generates a generic license that can be applied to all keys for a given vendor. Reserved for Thales Internal use.

SNTL_LG_LICENSE_TYPE_CLEAR_CLONE Generates a license that clears clone detection and restores the previous state for an SL license.
SNTL_LG_LICENSE_TYPE_CLEAR_DISABLED_STATE Generate a license that clears the "disabled" state for a Sentinel HL (Driverless configuration) key when the key has been disabled due to attempted tampering.
SNTL_LG_LICENSE_TYPE_VENDOR_AUTHORIZATION Generate a Trusted Storage Authorization file. Use of this file allows you to store protection keys for cloud licensing in an external license storage database over which you have full control. For more information, see How to generate a Trusted Storage Authorization file.

license_definition

[IN] Definition of the license to be introduced at the start. Pass a NULL if:

>You do not want to introduce any license definition here.

>You want to generate a license to clear clone detection.

For more information on XML tags for license definition, see License Definition Input XML Templates.

current_state

[IN] The current state of the target license store. It can be one of the following: NULL, resultant key state, fingerprint, acknowledgment received from end user after installation of a V2C file, or contents of a C2V file from a protection key.

>Fingerprint is used to generate the licenses for SL-AdminMode or SL-UserMode keys.

>The state may be set to NULL if you plan to:

>validate an input license definition without generating a license.

>use sntl_lg_get_info() to obtain a list of types of capable devices (protection keys that are compatible with the license).

>The state must be set to NULL to generate an Unlocked license or a generic update license.

>The resultant key state is the value that was assigned to the 'resultant_state' parameter by the sntl_lg_generate_license() function in an earlier license generation cycle.

Return Values

SNTL_LG_STATUS_OK

SNTL_LG_LIB_INITIALIZATION_FAILED

SNTL_LG_RESOURCE_LOCK_FAILURE

SNTL_LG_OUT_OF_MEMORY

SNTL_LG_INVALID_HANDLE

SNTL_LG_INVALID_PARAMETER

SNTL_LG_INVALID_VENDOR_CODE

SNTL_LG_INVALID_LICENSE_DEFINITION

SNTL_LG_INVALID_KEY_CURRENT_STATE

SNTL_LG_INVALID_SCHEMA_VERSION

SNTL_LG_NOT_SUPPORTED_KEY_TYPE

SNTL_LG_DAYS_TO_EXPIRATION_NOT_SUPPORTED

SNTL_LG_EXPIRY_DATE_NOT_SUPPORTED

SNTL_LG_UNLIMITED_CONCURRENCY_COUNT_NOT_SUPPORTED

SNTL_LG_CONCURRENCY_NOT_SUPPORTED

SNTL_LG_TOO_BIG_RO_MEM_DATA

SNTL_LG_TOO_BIG_RW_MEM_DATA

SNTL_LG_EXCEEDING_MAX_CONCURRENCY_COUNT_LIMIT

SNTL_LG_EXCEEDING_MAX_EXECUTION_COUNT_LIMIT

SNTL_LG_EXCEEDING_MAX_EXPIRY_DATE_LIMIT

SNTL_LG_BELOW_MIN_EXPIRY_DATE_LIMIT

SNTL_LG_MASTER_KEY_CONNECT_ERROR

SNTL_LG_MASTER_KEY_IO_ERROR

SNTL_LG_MASTER_KEY_ACCESS_ERROR

SNTL_LG_INCOMPATIBLE_ENFORCEMENT_TYPE

SNTL_LG_INTERNAL_ERROR

SNTL_LG_CLONE_DETECTED

SNTL_LG_VCLOCK_NOT_ENABLED

SNTL_LG_OLD_FIRMWARE

SNTL_LG_DYNAMIC_RESOURCE_NOT_SUPPORTED

SNTL_LG_CLEAR_CLONE_NOT_ALLOWED

SNTL_LG_LICENSE_DEFINITION_NOT_ALLOWED

SNTL_LG_CLEAR_DISABLED_STATE_NOT_ALLOWED

Related Topics

sntl_lg_initialize()

License Definition Example

License Definition Input XML Templates