Getting Started with Sentinel® LDK for Linux

Sentinel LDK v.7.9


This document describes how to set up and get started with Sentinel LDK components required for protecting and licensing software under the Linux operating system.

(Note that the Sentinel LDK Vendor Suite components must be installed on a Windows-based computer. For information on installing the Sentinel Vendor Suite, refer to the Sentinel LDK Installation Guide.)

The following topics are discussed:

Support for Linux Intel and Linux ARM

The table that follows summarizes the differences between support for Linux Intel and Linux ARM.

  Linux Intel Linux ARM

Supported Protection Keys

Supports all types of Sentinel LDK protection keys.

Only the following protection keys can be installed on or physically connected to a Linux ARM machine: Sentinel HL (Driverless configuration) keys, Sentinel SL UserMode keys.

An HL key connected to a Linux ARM machine cannot serve licenses to protected applications on remote machines. However, a protected application on a Linux ARM machine can consume a license from a protection key that supports concurrency on a Windows, Linux Intel, or Mac machine.

For more information, see "Protection Key Attributes" in the Sentinel LDK Software Protection and Licensing Guide.

Sentinel LDK Envelope

Can be executed on Linux Intel machine to protect both Linux Intel and Linux ARM applications.

Can protect applications for Linux ARM. (In the current release, Java applications are not supported.)

However, Envelope must be executed on a Linux Intel machine.

Sentinel LDK Master Wizard

Can be executed on a Linux Intel machine to generate customized Licensing API libraries and Vendor Codes for both Linux Intel and Linux ARM applications

Can generate customized Licensing API libraries and Vendor Codes for Linux ARM applications.

However, Master Wizard must be executed on a Linux Intel machine.

Sentinel LDK Run-time Environment

Supported.

Not supported.

Programming Languages Supported

C, C++, Java

C

Operating Systems Supported

Refer to the Sentinel LDK Release Notes.

How to Get Started

Perform these steps on a Windows machine:

  1. (Optional) Install Sentinel EMS and Sentinel LDK Vendor Suite. These components of Sentinel LDK provide the backend and licensing infrastructure for the ordering and production processes for distributing your protected applications.
  2. To develop basic familiarity with Sentinel LDK, Gemalto recommends that you perform the exercises provided in the Sentinel LDK Software Protection and Licensing Tutorial.

Perform these steps on a Linux machine:

