LIBPF® Activation Guide

This document explains the rationale and the mechanisms of the activation system in LIBPF® 1.1. It is also available in Italian, French and German.

For more information see:

Introduction

When started, every application (computing kernel), service or API based on LIBPF® checks if it has already been activated on that particular computer / virtual machine / container. If not, the activation will be required as explained by the error message that appears on the lower panel of the user interface:

LIBPFUSRactivation-img001.png

or in the command prompt in case the kernel is started from the command line:

LIBPFUSRactivation-img002.png

The activation occurs by (manually or automatically) accessing a specific activation web server, towards which an alpha-numeric string that uniquely and securely identifies the computer on which LIBPF® has to be activated is sent.

The activation web server generates the activation key and provides instructions to make the activation permanent, depending on the operating system of the client computer. The activation must be done a single time for each computer on which the use of the LIBPF® executables is intended with a certain site identifier.

For more information see the Appendix - Frequently asked questions on activating LIBPF®.

Automatic activation via the LIBPF® desktop application

What you need

  1. The LIBPF® desktop application to be activated

  2. Administrator rights for the client computer the activation of LIBPF® is desired on

  3. The client computer on which the activation of LIBPF® is desired must have an Internet connection. If that’s not the case see the manual activation procedure.

Windows

The automatic activation process is launched from the Settings → Activation menu of the user interface:

LIBPFUSRactivation-img003.png

Two consents are required, one for launching as administrator the kernel.exe application:

LIBPFUSRactivation-img004.png

and another one for launching as administrator the automatic activation executable (libpf_activation.exe):

LIBPFUSRactivation-img005.png

After a few seconds, the success of the automatic activation is confirmed by the message that appears in the status bar in the lower part of the user interface:

LIBPFUSRactivation-img006.png

LIBPF® is now activated on this computer, thus at every following run it will no longer ask to repeat the activation procedure: you can start using the LIBPF® application!

Linux

The automatic activation process is launched from the Settings → Activation menu of the user interface:

LIBPFUSRactivation-img007.png

You need to have sudo access to the machine; your credentials are verified at this point:

LIBPFUSRactivation-img008.png

After a few seconds, the success of the automatic activation is confirmed by the message that appears in the status bar in the lower part of the user interface:

LIBPFUSRactivation-img009.png

LIBPF® is now activated on this computer, thus at every following run it will no longer ask to repeat the activation procedure: you can start using the LIBPF® application!

macOS

The automatic activation process is launched from the Settings → Activation menu of the user interface:

LIBPFUSRactivation-img010.png

You need to have sudo access to the machine; your credentials are verified at this point:

LIBPFUSRactivation-img011.png

After a few seconds, the success of the automatic activation is confirmed by the message that appears in the status bar in the lower part of the user interface:

LIBPFUSRactivation-img012.png

LIBPF® is now activated on this computer, thus at every following run it will no longer ask to repeat the activation procedure: you can start using the LIBPF® application!

Automatic activation via command line

What you need

  1. The LIBPF® application to be activated (e.g. kernel.exe)

  2. The activation utility (libpf_activation.exe)

  3. Administrator rights for the client computer the activation of LIBPF® is desired on

  4. The client computer on which the activation of LIBPF® is desired must have an Internet connection. If that’s not the case see the manual activation procedure.

Procedure

  1. Verify in an unprivileged command prompt that the kernel is not yet activated:

    LIBPFUSRactivation-img002.png
  2. Launch the activation utility executable (libpf_activation.exe) from a command prompt with administrative rights (i.e. Start → “cmd” → CTRL+SHIFT+ENTER on Windows, sudo su on Linux or macOS):

    LIBPFUSRactivation-img027.png
  3. Verify in the unprivileged command prompt that the kernel is now activated:

    LIBPFUSRactivation-img021.png

LIBPF® is now activated on this computer, thus at every following run it will no longer ask to repeat the activation procedure: you can start using the LIBPF® application!

Manual activation

There are circumstances in which the computer on which the activation of LIBPF® is required does not have an Internet connection, for security reasons or because of company policies. There also are situations in which automatic activation is undesirable or a previous activation has to be restored while internet connection is absent, or after system restore or registry changes.

