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:
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:
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:
Thanks in advance and regards,
Stefano Bettega
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:
- <?xml version="1.0" encoding="utf-8"?>
- <ProtectionKey>
- <ProtectionKeyOutput>
- <UpdateInfo><?xml version="1.0" encoding="utf-8"?>
- <sentinel_ldk_info>
- <capable_devices>
- <key_type configuration="hasphl">HL-Time</key_type>
- <key_type configuration="hasphl">HL-Max</key_type>
- <key_type configuration="hasphl">HL-Max-Micro</key_type>
- <key_type configuration="hasphl">HL-Drive</key_type>
- <key_type configuration="hasphl">HL-Express-Card</key_type>
- <key_type configuration="hasphl">HL-Pro</key_type>
- <key_type configuration="hasphl">HL-NetTime-250+</key_type>
- <key_type configuration="hasphl">HL-NetTime-50</key_type>
- <key_type configuration="hasphl">HL-NetTime-10</key_type>
- <key_type configuration="hasphl">HL-Net-250+</key_type>
- <key_type configuration="hasphl">HL-Net-50</key_type>
- <key_type configuration="hasphl">HL-Net-10</key_type>
- <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Time</key_type>
- <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Max</key_type>
- <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Max-Micro</key_type>
- <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Drive</key_type>
- <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Express-Card</key_type>
- <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Pro</key_type>
- <key_type configuration="sentinelhl, hasphl">Sentinel-HL-NetTime-250+</key_type>
- <key_type configuration="sentinelhl, hasphl">Sentinel-HL-NetTime-50</key_type>
- <key_type configuration="sentinelhl, hasphl">Sentinel-HL-NetTime-10</key_type>
- <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Net-250+</key_type>
- <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Net-50</key_type>
- <key_type configuration="sentinelhl, hasphl">Sentinel-HL-Net-10</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-Time</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-Max</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-Max-Micro</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-Drive</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-Express-Card</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-Max-Chip</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-Max-Board</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-Drive-microSD</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-Pro</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-NetTime-250+</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-NetTime-50</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-NetTime-10</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-Net-250+</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-Net-50</key_type>
- <key_type configuration="sentinelhl, driverless">Sentinel-HL-Net-10</key_type>
- <key_type>SL-Legacy</key_type>
- <key_type>SL-AdminMode</key_type>
- <key_type>SL-UserMode</key_type>
- </capable_devices>
- </sentinel_ldk_info>
- </UpdateInfo>
- </ProtectionKeyOutput>
- </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:
- <?xml version="1.0" encoding="UTF-8" ?>
- <hasp_info>
- <hasp>
- <id>812852741</id>
- <type>HASP-HL</type>
- <configuration>
- <sentinelhl />
- <driverless />
- </configuration>
- <clone_protected></clone_protected>
- <disabled>false</disabled>
- <version>4.27</version>
- <hw_version>7.2</hw_version>
- <updatecounter>110</updatecounter>
- <production_date>1455148800</production_date>
- <detachable>false</detachable>
- <attached>false</attached>
- <recipient>false</recipient>
- <rehost>
- <rehost_enduser_managed>false</rehost_enduser_managed>
- </rehost>
- <key_model>Max</key_model>
- <key_type>Max</key_type>
- <form_factor>Mini</form_factor>
- <response_time>10</response_time>
- <hw_platform>Sentinel</hw_platform>
- <driverless>true</driverless>
- <hasp_enabled>false</hasp_enabled>
- <fingerprint_change></fingerprint_change>
- <vclock_enabled>true</vclock_enabled>
- </hasp>
- <hasp>
- <id>1234634507</id>
- <type>HASP-HL</type>
- <configuration>
- <sentinelhl />
- <driverless />
- </configuration>
- <clone_protected></clone_protected>
- <disabled>false</disabled>
- <version>4.27</version>
- <hw_version>7.2</hw_version>
- <updatecounter>7</updatecounter>
- <production_date>1459382400</production_date>
- <detachable>false</detachable>
- <attached>false</attached>
- <recipient>false</recipient>
- <rehost>
- <rehost_enduser_managed>false</rehost_enduser_managed>
- </rehost>
- <key_model>Pro</key_model>
- <key_type>Pro</key_type>
- <form_factor>Mini</form_factor>
- <response_time>10</response_time>
- <hw_platform>Sentinel</hw_platform>
- <driverless>true</driverless>
- <hasp_enabled>false</hasp_enabled>
- <fingerprint_change></fingerprint_change>
- <vclock_enabled>true</vclock_enabled>
- </hasp>
- <hasp>
- <id>620796861638319619</id>
- <type>HASP-SL</type>
- <configuration>
- <haspsl-adminmode />
- </configuration>
- <clone_protected>true</clone_protected>
- <disabled>false</disabled>
- <version>2.36</version>
- <hw_version></hw_version>
- <updatecounter>3</updatecounter>
- <production_date>1456418736</production_date>
- <detachable>false</detachable>
- <attached>false</attached>
- <recipient>false</recipient>
- <rehost>
- <rehost_enduser_managed>false</rehost_enduser_managed>
- </rehost>
- <key_model>Certificate</key_model>
- <key_type>SL-AdminMode</key_type>
- <form_factor></form_factor>
- <response_time>10</response_time>
- <hw_platform></hw_platform>
- <driverless>false</driverless>
- <hasp_enabled>false</hasp_enabled>
- <fingerprint_change>accepted</fingerprint_change>
- <vclock_enabled>true</vclock_enabled>
- </hasp>
- </hasp_info>
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:
- <?xml version="1.0" encoding="UTF-8" ?>
- <hasp_info>
- <hasp>
- <id>310530454</id>
- <type>HASP-HL</type>
- <configuration>
- <hasphl />
- </configuration>
- <clone_protected></clone_protected>
- <disabled>false</disabled>
- <version>3.25</version>
- <hw_version>6.1</hw_version>
- <updatecounter>3</updatecounter>
- <production_date>1319673600</production_date>
- <detachable>false</detachable>
- <attached>false</attached>
- <recipient>false</recipient>
- <rehost>
- <rehost_enduser_managed>false</rehost_enduser_managed>
- </rehost>
- <key_model>Pro</key_model>
- <key_type>Pro</key_type>
- <form_factor>Mini</form_factor>
- <response_time>10</response_time>
- <hw_platform>HASP</hw_platform>
- <driverless>false</driverless>
- <hasp_enabled>true</hasp_enabled>
- <fingerprint_change></fingerprint_change>
- <vclock_enabled>false</vclock_enabled>
- </hasp>
- </hasp_info>
Thanks in advance and regards,
Stefano Bettega