- Revenera Community
- :
- FlexNet Publisher
- :
- FlexNet Publisher Knowledge Base
- :
- Building a Common Vendor Daemon with a TRL Vendor Key for Primary Daemon and non-TRL Vendor Keys for...
- Mark as New
- Mark as Read
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
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:
A 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).
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)