In these situations it is also possible to activate LIBPF® manually.

What you need

  1. The LIBPF® application to be activated (e.g. kernel.exe)

  2. Administrator rights for the computer the activation of LIBPF® is needed on

  3. A client computer with an Internet connection, which can optionally be distinct from the one on which LIBPF® activation is intended

  4. If there are two different machines, transferring (USB, intranet, email, FTP…) text files between the computer on which activation of LIBPF® is intended and the client computer connected to the Internet and vice versa must be possible.

  5. If you intend to restore a previous activation you need a file with a backup copy of the registry keys.

Note 1: in case the computer on which the activation is intended is distinct from the computer connected to the Internet, the instructions in bold below show the steps to follow on the latter and in [square brackets] the operations specific for this situation.

Note 2: The User Account Control (UAC) requires running with administrator rights (run as administrator) for at least once the LIBPF® application needing the activation. The procedure “run as administrator” is required only one time in order to generate the Unique machine ID.

Procedure

  1. Run the LIBPF® application to be activated (e.g. kernel.exe) with administrator rights:

    • perform a right mouse button click on the executable, and select the click “run as administrator“ option, or:

    • launch the executable from a command prompt with administrative rights (i.e. Start → “cmd” → CTRL+SHIFT+ENTER)

  2. Copy the link to the indicated activation web server (right click on the title bar of the window, Edit → Mark, enter) as shown below:

    LIBPFUSRactivation-img013.png

    it should be similar to https://activation.libpf.com/1/windows.php?site=it.siteid_1.1 but instead of it.siteid_1.1 there will be the actual site identifier [then transfer the link by means of a text file to the computer connected to the Internet]

  3. Copy the 1368 characters (right click on the title bar of the window, Edit → Mark, enter) as shown below:

    LIBPFUSRactivation-img015.png

    [then transfer the string to the computer connected to the Internet via a text file]

  4. Open the link with the preferred browser:

    LIBPFUSRactivation-img014.png
  5. Paste the 1368 characters in the text box; the text box checks the length of the entered text and if the number of characters is not equal to 1368 a message appears:

    LIBPFUSRactivation-img016.png
  6. Once the string is validated, click “Submit”:

    LIBPFUSRactivation-img017.png

From this point on, the instructions differ depending on the operating system of the computer on which the activation of LIBPF® is intended: Windows, Linux or Apple macOS.

Windows

  1. When the result appears, copy the text between the two horizontal rulers that starts with Windows Registry Editor and ends with the closing double quotation mark:

    LIBPFUSRactivation-img018.png
  2. Save the text in a file activation.reg on your desktop for instance:

    LIBPFUSRactivation-img019.png

    [then transfer the activation.reg file on the computer the activation is desired on]

    Beware: on 64 bit versions of Windows 10 it is necessary to edit the activation.reg file changing the address of the registry key at the beginning from: HKEY_LOCAL_MACHINE\SOFTWARE\libpf.com\LIBPF 1.0 to: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\libpf.com\LIBPF 1.0

  3. To load the key needed in the system registry you can directly double click the activation.reg file (at this point you might be required to confirm the User Account Control right elevation dialog) or go via the registry editor of the system (Start → “regedit” → ENTER and accept UAC); in this second case you should click on File → Import, select the activation.reg file; the message should be:

    LIBPFUSRactivation-img020.png

    LIBPF® is now activated on this computer, thus at every following run it will no longer ask to repeat the activation procedure, showing instead a message similar to:

    LIBPFUSRactivation-img021.png

You can start using the LIBPF® application!

At this point it is advisable to make a backup copy of the registry keys created by the activation procedure in a .reg file. To do so:

Linux

  1. When the result appears, copy the text between the two horizontal rulers that starts with ActivationKey=:

    LIBPFUSRactivation-img022.png
  2. Save this line in a file called for example activation.txt located for example on the desktop [then transfer the activation.txt file on the Linux computer that must be activated]

  3. On the Linux computer that must be activated, open with your preferred editor, and with root privileges the file /etc/xdg/libpf.com/LIBPF.conf for example with KDE use kate:

     kdesudo kate /etc/xdg/libpf.com/LIBPF.conf
    

    or at the command line good old vi:

     sudo vi /etc/xdg/libpf.com/LIBPF.conf
    
  4. Remove any line starting with ActivationKey= and add the one you previously saved in the file activation.txt.

