Quantcast
Channel: Gemalto Sentinel Customer Discussions
Viewing all articles
Browse latest Browse all 1619

Get Protection Key capable devices

$
0
0
Hello,
I'm implementing a custom application to program keys using EMS web service, running EMS 7.4.

I'm able to create an entitlement and get back a list of supported keys by the GET v74/ws/entitlement/{entId}/target.ws web service request, but it's not clear how to match one of the supported keys with the key available on my machine.

If I request the supported keys for a given entitlement I got back such an response:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <ProtectionKey>
  3.   <ProtectionKeyOutput>
  4.     <UpdateInfo><?xml version="1.0" encoding="utf-8"?>
  5.       <sentinel_ldk_info>
  6.         <capable_devices>
  7.           <key_type configuration="hasphl">HL-Time</key_type>
  8.           <key_type configuration="hasphl">HL-Max</key_type>
  9.           <key_type configuration="hasphl">HL-Max-Micro</key_type>
  10.           <key_type configuration="hasphl">HL-Drive</key_type>
  11.           <key_type configuration="hasphl">HL-Express-Card</key_type>
  12.           <key_type configuration="hasphl">HL-Pro</key_type>
  13.           <key_type configuration="hasphl">HL-NetTime-250+</key_type>
  14.           <key_type configuration="hasphl">HL-NetTime-50</key_type>
  15.           <key_type configuration="hasphl">HL-NetTime-10</key_type>
  16.           <key_type configuration="hasphl">HL-Net-250+</key_type>
  17.           <key_type configuration="hasphl">HL-Net-50</key_type>
  18.           <key_type configuration="hasphl">HL-Net-10</key_type>
  19.           <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Time</key_type>
  20.           <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Max</key_type>
  21.           <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Max-Micro</key_type>
  22.           <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Drive</key_type>
  23.           <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Express-Card</key_type>
  24.           <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Pro</key_type>
  25.           <key_type configuration="sentinelhl, hasphl">Sentinel-HL-NetTime-250+</key_type>
  26.           <key_type configuration="sentinelhl, hasphl">Sentinel-HL-NetTime-50</key_type>
  27.           <key_type configuration="sentinelhl, hasphl">Sentinel-HL-NetTime-10</key_type>
  28.           <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Net-250+</key_type>
  29.           <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Net-50</key_type>
  30.           <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Net-10</key_type>
  31.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-Time</key_type>
  32.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-Max</key_type>
  33.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-Max-Micro</key_type>
  34.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-Drive</key_type>
  35.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-Express-Card</key_type>
  36.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-Max-Chip</key_type>
  37.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-Max-Board</key_type>
  38.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-Drive-microSD</key_type>
  39.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-Pro</key_type>
  40.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-NetTime-250+</key_type>
  41.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-NetTime-50</key_type>
  42.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-NetTime-10</key_type>
  43.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-Net-250+</key_type>
  44.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-Net-50</key_type>
  45.           <key_type configuration="sentinelhl, driverless">Sentinel-HL-Net-10</key_type>
  46.           <key_type>SL-Legacy</key_type>
  47.           <key_type>SL-AdminMode</key_type>
  48.           <key_type>SL-UserMode</key_type>
  49.         </capable_devices>
  50.       </sentinel_ldk_info>
  51.     </UpdateInfo>
  52.   </ProtectionKeyOutput>
  53. </ProtectionKey>

Please note that at line #4 there is a duplication of XML prolog, that could lead to an error when trying to decode the answer with .NET. I overcome this problem by removing all of the prolog from the answer string.

The answer gives me back a list of supported keys that I have to match to the keys present in my system, to see if there is a key supported for the operation. The question is: how do I identify a key to be supported?

