XML Tags for Output From the sntl_lg_decode_current_state() Function
This topic describes the XML tags that can be seen in a C2V file after the file has been processed using the sntl_lg_decode_current_state() function.
The sntl_lg_decode_current_state() function can be used to decode the following types of input:
> Fingerprint (UserMode /AdminMode)
Segment 1 – Protection Key Information
Segment 2 – Protection Key Configuration Information
Segment 3 - License Information (Products and Features)
Segment 4 - Default Memory Information
Segment 5 - Dynamic Memory Information
The XML tags generated for each type of input are described below.
Fingerprint (UserMode /AdminMode)
A decoded fingerprint contains the following XML tags:
Tag Name | Description |
---|---|
<type> |
Fingerprint type (SL-AdminMode , SL-UserMode) |
<cloud_licensing_type> |
Possible values are: >Secure : For licenses (whether cloud enabled or cloud-disabled) installed in SQLite-based license storage. >Trusted: For cloud-enabled licenses installed on MySQL based storage and created using the subscription based Master Key. |
<system_fingerprint> |
Used to show the decoded system fingerprint tags |
<reference_fingerprint> |
Used to show the decoded reference fingerprint tags |
<fingerprint_info> |
Contain the fingerprint decoded information, child of the system_fingerprint or reference fingerprint tag. |
<criteria> |
Criteria for which fingerprint is received (child tag of fingerprint_info) |
<name> |
Criteria name (“cpu” , “cpu_uid”, “mainboard”, “mainboard_uid”, “hdd”, “hdd_uid”) |
<value> |
Criteria 32-bit hash value (4 bytes) |
Sample input fingerprint
<?xml version="1.0" encoding="UTF-8" ?>
<hasp_info>
<host_fingerprint type="SL-AdminMode" crc="2947340476">MXhJSe+Noy2VCgCbD4GOVB4FBmCg2BAPu6iIF4sMTAWhAN5YkpJswZrxwA1WsOQvIsYl0M0SCwJ4legPAnD/4sWLVRzJ/w==</host_fingerprint>
<host_fingerprint type="SL-UserMode" vendorid="37515" crc="2652732595">MnhJSe+Nk0VEKMQsCpgPUS4BMwOkCwJgoJghDKQ8doCIF4fMfINFRgAA3lTqIA3UCMia8aCNVBj64FkkIoYlGsRikiAFAniR7s+XCliR/+Ldm3dCam5N/A==</host_fingerprint>
</hasp_info>
Decoded output of the fingerprint
<?xml version="1.0" encoding="utf-8"?>
<sentinel_ldk_info>
<key>
<type>SL-AdminMode</type> <cloud_licensing_type>Secure</cloud_licensing_type>
<configuration_info>
<system_fingerprint>
<fingerprint_info>
<criteria>
<name>cpu</name>
<value>3765583279</value>
</criteria>
<criteria>
<name>cpu</name>
<value>3765583279</value>
</criteria>
<criteria>
<name>cpu</name>
<value>3765583279</value>
</criteria>
<criteria>
<name>cpu</name>
<value>3765583279</value>
</criteria>
<criteria>
<name>mainboard</name>
<value>1539357128</value>
</criteria>
<criteria>
<name>mainboard_uid</name>
<value>4249477375</value>
</criteria>
<criteria> <name>vm_info</name> <value>1294737779</value> </criteria> <criteria> <name>secure_storage_uid</name> <value>4223829177</value> </criteria> <criteria> <name>fqdn</name> <value>2583134341</value> </criteria> <criteria>
<name>ethernet_uid</name>
<value>72901130</value>
</criteria>
<criteria>
<name>ethernet_uid</name>
<value>3813177846</value>
</criteria>
<criteria> <name>license_storage</name> <value>secure</value> </criteria> <criteria>
<name>pci_storage_serial_ata</name>
<value>2331264103</value>
</criteria>
<criteria>
<name>pci_network_other</name>
<value>597963747</value>
</criteria>
<criteria>
<name>pci_display_vga</name>
<value>1208484445</value>
</criteria>
<criteria>
<name>pci_multimedia_hd_audio</name>
<value>2666069979</value>
</criteria>
</fingerprint_info>
</system_fingerprint>
</configuration_info>
</key>
<key>
<type>SL-UserMode</type>
<vendor>
<id>37515</id>
</vendor>
<configuration_info>
<system_fingerprint>
<fingerprint_info>
<!—Similar to AdminMode fingerprint -->
</fingerprint_info>
</system_fingerprint>
</configuration_info>
</key>
</sentinel_ldk_info>
NOTE
>The value of the vm_info criteria enables you to determine whether a fingerprint is retrieved from a physical machine or a virtual machine. For physical machines, the value "1294737779" is retrieved. Any other value indicates that the fingerprint was retrieved from a virtual machine.
>For fingerprints of virtual machines, the value provided for the mainboard_uid criteria is the UUID of the virtual machine.
>The value of the license_storage criteria indicates the type of license storage used. Possible values are:
•Secure: For sqlite-based storage.
•Trusted: For MySQL-based storage
C2V for Protection Key
A C2V file may contain information for the following types of protection keys:
>SL-Legacy
>SL-AdminMode
>SL-UserMode
>HASP HL
>Sentinel HL (HASP configuration) – This appears below as Sentinel HL (HASP).
>Sentinel HL (Driverless configuration) – This appear below as Sentinel HL (Driverless).
After the C2V of any type of protection key is decoded, the output contains four segments as shown in the sample output that follows.
Opening Tags
<?xml version="1.0" encoding="utf-8"?>
<sentinel_ldk_info>
<key>
Segment 1
<id>49384613</id>
<type>HL-NetTime-250+</type>
<update_counter>59</update_counter>
<disabled>
<reason_code>3</reason_code>
</disabled>
<vendor>
<id>37515</id>
<name/>
</vendor>
Segment 2
<configuration_info>
<hasphl/>
<firmware_revision>4.53</firmware_revision>
<real_time_clock_present>Yes</real_time_clock_present>
<manufacturing_date>2023-2-21</manufacturing_date>
<flash_memory_size>No Flash</flash_memory_size>
</configuration_info>
Segment 3
<product>
<id>0</id>
<name/>
<feature>
<id>0</id>
<name/>
<license_properties>
<perpetual/>
<concurrency>
<count>Unlimited</count>
<count_criteria>Per Station</count_criteria>
<network_access>Yes</network_access>
</concurrency>
<remote_desktop_access>Yes</remote_desktop_access>
</license_properties>
</feature>
</product>
Segment 4
<memory>
<ro_memory length="2048">U29uaWEgc2FoaXR5YQ.....=</ro_memory>
</memory>
Segment 5
<dynamic_resource> <isv_memory attribute="ro"> <file_id>1</file_id> <size>500</size> <content>JlYWQgb25seSBkeW5hbWljIHJlY291cmN...</content> </isv_memory> </dynamic_resource>
Closing Tags
</key>
</sentinel_ldk_info>
Segment 1 – Protection Key Information
Protection key information tags are identical for all types of protection keys.
Tag Name | Description |
---|---|
<id> |
HASP/Container ID (32-bit for HL type, 64-bit for SL type) |
<type> |
The type of HL or SL key. For the list of types, see the key types returned by the info parameter for the sntl_lg_get_info() function. |
<update_counter> |
Last update counter of the C2V |
<disabled> <reason_code> |
If these tags are present, the key has been disabled due to attempted tampering with the protection key or with the protected application. This is only applicable for Sentinel HL (Driverless configuration) keys. The <reason_code> tag contains a numeric code that indicates the reason that the key was disabled. For more information, contact Technical Support. |
<vendor> |
Parent tag to contain the vendor information |
<id> |
Vendor ID (32 bit) |
<name> |
Vendor name (if a name exists) |
Segment 2 – Protection Key Configuration Information
Protection key configuration tags are different for the different enforcement types.
Key configuration for HL (Sentinel HL/Driverless keys) enforcement
Tag Name | Description | Tags are applicable for: | |
---|---|---|---|
HASP HL/ Sentinel HL (HASP) | Sentinel HL (Driverless) | ||
<configuration_info> |
Parent tag to contain all configuration information |
Yes |
Yes |
<hasphl> |
Key configuration type (for HASP HL only) |
Yes |
No |
<sentinelhl> |
Key configuration type |
Yes |
Yes |
<driverless> |
Key configuration type (for Sentinel HL only) |
No |
Yes |
<firmware_revision> |
Firmware version |
Yes |
Yes |
<real_time_clock_present> |
Real time clock present into the key |
Yes |
Yes |
<vclock_enabled> | Whether V-Clock is enabled for the key. Possible values are Yes and No. | No | Yes |
<vclock_time> | Current V-Clock time. Only displayed if V-Clock is enabled. Time is returned in the format: YYYY-MM-DDHH:MM:SS | No | Yes |
<fallback_to_vclock> |
Whether a Sentinel HL key is configured to switch automatically to the V-Clock in the event that the battery becomes depleted. Possible values are Yes and No. This tag is only displayed: >for Sentinel HL Time or NetTime keys. >when the License Manager is from Sentinel LDK v.7.5 or later. |
No | Yes |
<manufacturing_date> |
Manufacturing date of the key |
Yes |
Yes |
<flash_memory_size> |
Flash memory size (if it is drive key) |
Yes |
Yes |
<key_memory> | Show available clusters and cluster size of the key. (Not applicable for Sentinel HL Basic and Pro keys) | No | Yes |
Key configuration for SL (Legacy / AdminMode / UserMode) enforcement
Tag Name | Description | Tags are applicable for: | |||
---|---|---|---|---|---|
SL-Legacy | SL-AdminMode | SL-UserMode | |||
<configuration_info> |
Parent tag to contain all configuration information |
Yes |
Yes |
Yes |
|
<system_fingerprint> |
Used to show the decoded system fingerprint tags (as above in decoded fingerprint) |
Yes |
Yes |
Yes |
|
<reference_fingerprint> |
Used to show the decoded reference fingerprint tags (as above in decoded fingerprint) |
Yes |
Yes |
Yes |
|
<raw_data> |
Child of system_fingerprint or reference fingerprint. Contain the base64 fingerprint data |
Yes |
Yes |
Yes |
|
<fingerprint_control_type> |
Child of reference fingerprint. Currently, only the value “ISV Managed” is used. |
Yes |
Yes |
Yes |
|
<fridge_version> |
Fridge version |
Yes |
Yes |
Yes |
|
<vlib_version> |
Vendor library version |
Yes |
Yes |
Yes |
|
<clone_detected> |
Sibling of the configuration_ info. Value is “Yes” if clone of license was detected; otherwise, the value is “No”. |
Yes |
Yes |
Yes |
|
<rehost> |
Sibling of the configuration_ info. Contain the rehost information. |
No |
Yes |
Yes |
|
<type> |
Rehost type, Currently “ EndUserManaged” is used. |
No |
Yes |
Yes |
|
<counter> |
Number of time that the license has been rehosted |
No |
Yes |
Yes |
|
<vclock_time> |
Current V-Clock time. Time is returned in the format: YYYY-MM-DDHH:MM:SS (The application must be licensed with Sentinel LDK v.7.10 or later. The License Manager must be v.7.10 or later.) |
Yes | Yes | Yes |
Segment 3 - License Information (Products and Features)
License information tags are different for different types of licenses.
Tag Name | Description | Tags are applicable for: | ||||
---|---|---|---|---|---|---|
SL-Legacy | SL-Admin Mode | SL-User Mode | HL (HASP/ Sentinel) | HL-Driverless | ||
<product> |
Parent tag to contain all Features under any Product. (Those Features which are not under any Product are shown under Product 0) . If a license has multiple Products, these tags are shown as siblings. |
Yes |
Yes |
Yes |
Yes |
Yes |
<id> |
Product-id (32 bit) |
Yes |
Yes |
Yes |
Yes |
Yes |
<name> |
Product name (if it exist) |
Yes |
Yes |
Yes |
Yes |
Yes |
<cloud_licensing> | Whether cloud licensing is enabled for the Product. (This tag is only present if the value is Yes.) | No | Yes | No | No | No |
<clone_protection> | Clone protection flag | Yes | Yes | Yes | No | No |
<clone_protection_ex> |
Parent Tag to contain the clone protection type. This tag will be shown only if a non-default clone protection type is used. The tag will not be shown when the clone protection type is PMType1 for a physical machine and VMType1 for a virtual machine, or when the type is Disable for both physical machines and virtual machines. |
No | Yes | Yes | No | No |
<physical_machine> | Child of clone_protection_ex tag. Shows the clone protection value for a physical machine . | No | Yes | Yes | No | No |
<virtual_machine> | Child of clone_protection_ex tag. Shows the clone protection value for a virtual machine. | No | Yes | Yes | No | No |
<physical_machine_custom> <virtual_machine_custom> |
Child of clone_protection_ex tag. Indicates a custom clone protection scheme for a physical machine or a virtual machine. | No | Yes | Yes | No | No |
<enforce_all_available_identifiers> | The value set for this tag determines whether all the criteria that were present when the license was generated must exist and must match when the License manager validates the license. | No | Yes | Yes | No | No |
<name> | Child of a custom clone protection scheme. Indicates the name assigned to the scheme. | No | Yes | Yes | No | No |
<criteria> | Child of a custom clone protection scheme. This tag contains the list of criteria that make up the custom scheme. The value assigned to the minimum attribute of this tag indicates the minimum number of criteria that must match the reference fingerprint in order to validate the Product license. | No | Yes | Yes | No | No |
<fingerprint_change> | Contains the information of clone detection at protection level. | No | Yes | Yes | No | No |
<feature> |
Parent tag to contain Feature information (for example: license term, license type). This tag is a child of a Product tag. Several tags can appear under one Product. |
Yes |
Yes |
Yes |
Yes |
Yes |
<id> |
Feature-id (32 bit) |
Yes |
Yes |
Yes |
Yes |
Yes |
<name> |
Feature name (if a name exists) |
Yes |
Yes |
Yes |
Yes |
Yes |
<license_properties> |
Parent tag to contain the license terms and properties. This tag is the child of the Feature tag. Only one such tag can appear for a Feature. |
Yes |
Yes |
Yes |
Yes |
Yes |
<perpetual> |
License type for the Feature is Perpetual (unlimited duration). |
Yes |
Yes |
Yes |
Yes |
Yes |
<execution_count> |
License type for the Feature is Execution Count. The tag contains the total execution count of the license. |
Yes |
Yes |
Yes |
Yes |
Yes |
<used_execution_count> |
Contains the consumed execution count of an Execution Count license. |
Yes |
Yes |
Yes |
Yes |
Yes |
<expiration_date> |
License type for the Feature is Expiration Date. The tag contains the expiration date for the license in the format: yyyy-mm-dd |
No |
Yes |
Yes |
No |
Yes |
<start_date> | Contains the start date for an Expiration Date license (if a start date was specified). | No | Yes | Yes | No | No |
<days_to_expiration> |
License type for the Feature is Time Period (days to expiration). The tag contains the number of days defined for the license. |
Yes |
Yes |
Yes |
Yes |
Yes |
<Usage_end_date> |
If the Feature has been used at least once, this tag contains the usage end date for a Time Period license. Otherwise, this value is not set. |
Yes |
Yes |
Yes |
Yes |
Yes |
<remote_desktop_access> |
Login from a remote desktop is allowed |
Yes |
Yes |
Yes |
Yes |
Yes |
<virtual_machine_access> |
The Feature is enabled on virtual machines. |
Yes |
Yes |
Yes |
No |
No |
<concurrency> |
Child tag of license properties, parent tag of concurrency information |
Yes |
Yes |
No |
Yes |
No |
<count> |
Concurrency count |
Yes |
Yes |
No |
Yes |
No |
<count_criteria> |
Count type |
Yes |
Yes |
No |
Yes |
No |
<network_access> |
|
Yes |
Yes |
No |
Yes |
Yes |
<detachable> |
Feature is detach-enabled. |
Yes |
Yes |
No |
No |
No |
<detach_license_count> |
Detach Product count |
Yes |
Yes |
No |
No |
No |
<locked> |
Whether Feature type is locked. |
Yes |
Yes |
Yes |
No |
No |
Segment 4 - Default Memory Information
Default memory information tags are common to all types of C2V.
Tag Name | Description |
---|---|
<memory> |
Parent tag to hold the default RW/RO memory content |
<ro_memory> |
Contain the base64 encoded read- only memory along with the size (this tag appears only if memory data is present). |
<rw_memory> |
Contain the base64 encoded read/write memory along with the size (this tag appears only if memory data is present). |
Segment 5 - Dynamic Memory Information
Dynamic memory information tags are relevant for Sentinel HL (Driverless configuration) keys.
Tag Name | Description |
---|---|
<dynamic_ |
Parent tag to hold vendor-managed dynamic memory resources |
<isv_memory> |
Parent tag for each dynamic memory file |
attribute |
Dynamic memory attribute for the file. Possible values are ro (read-only memory), rw (read/write memory), and rwo (read/write-once memory). |
<file_id> | ID used to identify the dynamic memory file |
<size> | Size of the dynamic memory file |
<content> | Contains the base 64data encoded data, base on the specified size |
Resultant State
For SL-Legacy, SL-AdminMode, SL-UserMode, HASP/Sentinel HL, Sentinel HL Driverless protection keys.
Decoded XML tags for C2V and for resultant state are the same respectively.