Sentinel® LDK and Sentinel HASP® Run-time Environment Command-line Installer for Windows: Readme

Version 7.53

January 2017


This document provides information regarding the Run-time Environment Command-line Installer for Sentinel HASP and Sentinel LDK, including enhancements and limitations. Using this installer, you can use HASP4, Hardlock, Sentinel HL, Sentinel HASP, and Sentinel LDK under any of the supported operating systems. ("Sentinel LDK" is the next generation of Sentinel HASP.)

The following topics are discussed:

Operating Systems Supported

The operating system versions listed in this section were tested by Gemalto and verified to be fully compatible with Sentinel LDK. Older operating system versions are likely to be fully compatible as well, but are not guaranteed. For reasons of compatibility and security, Gemalto recommends that you always keep your operating system up to date with the latest fixes and service packs.

The installer detects the version of the operating system at run-time, before installing the relevant drivers.

Back to Topics

Upgrading the Run-time Environment

Back to Topics

Installing the Run-time Environment

Note

Back to Topics

Issues Related to Device Guard and Code Integrity Policies

The traditional method until now to protect against malicious application under Windows has been to trust the applications unless they were blocked by an antivirus or other security solution. Device Guard, available in Windows 10 Enterprise, implements a mode of operation in which the operating system trusts only applications that are authorized by your enterprise. You designate these trusted applications by creating code integrity policies.

You can maintain a whitelist of software that is allowed to run (a configurable code integrity policy), rather than trying to stay ahead of attackers by maintaining a constantly-updated list of "signatures" of software that should be blocked. This approach uses the trust-nothing model well known in mobile device operating systems.

Only code that is verified by Code Integrity, usually through the digital signature that you have identified as being from a trusted signer, is allowed to run. This allows full control over allowed code in both kernel and user mode.

Code integrity contains two primary components:

This section describes issues that arise and the workarounds when machines at the end user site are enabled with Device Guard, and the code integrity policy set to “enforce” mode.

Note: The procedures described in this document should be performed by an IT professional who is familiar with Device Guard and code integrity policies.

Issue 1: Protected application does not operate at the customer site

(LDK-17267) ) When you distribute applications that are protected with SL keys, the customized vendor library (haspvlib_vendorID.*) that are required for these applications are not signed. As a result, Device Guard does not allow the software to operate at the customer site.

Workaround A:

This workaround must be performed at the customer site.

Do the following to add an exception for the customized vendor library file in the code integrity policy:

  1. Use Windows PowerShell in elevated mode to create a policy for the exception.
  2. Use the Group Policy editor to deploy the policy file.

Each of these procedures is described below. For additional details, go to: https://technet.microsoft.com/en-us/itpro/windows/keep-secure/deploy-code-integrity-policies-steps?f=255&MSPPError=-2147217396

To create the policy for the exception:

  1. Open PowerShell in elevated mode.
  2. Run the command to create a policy (referred to below as P1) in audit mode.
  3. Deploy this policy.
  4. Operate the protected application as you would normally.
  5. Create another policy (referred to as P2) that captures audit information from the events log.
    Note: Before proceeding with the next step, review policy P2 carefully. This policy contains information about all the binaries that were used in your system while you operated the protected application. Any unwanted application that was executed during this time is logged in the policy. If not removed, any such application will be treated as a trusted binary.
  6. Merge policies P1 and P2.
  7. Disable audit mode.
  8. Deploy the merged policy.

To deploy the policy file:

  1. Open the Group Policy editor by running GPEdit.msc.
  2. Navigate to: Computer Configuration\Administrative Templates\System\Device Guard
  3. Select Deploy Code Integrity Policy. Enable this setting by using the path to the relevant policy file created above.

Workaround B (not recommended):

This workaround must be performed at the customer site.

Before deploying the code integrity policy, disable UMCI (user mode code integrity) mode.

To accomplish this, run the following command in Windows PowerShell in elevated mode:
Set-RuleOption -FilePath <Policy path> -Option 0 -Delete

Issue 2: Vendor Tools fail to load

(SM-907) Sentinel LDK Vendor Tools fail to load. An error message is displayed, stating that a DLL, LIB, COM, or EXE file is not designed to run on Windows or that the DLL contains an error.

For example:

Device Guard Error Message

Workaround A:

Do the following to add a policy for the Sentinel LDK Vendor Tools in the code integrity policy file:

  1. Use Windows PowerShell in elevated mode to create a policy for the Vendor Tools.
  2. Use the Group Policy editor to deploy the policy file.