From toolbox if I use the hasp_get_info with the default Key information template I have this answer:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <hasp_info>
  3.   <hasp>
  4.     <id>812852741</id>
  5.     <type>HASP-HL</type>
  6.     <configuration>
  7.       <sentinelhl />
  8.       <driverless />
  9.     </configuration>
  10.     <clone_protected></clone_protected>
  11.     <disabled>false</disabled>
  12.     <version>4.27</version>
  13.     <hw_version>7.2</hw_version>
  14.     <updatecounter>110</updatecounter>
  15.     <production_date>1455148800</production_date>
  16.     <detachable>false</detachable>
  17.     <attached>false</attached>
  18.     <recipient>false</recipient>
  19.     <rehost>
  20.       <rehost_enduser_managed>false</rehost_enduser_managed>
  21.     </rehost>
  22.     <key_model>Max</key_model>
  23.     <key_type>Max</key_type>
  24.     <form_factor>Mini</form_factor>
  25.     <response_time>10</response_time>
  26.     <hw_platform>Sentinel</hw_platform>
  27.     <driverless>true</driverless>
  28.     <hasp_enabled>false</hasp_enabled>
  29.     <fingerprint_change></fingerprint_change>
  30.     <vclock_enabled>true</vclock_enabled>
  31.   </hasp>
  32.   <hasp>
  33.     <id>1234634507</id>
  34.     <type>HASP-HL</type>
  35.     <configuration>
  36.       <sentinelhl />
  37.       <driverless />
  38.     </configuration>
  39.     <clone_protected></clone_protected>
  40.     <disabled>false</disabled>
  41.     <version>4.27</version>
  42.     <hw_version>7.2</hw_version>
  43.     <updatecounter>7</updatecounter>
  44.     <production_date>1459382400</production_date>
  45.     <detachable>false</detachable>
  46.     <attached>false</attached>
  47.     <recipient>false</recipient>
  48.     <rehost>
  49.       <rehost_enduser_managed>false</rehost_enduser_managed>
  50.     </rehost>
  51.     <key_model>Pro</key_model>
  52.     <key_type>Pro</key_type>
  53.     <form_factor>Mini</form_factor>
  54.     <response_time>10</response_time>
  55.     <hw_platform>Sentinel</hw_platform>
  56.     <driverless>true</driverless>
  57.     <hasp_enabled>false</hasp_enabled>
  58.     <fingerprint_change></fingerprint_change>
  59.     <vclock_enabled>true</vclock_enabled>
  60.   </hasp>
  61.   <hasp>
  62.     <id>620796861638319619</id>
  63.     <type>HASP-SL</type>
  64.     <configuration>
  65.       <haspsl-adminmode />
  66.     </configuration>
  67.     <clone_protected>true</clone_protected>
  68.     <disabled>false</disabled>
  69.     <version>2.36</version>
  70.     <hw_version></hw_version>
  71.     <updatecounter>3</updatecounter>
  72.     <production_date>1456418736</production_date>
  73.     <detachable>false</detachable>
  74.     <attached>false</attached>
  75.     <recipient>false</recipient>
  76.     <rehost>
  77.       <rehost_enduser_managed>false</rehost_enduser_managed>
  78.     </rehost>
  79.     <key_model>Certificate</key_model>
  80.     <key_type>SL-AdminMode</key_type>
  81.     <form_factor></form_factor>
  82.     <response_time>10</response_time>
  83.     <hw_platform></hw_platform>
  84.     <driverless>false</driverless>
  85.     <hasp_enabled>false</hasp_enabled>
  86.     <fingerprint_change>accepted</fingerprint_change>
  87.     <vclock_enabled>true</vclock_enabled>
  88.   </hasp>
  89. </hasp_info>
In this sample I surely have a Pro key a Max key and a Certificate already installed (each one using the DEMOMA batch code).

I also have some old HL non driverless keys which have to be used  for first licensing phase, with my own batch code, and which would read back as this:
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <hasp_info>
  3.   <hasp>
  4.     <id>310530454</id>
  5.     <type>HASP-HL</type>
  6.     <configuration>
  7.       <hasphl />
  8.     </configuration>
  9.     <clone_protected></clone_protected>
  10.     <disabled>false</disabled>
  11.     <version>3.25</version>
  12.     <hw_version>6.1</hw_version>
  13.     <updatecounter>3</updatecounter>
  14.     <production_date>1319673600</production_date>
  15.     <detachable>false</detachable>
  16.     <attached>false</attached>
  17.     <recipient>false</recipient>
  18.     <rehost>
  19.       <rehost_enduser_managed>false</rehost_enduser_managed>
  20.     </rehost>
  21.     <key_model>Pro</key_model>
  22.     <key_type>Pro</key_type>
  23.     <form_factor>Mini</form_factor>
  24.     <response_time>10</response_time>
  25.     <hw_platform>HASP</hw_platform>
  26.     <driverless>false</driverless>
  27.     <hasp_enabled>true</hasp_enabled>
  28.     <fingerprint_change></fingerprint_change>
  29.     <vclock_enabled>false</vclock_enabled>
  30.   </hasp>
  31. </hasp_info>
How can I assume that the Pro or Max keys are supported in the supported key list? How am I supposed to decode the HL-Pro or HL-Max vs. Sentinel-HL-Pro or Sentinel-HL-Max to match the key I have? And how do I assume that my old keys are supported for burning the entitlement?

Thanks in advance and regards,
Stefano Bettega


Viewing all articles
Browse latest Browse all 1619

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>