LIBPF® is now activated on this computer, thus at every following run it will no longer ask to repeat the activation procedure: you can start using the LIBPF® application!

At this point it is advisable to make a backup copy of the /etc/xdg/libpf.com/LIBPF.conf file you just modified, for example:

cp /etc/xdg/libpf.com/LIBPF.conf ~/LIBPF.conf_backup

macOS

  1. When the result appears, copy the text between the two horizontal rulers that begins with <key>1·0.ActivationKey</key> and ends with </string>:

    LIBPFUSRactivation-img023.png
  2. Paste the two lines in a text editor, save in a file named activation.txt [then transfer it to the macOS computer that must be activated]

  3. On the macOS computer that must be activated, launch the TextEdit text editing application:

    LIBPFUSRactivation-img024.jpg
  4. Locate the /Library/Preferences/com.libpf.LIBPF.plist file on the system drive and open it with TextEdit:

    LIBPFUSRactivation-img025.png
  5. Paste the two lines saved in the activation.txt file after the the <dict> tag:

    LIBPFUSRactivation-img026.png
  6. Save the /Library/Preferences/com.libpf.LIBPF.plist file and close TextEdit.

LIBPF® is now activated on this computer, thus at every following run it will no longer ask to repeat the activation procedure: you can now start using the LIBPF® application!

Appendix – Frequently asked questions on activating LIBPF®

What exactly does the LIBPF® activation procedure do?

It registers on one of our servers every first use on a certain computer of an executable produced with LIBPF®.

What is the purpose of the LIBPF® activation procedure?

The goal is counting on how many computers the executables produced with LIBPF® with a given site identifier are used at least once.

In order to activate a computer, must it have direct Internet access?

Yes, if you use the automatic procedure.

No, if you use the manual procedure: in this case the activation does not require the activated computer to be connected to the Internet. But at least another computer with connection to the Internet is needed and transferring files between the two must be possible.

What kind of information does the program collect during the activation?

The unique identifier of the machine (Unique Machine Identification) is calculated based on the following information:

  1. Computer name, system directory

  2. MAC addresses of all network adapters

  3. Total size of the physical memory (RAM)

  4. CPU type and characteristics.

What information is recorded on the activation web server?

The date and time, site identifier and IP address of the accessing client.

What is the site identifier?

The site identifier is an alphanumerical code assigned to every client or subsidiary of the client when a LIBPF® license agreement is activated.

Does it transmit information on our systems to you or third parties? Is it a malware?

No, the activation process respects the following requirements:

  1. Does not provide any confidential information to libpf.com or any other third party (the unique machine identifier is encrypted with a public key algorithm before being transmitted, and the key needed to decrypt is not transmitted)

  2. If the user does not launch the automatic activation process, no information is transmitted over the network

  3. During the process of manual or automatic activation of the product all the network communications are protected by SSL encryption

  4. After uninstalling, the product doesn’t leave any process, daemon or service related to the activation in execution; however, for convenience, a trace of the activation is left, just in case a reinstallation of the program would be desired on the same machine.

Will it be needed to repeat the procedure on my computer?

The activation procedure is normally performed only one time for a particular computer and site identifier, but a new activation might be required in the case of major software/hardware updates.

We are LIBPF® developers, must we activate all the executables produced with the SDK?

No, all the executables compiled and linked to a copy of LIBPF® SDK share the same site identifier and therefore require activating only one time on the destination computer.

I have a LIBPF® license for a number of simultaneous users, how many times and on how many computers can I activate the program?

There is no limit for the number of computers on which you may activate. The license for a number of users is based on simultaneous use and not bound to a specific computer.

Should I also activate the development machines?

The users of the development system can compile and link LIBPF® executables even without activating the development computer. Activating is needed for the development machines if you want to use them for debugging.

Why do I need administrative rights to perform the activation?

For Windows: because it writes in the “HKLM” hive of the system registry.

For Linux: because it must write a file in the /etc folder.

