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
|
[IN] License generation handle. |
|
|
IN] Reserved for future use. Set this parameter to NULL. |
|
|
[IN] Pointer to the Vendor Code. |
|
[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. | |
|
[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. |
|
|
[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_LIB_INITIALIZATION_FAILED
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_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_ACCESS_ERROR
SNTL_LG_INCOMPATIBLE_ENFORCEMENT_TYPE
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