Sentinel License Management

In addition to single-workstation license based on a hardware dongle, MICROEJ SDK supports floating licenses based on Thales Sentinel LDK solution.

This chapter contains instructions that will allow you to setup Sentinel environment and activate your license.

There are two installation flows:

  1. If you are a System Administrator, setup the Sentinel Floating License Server on a host machine.

  2. If you are a Developer, proceed with the setup of the Sentinel client for the SDK.

../_images/sentinel_architecture.png

Note

Floating License requires Architecture 8.1.0 or higher (Production only).

Setup the Sentinel Floating License Server

This section contains instructions for the System Administrator to setup the Sentinel Floating License Server.

  • Choose a machine to host the Sentinel Floating License Server. The host machine must be choosen with care, as its fingerprint will be required to generate the license file. Especially, you have to choose a host machine that is accessible through the network to all your developer workstations.

Install the Sentinel LDK Run-time Environment (RTE) for License Server

Sentinel LDK Run-time Environment enables your protected software to run by communicating with Sentinel protection keys.

First, download Sentinel_RTE_Installation-1.1.0.zip file. It contains installer for Windows, macOS and Linux.

Installation for Windows

  • Get haspdinst_37102.exe file

  • Type haspdinst_37102.exe -i in the command line. The installation or upgrade process is performed automatically. A message is displayed informing you that the Sentinel LDK Run-time Environment was successfully installed

Note

To uninstall Sentinel RTE, type haspdinst_37102.exe -r in the command line. A message is displayed informing you that the Sentinel LDK Run-time Environment was successfully removed.

Installation for Linux

Get aksusbd_37102-10.12.1.tar.gz file and extract it. The installation packages are in the directory pkg, as root enter the following command:

  • For RedHat, SUSE, or CentOS 64-bit Intel systems: rpm -i aksusbd-10.12.1.x86_64.rpm

  • For Ubuntu or Debian 64-bit Intel systems: dpkg -i aksusbd_10.12-1_amd64.deb

  • Copy aksusbd-10.12.1/haspvlib_37102.so and aksusbd-10.12.1/haspvlib_x86_64_37102.so to /var/hasplm directory

Note

All install/uninstall commands must be executed with root rights. On Ubuntu, prefix the commands with the sudo command. On other Linux distributions, use the su utility to become root in the terminal window.

Installation for macOS

  • Get Sentinel_Runtime_37102.tar file

  • In SentinelRuntimeInstaller.framework/Versions/A/Resources/ double-click on Sentinel_Runtime.pkg

  • Double-click the Install Sentinel Runtime Environment disk image icon. The installer wizard is launched

  • Follow the instructions of the installer wizard until the installation is complete. The first time that you run Admin Control Center and submit configuration changes, hasplmd creates configuration files in /private/etc/hasplm/

Configure the License Server

  • On the host machine, open a web browser.

  • Browse http://<server-ip-address>:1947 to open the Sentinel Admin Control Center.

  • Go to Sentinel Keys tab and click on Fingerprint button to download the *.c2v file.

    ../_images/sentinel_rte_server_get_fingerprint.png
  • The *.c2v file stands for Customer to Vendor. Send this file to your MicroEJ sales representative.

  • Wait until MicroEJ prepares your license key. Then you will receive a .v2c file. The *.v2c file stands for Vendor to Customer.

  • On the host machine, go back to the Sentinel Admin Control Center.

  • Click on Update/Attach tab.

  • Click on Select File… button and browse the .v2c file.

  • Click on Apply File button.

In Sentinel Keys tab, you should see the successfully installed license key:

../_images/sentinel_rte_server_installed_license.png
  • Configure the host machine to open the IP port 1947 for TCP, UDP, TCP6, UDP6.

  • Optionally, you can set a printable name for the Sentinel Floating License Server that will be displayed on the Developer workstation license list.

    • Go to Configuration > Basic Settings tab.

    • Update the Machine Name text field (e.g. central-sentinel-server).

    • Click on Submit button.

Your Sentinel Floating License Server is successfully configured. All you have to do is to share the host machine IP address to your MicroEJ Developers.

Setup the Developer Workstation

This section contains instructions for the MicroEJ Developer to setup its workstation in order to connect a Sentinel Floating License Server.

First, download Sentinel_RTE_Installation-1.1.0.zip file. It contains installer for Windows, macOS and Linux. Sentinel LDK Run-time Environment enables your protected software to run by communicating with Sentinel protection keys.

Installation for Windows

  • Get haspdinst_37102.exe file

  • Type haspdinst_37102.exe -i in the command line. The installation or upgrade process is performed automatically. A message is displayed informing you that the Sentinel LDK Run-time Environment was successfully installed

  • Put MicroEJ_library\hasp_windows_x64_37102.dll file in the system folder (%SystemRoot%\system32) if you have administrator rights on your machine. Otherwise drop the hasp_windows_x64_37102.dll file beside java.exe executable of the Java Development Kit (JDK) used to run the SDK.

