Building a Common Vendor Daemon with a TRL Vendor Key for Primary Daemon and non-TRL Vendor Keys for Secondary Daemons

Building a Common Vendor Daemon with a TRL Vendor Key for Primary Daemon and non-TRL Vendor Keys for Secondary Daemons

Symptoms:

common vendor daemon (CVD) was built in which a TRL (tamper-resistant licensing) vendor key was used for the primary vendor daemon and non-TRL vendor keys were used for the secondary daemons (as defined in the configuration file).  The CVD was able to build correctly, and lmcrypt correctly encrypted the license file using the AUTH keyword. 

However, when the daemon was started, the following error was issued:

4:42:19 (demo) SLOG: TPM Status: 0

4:42:19 (demo) SLOG: FNPLS-INTERNAL-CKPT6

4:42:19 (demo) Invalid license key (inconsistent authentication code)

_4:42:19 (demo) ==>INCREMENT F1 demo 01 31-jan-2023 99 ISSUED=16-aug-2019 ck=31
__SN=RK:xxxxxx START=16-aug-2022 AUTH={ demo=( _ _SIGN="138C A584 9F57 1E8C 2FF5 69A8 7104
F223 9C64 C3ED 94B3 5C8F A42E C01C 1575 0949 A34F F6B5 6ABD F1BA E55F 7761 CF4B 6268 3FE6 D97B
18B8 1BE0 3777 78F6") qavend1=( LK=xxxxxxxxxxx) _ _} 

Diagnosis:

Refer to the following "Maintaining Backward Compatibility" section in the FlexNet Publisher  Programming Reference for License File-Based Licensing ( the fnp_PR-LF.pdf in the doclib.pdf).

TRL and NONTRL CVD.JPG

Solution:

To ensure that the primary vender daemon serves both TRL and Non-TRL licenses, perform the following two steps.

Step 1: Properly Link the Client Library for the Primary Vendor

You must first link the client library for the primary vendor to  liblmgr.a. To do so, open your toolkit makefile and locate line 99, which defines the CLIENTLIB parameter (as shown below).

CLIENTLIB = liblmgr$(PIC_LIB)_trl.a libcrvs$(PIC_LIB).a libsb$(PIC_LIB).a $(BORROWOBJ) ${DONGLELIB}

Remove  _trl from liblmgr$(PIC_LIB)_trl.a.

The corrected line should now look like this:  

CLIENTLIB = liblmgr$(PIC_LIB).a libcrvs$(PIC_LIB).a libsb$(PIC_LIB).a $(BORROWOBJ) ${DONGLELIB}

See the attached makefile_CVD. makefile for an example of a CLIENTLIB line that is correctly configured for the primary vendor.

Build the common vendor daemon, using your  makefile, which now has now been properly updated. 

Step 2: Modify the Feature Line for the Primary Vendor Daemon

To ensure that the primary vendor daemon serves non-TRL licenses and TRL licenses, modify the feature line for the primary vendor to contain the old license key and the new TRL license signature (by using the SIGN2 keyword) in the same line.  See the attached counted license.zip file for an example.

For additional information about configuring the feature line, see the "License File" section under "Maintaining Backward Compatibility" in the FlexNet Publisher  Programming Reference for License File-Based Licensing.

Use lmcrypt from the common vendor daemon toolkit to sign the license files. Issue the files accordingly.

Running the Vendor Daemon

After performing both of these steps, you should be able to start the common vendor daemon and serve the licenses to both clients.

Files attached - counted.lic, makefile for Linux(primary kit)

Was this article helpful? Yes No
No ratings
Version history
Last update:
‎May 25, 2022 01:19 PM
Updated by:
Contributors