Note: Most of the steps that follow must be performed on a Linux Intel machine, regardless of whether the protected application will run on a Linux Intel platform or a Linux ARM platform.

  1. [On a Linux Intel machine] Do one of the following to set up your protection environment:
  2. The following directories are included under /Linux:

  3. [On a Linux Intel machine] Install the Sentinel LDK Run-time Environment (included under Linux/Redistribute/Runtime) on your Linux machine. For more information, see the Sentinel LDK Installation Guide.
  4. Note: Always ensure that you are working with the most recent Run-Time Environment.

  5. [On a Linux Intel machine] Sentinel Vendor keys (Sentinel Master key or Sentinel Developer key) are provided in the Sentinel LDK Starter kit. A separate set of Sentinel Vendor keys is provided for each Batch Code. The Batch Code is printed on each Sentinel Developer key and on all of your Sentinel HL keys. (The Batch Code is a representation of your confidential Vendor Code.)
  6. If you have one or more Sentinel Vendor keys, use the Sentinel Master Wizard to introduce one Vendor key for each Batch Code on the Linux machine and generate the Sentinel Licensing API for Linux as follows:

    1. Connect the Vendor key to your Linux machine.
    2. Before running Sentinel LDK Master Wizard for the first time, run install_32bit_MasterWizard_compatibility_package.sh to resolve any missing package dependencies.
    3. You may need to set the executable flag for masterhasp (located at /Linux/VendorTools/VendorSuite) with the following command: chmod a+x masterhasp
    4. Run /Linux/VendorTools/VendorSuite/masterhasp.
    5. Note the following:

      masterhasp is a GUI application that requires root privileges. On some installations, it may be necessary to add root to the local X server access list in order to launch masterhasp. This can typically be done using the following commands:

      xhost local:root
      sudo DISPLAY=:0 ./masterhasp

    6. The Master Wizard detects the new key. Follow the remaining instructions in the wizard to introduce the key to Sentinel LDK.
    7. Your customized Sentinel Licensing APIs are located in the user home directory, under:

      ~/Documents/Gemalto/Sentinel LDK 7.9/API/Runtime/C

      Your Vendor Code is stored in the user home directory, under:

      ~/Documents/Gemalto/Sentinel LDK 7.9/VendorCodes

      The name of the file is <batchCode>.hvc. For example, if your Batch Code is W3FLY, the file name will be W3FLY.hvc.

  7. Integrate the customized Licensing API library and the Vendor Code file into the source code of the application to be protected.
  8. [On a Linux Intel machine] Run Sentinel LDK Envelope (located at /Linux/VendorTools/VendorSuite/linuxenv) to protect both Linux Intel and Linux ARM applications.
  9. You may need to set the executable flag for linuxenv with the following command: chmod a+x linuxenv

    In the event a package dependency is missing, install it using yum on RedHat-based systems such as CentOS, apt-get on Debian-based systems such as Ubuntu, or any other package manager provided by your distribution.

  10. [On a Linux Intel machine] To view and work with Sentinel keys that are connected to this machine, open Sentinel LDK Admin Control Center in your browser (http://localhost:1947). For more information, see the description of the Sentinel LDK Admin Control Center in the Sentinel LDK Software Protection and Licensing Guide.
  11. To distribute Linux Intel or Linux ARM applications to end users, be sure to refer to "Distributing Sentinel LDK With Your Software" in the Sentinel LDK Software Protection and Licensing Guide.

Limitations

The following limitation applies for all protected applications:

The following limitations apply for applications that are protected using Sentinel LDK Envelope:

Known Issues and Troubleshooting

Refer to the Sentinel LDK Release Notes.

Supporting Protected Applications Under Wine

Sentinel LDK can be used to protect Windows-based applications that run under the Wine application.

Sentinel LDK support for Wine has been tested as follows:

This section describes:

Prepare the Protected Application

On a Windows machine, protect your Win32 application using your customized Licensing API.

Your application is now ready for distribution to your customers.

Prepare the Linux Environment

The steps in this section should be performed by the end user before running the protected application using Wine.

Perform the steps described below to prepare your Linux environment.

  1. Install Wine version 3.0.3 (from http://www.winehq.org) under one of the versions of Linux that is supported by Sentinel LDK.
  2. Make sure that Wine is registered in the Windows Registry as follows:
    1. In a terminal, enter: wine regedit
    2. In the Registry Editor, navigate to the key HKEY_LOCAL_MACHINE > Software.
    3. Under Software, check for the existence of the key Wine.
    4. If the Wine key exists, no action is required. Otherwise, right-click the Software key and select New > Key. Rename the newly-created key to Wine.
    5. Close the Registry Editor.
  3. Install the Sentinel LDK Run-time Environment for Linux. For more information, see the Sentinel LDK Installation Guide.
  4. Note: For applications under Wine, the Run-time Environment is required even when the application is licensed using a Sentinel HL (Driverless configuration) HL key.

Limitations and Known Issues Under Wine

HASP HL Key Firmware Upgrade

Issue #90626: The legacy HASP HL Key Firmware has been modified to support future planned security enhancements in Sentinel LDK. Sentinel LDK automatically upgrades the Firmware on HASP HL keys from v.3.21 to the latest version (v.3.25). This occurs:

(You can determine the Firmware version of your HL key by viewing the key on the Sentinel Keys page of the Admin Control Center.)

For HL keys with Firmware earlier than v.3.21, the upgrade does not occur automatically. Customers can upgrade the Firmware to v.3.25 by applying the Firmware Update V2C provided on the Sentinel LDK Installation Installation Drive.

During the Firmware upgrade, the relevant key will start to blink. Do not remove the key while it is blinking. If you remove the key too soon, the key may no longer be visible in Admin Control Center.

Note: In the event the key is no longer visible using the Linux Run-time Environment, do the following on a Windows computer:

  1. Install Sentinel LDK Run-time Environment from the Sentinel LDK Installation Drive.
  2. Connect the key.
  3. Run the application FirmwareUpdate.exe, located on the Installation Drive in \Windows\Installed\Redistribute\Firmware Update\HASP HL\.
  4. The HL key is upgraded to v.3.25 Firmware and will now be visible in the Linux Admin Control Center.

Uninstalling the Sentinel LDK Run-time Environment

For information on uninstalling Sentinel LDK Run-time Environment, see the Sentinel LDK Installation Guide.

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

DocID 116 Revision 1811-2