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)

> C2V for Protection Key

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

> Resultant State

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_
resource>

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.