Note

To uninstall Sentinel RTE, type haspdinst_37102.exe -r in the command line. A message is displayed informing you that the Sentinel LDK Run-time Environment was successfully removed.

Installation for Linux

Get aksusbd_37102-10.12.1.tar.gz file and extract it. The installation packages are in the directory pkg, as root enter the following command:

  • For RedHat, SUSE, or CentOS 64-bit Intel systems: rpm -i aksusbd-10.12.1.x86_64.rpm

  • For Ubuntu or Debian 64-bit Intel systems: dpkg -i aksusbd_10.12-1_amd64.deb

  • Copy aksusbd-10.12.1/haspvlib_37102.so and aksusbd-10.12.1/haspvlib_x86_64_37102.so to /var/hasplm directory

  • Get MicroEJ_library/libhasp_linux_x86_64_37102.so file and copy it in a directory of your choice

  • Set LD_LIBRARY_PATH variable with command export LD_LIBRARY_PATH=<your_directory>:$LD_LIBRARY_PATH. This modification has to be setup at session startup (e.g: using .bashrc file) to ensure that OS is properly configured before running the SDK.

Note

All install/uninstall commands must be executed with root rights. On Ubuntu, prefix the commands with the sudo command. On other Linux distributions, use the su utility to become root in the terminal window.

Installation for MacOS

  • Get Sentinel_Runtime_37102.tar file

  • In SentinelRuntimeInstaller.framework/Versions/A/Resources/ double-click on Sentinel_Runtime.pkg

  • Double-click the Install Sentinel Runtime Environment disk image icon. The installer wizard is launched

  • Follow the instructions of the installer wizard until the installation is complete. The first time that you run Admin Control Center and submit configuration changes, hasplmd creates configuration files in /private/etc/hasplm/

  • Get MicroEJ_library/hasp_darwin_37102.dylib file and copy it in a directory of your choice

  • Set DYLD_LIBRARY_PATH variable with command export DYLD_LIBRARY_PATH=<your_directory>:$DYLD_LIBRARY_PATH. This modification has to be setup at session startup (e.g: using .bashrc file) to ensure that OS is properly configured before running the SDK.

Configure the Remote Floating License Server

  • On the developer workstation, open a web browser.

  • Browse http://localhost:1947 to open the Sentinel Admin Control Center.

  • Go to Configuration > Access to Remote License Managers.

  • Check Allow Access to Remote Licenses.

  • Uncheck Broadcast Search for Remote Licenses.

  • In Remote License Search Parameters, add the Floating License Server IP address that should have been shared by your System Administrator.

    ../_images/sentinel_rte_client_remote_config.png
  • Click on Submit button.

  • Your computer should now have access to the licenses configured on the Floating License Server. In Sentinel Keys tab, you should see the license key provided by your Floating License Server (e.g. central-sentinel-server).

    ../_images/sentinel_rte_client_installed_license.png

Runtime Installation Instructions and Troubleshooting

Check Activation with the Command Line Tool

To verify access to the Sentinel license on the workstation where the SDK executes, run the debug tool as following:

  1. Open a terminal

  2. Change directory to a Production VEE Port

  3. Execute the command:

    java -Djava.library.path=resources/os/[OS_NAME] -jar licenseManager/licenseManagerProduct.jar
    

    with OS_NAME set to Windows64 for Windows OS, Linux64 for Linux OS, Mac for macOS x86_64 (Intel chip) or MacA64 for macOS aarch64 (M1 chip).

If your Sentinel license has been properly activated, you should get the following output:

[DEBUG] ===== MicroEJ Sentinel Debug Tool =====
[DEBUG] => Detected Sentinel License Key ID: XXXXXXXXXXXXXXXX.
[DEBUG] => Detected MicroEJ License valid until YYYY-MM-DD.
[DEBUG] ===== SUCCESS =====

Troubleshooting

Sentinel API dynamic library not found (code 400)

The following error occurred when the library hasp_[os]_37102.[ext] has not been found. Please refer to Setup the Developer Workstation. Specifically, if you are on Linux, check the library is readable with the command file libhasp_linux_x86_64_37102.so.

Sentinel key not found (code 7)

The following error occurred when there is no Sentinel license available. Go to http://localhost:1947/int/devices.html and check your Sentinel licenses. You should see at least one installed license key:

Sentinel Installed License(s) View

Make sure you correctly configured the access to the Sentinel Floating License Server. Please refer to Setup the Developer Workstation.

No Administrator Privileges on Developer Workstation

Sentinel LDK RTE installation requires administrator privileges and facilitates the setup of the network server. However, it is not necessary to be installed on the developer workstation in case of floating licenses. See this documentation for more details. If you are in such situation, please can contact our support team.