Yes, UAC (User Account Control) prevents the writing in the HKLM hive of the system registry. To perform the activation on these operating systems it is necessary to run the program with administrator rights (run as administrator) to avoid the problems associated to the registry virtualization

Is there any particularity on 64bit Windows 10?

Yes, in the manual activation procedure you need to change the path from: HKEY_LOCAL_MACHINE\SOFTWARE\libpf.com\LIBPF 1.0 to: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\libpf.com\LIBPF 1.0.

If I have two different LIBPF® licenses, can I use them on the same PC?

Yes, although they cannot be used simultaneously and you need to manually switch. In this case, start with the activation of the first license and backup the registry key as described above in a file called license1.reg. Then proceed with the activation of the second license and back it up in a file licence2.reg. Before starting any computations with kernels bound to one of the other license, just switch to the required license by double-clicking on the respective .reg file.

How does a typical activation.reg file look like?

This is the content of a typical activation.reg file:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\libpf.com\LIBPF 1.0]

ActivationKey=Oq1w9u/9jlFXvBka5erx5ikkukgOQb+tpDDm0ZP59nAk2PMOYF1pN8aVP0CC/KSVLsV5SL9MmwKrHuUORaZbP/K7CkgqJcsLO2gNn
liL77IUE74su4zonqhvh8R2/i3SrCASq4nNEluPmfSNSvaXD1KA7yVMDTKsB9ghxD/aG4eKkkUtcBGYYPSaZFWOUMh8Q7O1taZ3Zx0xIf5RDUqs92WW
Dloi663YUNyhgdY6FGv58xWTGMXrOyAU8+IY5JLVJ7imGozK6BoCNhq4mvb1QNoRY3vXKYQZegRhhRxeVemj1lo6dIK5pFqRHlzwUHmXOG5BR+iOGfb
MNVq3Fmjq817U9mYgQYB4UTbxgrzrhxa4F3n/t2LcvKzX5/SRMoKnYF6mmpuuNHeC2OTFtoMfmGWG8K40089IWMPBRcNqwqCWcrxdCUevL0cFCqPxOg
4SkdiNjwFBabbfHnPRGJFQkmruPbs/SoJzepatZ8q73cUIaP2uVpM97vmx2V9JzMSlwo7iaZAoeRX4NbviSz5jn6qVC4oBpou9T29mzb7J2ou9F/reo
bKPNRVGiG5w1FASXxF0lJ0taCGboXRrVoQcLHO+09dB8Y/iUFusFFAwZpgmuxphpFopy9dwRf4aW3d4MIo9wHfJ9YjrddJwj+ghDahyobJycBBI7XZ/
I094ezozD3QMQXkZbNs6CPCPS3TL9k4zFkhv/t91z1IjR96p2z5cWZNZgtpgWWsyPNPAMj0i1K7Cn9FVeG0BwxMw8L0OtA6UXZSyR9kQbYfJe53Iq0K
zlWjHAZ+akn316aiu01/XMEvrn47mwmFVQznckItWTt9fuk9oYpsI7qmyfFIN7wgr0nWDvs2mrFwNBAl791wpYcuubguFfVKFpNUJZISEz0+IEW62Gd
2lKfR+dzLKG0uUyqiDMv8tgpj70ii1h+KIFir4dD5se4bDqDqeW3UywTzqHsf2LP6G5PtOvwQ4kCbI+Nd9EuKtTUCttZTtSG2bCoo6m+GohtFCAbCq4
EIpv5bDaRTCVVM1VRl2yzuEh4yzetfLxY+ZD3wX/SaHBrwYbDMjEZDlshxniCa0lT73IXwQC8pEcuxk/8JcUSLWviNDsNV6Ubk/PikOWieMzQHrdpOT
b5d8NFGBl5Z3LpDpbJ8YdL0azEefEjywJGN+ueH8OZUe0b2u3cjoAxwHRJRv1q/J6gAPNsf98NtVXyeofLguAc9qamdEgKkNkZm4Lptr2C8UCoEEYol
KPEBOj2pAzBvU39SroyUqGRAZpNLVHW0BtWn/qRlowT+70sLq5w0wzULLvUVK3bVLyqubF5KXNTErnHD67I4kVc6FjRO5SWgfmypCmGF14AbrnKOHpg
==