Each of these procedures is described below. For additional details, go to: https://technet.microsoft.com/en-us/itpro/windows/keep-secure/deploy-code-integrity-policies-steps?f=255&MSPPError=-2147217396

To create the policy for the Vendor Tools:

  1. Open PowerShell in elevated mode.
  2. Run the command to create a policy (referred to below as P1) in audit mode.
  3. Deploy this policy.
  4. Execute all of the Vendor Tools that you will require at your site and perform all of the functions in these tools that you will require. If you miss any required Vendor Tools or Vendor Tool functions, the required entries will not be added in the new code integrity policy, and these tools or functions will generate an error message when they are eventually used.
  5. Create another policy (referred to as P2) that captures audit information from the events log.
    Note: Before proceeding with the next step, review policy P2 carefully. This policy contains information about all the binaries that were used in your system while you operated the Vendor Tools. Any unwanted application that was executed during this time is logged in the policy. If not removed, any such application will be treated as a trusted binary.
  6. Merge policies P1 and P2.
  7. Disable audit mode.
  8. Deploy the merged policy.

To deploy the policy file:

  1. Open the Group Policy editor by running GPEdit.msc.
  2. Navigate to: Computer Configuration\Administrative Templates\System\Device Guard
  3. Select Deploy Code Integrity Policy. Enable this setting by using the path to the relevant policy file created above.

Workaround B (not recommended):

Perform this workaround at your development site.

Before deploying the code integrity policy, disable UMCI (user mode code integrity) mode.

To accomplish this, run the following command in Windows PowerShell in elevated mode:
Set-RuleOption -FilePath <Policy path> -Option 0 -Delete

No further actions are required.

Back to Topics

Issues Resolved in This Release

Reference Description
SM-1201

Given the following scenario:

  1. Obtain a C2V file for an SL Legacy key.
  2. Prepare an update to upgrade the SL Legacy key to an SL AdminMode key in Sentinel License Generation API, but do not apply the update.
  3. Prepare a second update using the first update as the current state for the key.
  4. Apply the second update to the key.

The update would return a status of OK even though the update fails.

SM-1549

Given the following scenario:

  1. Connect a Sentinel HL (HASP configuration) key to a machine and generate a C2V file for the key.
  2. Create an update in Sentinel License Generation API to upgrade the key to a Sentinel HL (Driverless configuration) key, but do not apply the update.
  3. Prepare a second update to the key using the first update as the current state for the key.
  4. Apply the second update to the key.

The update would return a status of OK even though the update fails.

Back to Topics

Revision History

Enhancements in Version 7.52

Reference Description
LDK-15786

The Features page in Admin Control Center now displays the peak number of consumed seats per Feature. The peak number is based on the current License Manager session. For each Feature, the peak number value is displayed as a tool tip for the seats value under the Logins column. This information enables end users and organizations to determine if the number of seats purchased is suitable for their needs.

SM-815

The Run-time Environment can now be installed under Windows 10 when Device Guard is enabled.

Issues Resolved in Version 7.52

Reference Description
SM-498

A Sentinel HL (HASP configuration) key would not be accessible by the protected application under the following circumstances:

The following conditions exist:

  • Windows 10 version 1607 is present on the machine.
  • The network is disabled.
  • The Run-time Environment is not present on the machine.

The following actions are performed:

  1. The HL key is connected to the machine and then disconnected.
  2. The Run-time Environment is installed on the machine.
  3. The HL key is connected again to the machine.

The HL key would not be accessible.

SM-504

When using RTE 7.51, a Stop error (BSoD) would occur when the protected application attempted to retrieve the serial number of the disk drive that uses Intel RAID drivers.

SM-528

Under certain circumstances, the uninstall of the Run-time Environment on a Windows 8 machine would fail.

SM-537

The uninstall of the Run-time Environment would not provide proper notification if it failed to remove all necessary files. The uninstall process now provides a detailed list of any files that it fails to remove and advises the user to remove the files manually.

SM-824

During the installation of a rebranded Run-time Environment using the -v flag (haspdinst.exe -i -v), an internal error would be displayed (message: "An error occurred when the RTE installer attempted to unpack the file sm.cab"). Note that the -v flag is not a documented option, and that the installation would succeed despite the error message.

SM-830

Given the following circumstances.

  1. A machine is not connected to the network
  2. Run-time Environment v.7.50 is installed on the machine.
  3. The Run-time Environment is removed with a purge command.
  4. You connect a Sentinel HL (HASP configuration) key to the machine.

The Run-time Environment would be automatically reinstalled.

Now, the Run-time Environment is not installed under these circumstances.

Issues Resolved in Version 7.51

Reference Description
LDK-13933 When installing Sentinel LDK Run-time Environment v7.41 or later under Windows 10 (x86), the file hlvdd.dll was not installed. As a result, the protected application would fail.
LDK-16215 Each time the end user would connect a Sentinel HL (Driverless configuration) key to a different USB port on a Windows machine, the Driver Software Installation message box would indicate that a restart was required.
LDK-16443 Given the following circumstances:
  • A V2C file was applied to a new SL AdminMode license on a given machine.
  • The same V2C was applied a second time to the license.
Instead of generating an error message and rejecting the update, the License Manager would generate the error message and then remove the original SL AdminMode license from the machine. (The license would be restored when the License Manager was restarted.)

Back to Topics

Revision History

Issues Resolved in Version 7.50

Reference Description
LDK-13136 Sentinel Licensing API would identify a Max Micro key as a Max key under certain circumstances.
LDK-13455

Given the following circumstances:

  • A license server machine and the recipient machine are in different time zones
  • A detachable license is transferred online from the server to the recipient machine.
The detached license would expire earlier than expected.
LDK-13926 The branded RTE Installer that is generated by Sentinel EMS did not copy the haspvlib correctly to /var/hasplm/. As a result, when hasp_update attempted to apply a V2C file, error 48 was generated.
LDK-14274

Given the following circumstances:

  • An SL AdminMode or SL Legacy license is located on a physical machine.
  • From a remote VM, hasp_get_info() is called  to fetch values of the "disabled" and "usable" tags for the SL license.
The incorrect values disabled=true and usable= false were returned.
LDK-14280 HASP HL keys are not recognized correctly by the License Manager when keys from two or more vendors are connected to a given machine.
LDK-14805 The Run-time Environment did not support RAID controllers that create symbolic links as \Device\RaidPort.
LDK-15306 On the Diagnostics page of Admin Control Center, the Requests counter would count a request to local licenses as a remote request.
LDK-15307

Given the following circumstances:

  1. SL Legacy licenses from two different vendors were present on a machine.
  2. The license from one of the vendors is removed.
  3. The License Manager service is restarted.
The remaining SL Legacy license was no longer visible in Admin Control Center.
LDK-16113 When a V2C file to clear the “cloned” status of an SL Legacy license was applied, The “clear clone” operation was not applied correctly until the user restarted the machine.

Issues Resolved in Version 7.41

Reference Description
LDK-12845 Installation of Sentinel Run-time Environment version 7.40 on a machine with an obsolete version (11.5.x) of Intel RAID drivers would cause a Stop error (BSoD).

Enhancements in Revision 7.40

Reference Description
LDK-6938 The Run-time Environment now supports Sentinel HL Drive microSD keys.
LDK-8350 The diagnostic report in Admin Control Center now provides additional information for driverless keys and updated driver versions
LDK-10079 The diagnostic panel in Admin Control Center now displays the version number for the Run-time Environment.
LDK-10107 The Admin Control Center log file now indicates the version number for the Licensing API.
LDK-10279 The button in Admin Control Center for generating C2V files is now blocked for HASP HL keys and Sentinel HL (HASP configuration) keys.
LDK-11034 The Sentinel Keys page in Admin Control Center now displays the capacity of attached Sentinel Drive microSD keys.
LDK-11335 Admin Control Center now displays the module name (in addition to the Feature ID) for Sentinel Master keys and Sentinel Developer keys.

Issues Resolved in Version 7.40

Reference Description
LDK-7237 Under certain circumstances, Admin Control Center would continue to show active sessions for an HL key after all sessions had logged out of the key.
LDK-8866 Under certain circumstances, if SL license information became corrupted, Sentinel LDK License Manager Service would crash instead of issuing an error message. As a result, it was not possible for the vendor to correct the situation by sending a license update.
LDK-9797 The Run-time Environment did not provide a meaningful error message when a given License Manager ID was found on multiple machines in the same network. This situation is typically caused by cloning a VM. As a result, it was difficult to identify the source of the problem when the licenses on these machine were inaccessible. Now an appropriate error message is generated.
LDK-9948  Rehosting of an SL Legacy key to a different machine would fail with the return code HASP_CLONE_DETECTED.
LDK-10273 Admin Control Center would allow a license to be detached even though the termination date for the detach was invalid.
LDK-10564 The Vendor ID for a Master key was not the same in Admin Control Center pages and in the Diagnostics Reports.
LDK-10857 When an iSCSI disk was connected to a Windows physical machine, the License Manager would regard the machine as a virtual machine.
LDK-11478 After Run-time Environment v.7.32 was installed, running an application that was protected with Sentinel HASP Envelope (prior to Sentinel LDK 6.3) would cause a Stop error (BSoD).
LDK-11787 Under certain circumstances, the Licensing API function hasp_get_info would always return a value of 0 as the value for <updateCounter> for an SL license. Now the function returns the correct value for <updateCounter>.
LDK-11825 Admin Control Center was not able to display an invalid HL key. Now such a key is visible in Admin Control Center with an indication that the key is not valid.
LDK-12196 When an SL key is installed on a machine with Run-time Environment 7.32 or 7.3, the Run-time Environment would continually open additional handles.

Enhancements in Version 7.32

Reference Description
LDK-6934 Sentinel LDK Run-time Environment now supports the Sentinel HL Drive microSD key (patent pending). This key has been tested with the following microSD cards:
  • Sandisk: 16 GB, 64 GB
  • Transcend: 16 GB, 64 GB
  • Toshiba: 32 GB
  • Samsung: 64 GB
  • Kingston: 64 GB, 256 GB, 512 GB
LDK-10090 Run-time Environment is now supported under Windows 10 Technical Preview Build 10041.

Issues Resolved in Version 7.32

Reference Description
LDK-9325 Given the following circumstances:
  • An SL key contains a Feature that allows concurrency but does not allow virtual machines.
  • The SL key is installed on a physical machine.
When the SL key is displayed in Admin Control Center on a second physical machine, the Feature is shown as "disabled". However, a protected application that includes that Feature operates correctly.
LDK-8862 When attempting to access a remote License Manager, Sentinel Admin API would return the incorrect error code SNTL_ADMIN_LM_NOT_FOUND (6002).
LDK-7237 Given the following circumstances:
  1. A license with concurrency is installed on a Sentinel protection key. The count criteria is "Per Login".
  2. Protected applications that consume seats from the license are started.
  3. While the applications are active, the license is updated to change the count criteria (for example, from "Per Login" to "Per Process").
  4. One or more protected applications are closed.
The Login count for the license would no longer match the number of actual applications active.

As part of the resolution for this issue, when the count criteria for a network license is modified, all active sessions are automatically terminated.

Enhancements in Version 6.65

Reference Description
LDK-4468

The template for customizing entries for the Access log in Sentinel License Manager has been enhanced.

  • A new log element (functionparams2) is available.
  • Tags for special characters that could not be used in the template until now are provided.
  • Existing elements (sessioncount, logincount, loginlimit) that did not provide reliable results have been corrected.
  • The following events are now logged correctly: session timeout, orphaned session logout, manual disconnect, AdminAPI disconnect.

In addition, the template is now used for log entries generated by Embedded License Managers and External License Managers.

For information on the log template, see the Edit Log Parameters screen and related help screen in Admin Control Center. (Click the Edit Log Parameters button from the Configuration - Basic Settings screen.)
LDK-735

Admin Control Center now enables the user to generate a C2V file without the requirement of installing the RUS utility. This is supported for Windows, Mac and Linux platforms. The following limitations apply:

  • HL Basic keys are not supported.
  • C2V files fetched from HASP HL and Sentinel HL (HASP Configuration) keys will not work with Business Studio.
The C2V file can be generated for locally-connected Sentinel HL, HASP HL, and SL AdminMode keys.

Issues Resolved in Version 6.65

Reference Description
LDK-7084 The hasp_get_info() function in the Licensing API did not return consistent results for localhost when no IP address set in etc\hosts file for localhost. The function would return either localhost(127.0.0.1) or IPv4. To resolve this issue, the Licensing API must be upgraded to version 7.3 or later and the Run-time Environment must be upgraded to version 6.65 or later.
LDK-5710 When the real-time clock battery in a Sentinel HL (Driverless configuration) keys is exhausted, the error code returned by the hasp_login or hasp_login_scope function was HASP_INT_ERR instead of HASP_NO_BATTERY_POWER.
LDK-5390 If hasplms.exe is locked at the time the user attempts to upgrade the Run-time Environment, a misleading error message was displayed. The error message now provides an appropriate description of the issue.
LDK-8895 When an activated SL Legacy license is installed on a machine that contains Products that have clone protection disabled, and a user then attempts to detach a license, error 64 (clone detected) was generated. Now a license can be successfully detached.
LDK-8936 Installation of certain third party tools would cause the removal of a symbolic link from Hardlock drivers. As a result, HL keys would become inaccessible.

Back to Topics

Known Issues - Run-time Environment

Reference Description
12506

Sentinel LDK communicates via TCP and UDP on port 1947. This port is IANA-registered exclusively for this purpose. At the end user site, the firewall must be configured so that communication via this port is not blocked.

180256

When a computer names contains UTF-16 characters, Admin Control Center displays the short name for the computer (similar to Windows Explorer). Similarly, the sntl_admin_get function in Admin API returns the short name.

182646

After Windows 7 is upgraded to Windows 8, the user is not able to use existing SL licenses or to install new SL licenses.

Workaround: After you upgrade from Windows 7 to Windows 8, reinstall the Run-time Environment.

LDK-2471

Sentinel Licensing API: On a computer with the Nvidia chip set GeForce 7025/nForce 630a, and where the CPU is AMD Athlon 64 X2, the hasp_read and hasp_encrypt functions may fail with error 39, HASP_BROKEN_SESSION. This problem only exists with HASP HL keys with Firmware version 3.25.

Workaround 1: On the computer described above, when error 39 is returned, call the hasp_read or hasp_encrypt function again. It is not necessary to call hasp_login again.

Workaround 2: Use Sentinel HL keys with Firmware version 4.2x.

LDK-8480

With some new USB chipsets, it is possible that the API hasp_update() call, used to update the firmware of Sentinel HL keys to version 3.25, will generate the HASP_BROKEN_SESSION return code, even if the firmware is correctly updated. (This issue does not occur with Sentinel HL Driverless keys with firmware version 4.x.)

Workaround: Install the latest Run-time Environment. The automatic firmware update feature of the License Manager will automatically update the firmware of the key the first time that the key is connected, without the need to call hasp_update().

LDK-11418

For a Java 7 or Java 8 application that is protected with Envelope, the end user must use the following flag when launching the protected application:

  • For Java 7: Specify -usesplitverifier
  • For Java 8: Specify -noverify

If the appropriate flag is not specified, the application may throw java.verifyerror when launched.

LDK-12145

When a data file is protected with Version 2 data protection mode for Android platforms: If, for any reason (for example, no license was found), the protected application is not able to decrypt the protected data file, no error message is generated to explain why the file cannot be opened.

LDK-15786

The enhancement described in LDK-15786 above is not documented in the online help for Admin Control Center.

Workaround: The necessary information appears in the description of the enhancement.

LDK-17267

The License Manager fails to load vlibs under Windows 10 when Device Guide is enabled and the Code Integrity policy is set to “enforce”. For more information, see Issues Related to Device Guard and Code Integrity Policies.

SM-513

Under Windows 10, a physical machine is detected as a virtual machine when only Hyper-V Hypervisor is enabled.

Workaround: Enable other Hyper-V components (Hyper-V Services).

SM-907

Sentinel LDK Vendor Tools fail to load under Windows 10 when Device Guide is enabled and the Code Integrity policy is set to "enforce". An error message is displayed regarding a certain DLL, stating that the DLL is not designed to run on Windows or that the DLL contains an error. For more information, see Issues Related to Device Guard and Code Integrity Policies.

SM-1201

Under certain circumstances, when updates are applied in the incorrect sequence for an SL Legacy key, an incorrect status is returned.

Workaround: A CIR will be issues to resolve this issue.

LDK-17302
LDK-13953
LDK-14971

Given the following circumstances at a customer site:

  1. One machine has Run-time Environment version 7.51.
  2. A second machine has a version of Run-time Environment that is earlier than 7.51.
  3. The customer performs rehost of a license repeatedly between the two machines.
  4. An update is applied to the license on either of these machines.

A rehost operation sometimes fails with the message HASP_REHOST_ALREADY_APPLIED.

Workaround: Obtain a new SL license from the software vendor for the protected application on the target machine. Before attempting any additional rehost procedure, install the latest Run-time Environment on both machines.

SM-2895
SM-2957

HASP4 applications protected with Sentinel LDK Envelope do not run with Run-time Environment 7.52 and 7.53

Workaround: Use Run-time Environment 7.50 or earlier to continue using HASP4 applications protected with Sentinle LDK Envelope.
This issue will be resolved in the next release.

Back to Topics

© Gemalto 2017. All rights reserved. Gemalto, the Gemalto logo, are trademarks and service marks of Gemalto and are registered in certain countries.

DocID 129 Revision 1701-6