The vendor certificate generator (VCG) is the component of the FLEXnet Operations System that generates license certificates from PRDs. VCG v6.2.1 is built with FLEXnet Licensing v10.1.3.
VCG v6.2.1 does not support IPv6. If you need a version of the VCG that supports IPv6, do not upgrade the VCG to v6.2.1.
Before its v10.0 release, FLEXnet Licensing was known as FLEXlm. Tamper Resistant Licenses (TRL) are referred to as the Counterfeit Resistant Option (CRO) in FLEXnet Licensing releases previous to v10.0.
You must build a VCG on each platform on which you run a FLEXnet Operations client from which licenses will be generated and on the platform(s) on which you run the Customer Portal and the Fulfillment service. The VCG kit contains the source files for all of the platforms on which the FLEXnet Operations System is supported. First, configure the VCG source files, then build one or more platform-specific VCGs using a C compiler. After you build one or more VCGs, import a platform-specific VCG into an Operations client running from each client, Customer Portal, and Integration services installation from which licenses will be generated.
To configure the VCG:
Example: If your FLEXnet Licensing vendor daemon name is "mycorpd," you would change the line:
If you are upgrading to FLEXnet Licensing v8.1+:
If you are using pre-v8.1 FLEXnet Licensing:
You do not enter
your FLEXnet Licensing vendor keys or TRL keys in vcg_code.h.
LM_STRENGTH_LICENSE_KEY |
LM_STRENGTH_DEFAULT |
LM_STRENGTH_113BIT |
LM_STRENGTH_163BIT |
LM_STRENGTH_239BIT |
LM_STRENGTH_PUBKEY (equivalent to LM_STRENGTH_113BIT) |
LM_STRENGTH_VERYHIGH (equivalent to LM_STRENGTH_239BIT) |
LM_BEHAVIOR_V2 |
LM_BEHAVIOR_V3 |
LM_BEHAVIOR_V4 |
LM_BEHAVIOR_V5 |
LM_BEHAVIOR_V5_1 |
LM_BEHAVIOR_V6 |
LM_BEHAVIOR_V7 |
LM_BEHAVIOR_V7_1 |
LM_BEHAVIOR_V8 |
LM_BEHAVIOR_V8_1 |
LM_BEHAVIOR_V8_2 |
LM_BEHAVIOR_V8_3 |
LM_BEHAVIOR_V9 |
LM_BEHAVIOR_V9_3 |
LM_BEHAVIOR_V10_0 |
LM_BEHAVIOR_CURRENT |
If VCG_LICENSE_CASE_SENSITIVE is set to -1 (default value) and:
By default, FLEXnet Licensing performs case folding on license file text. The FLEXnet Licensing case-folding algorithms support the ASCII and ISO 8859-1 codepages, only. If your license file contains characters from codepages other than these (for example, UTF-8), then you must turn off case folding by enabling case sensitivity in your VCG and FLEXnet Licensing implementations.
Therefore, if you plan to use non-ASCII characters in text elements encoded using UTF-8, set VCG_LICENSE_CASE_SENSITIVE to 1 or TRUE to force case sensitivity.
By default, the VCG uses ISO-8859-1 encoding for non-ASCII characters in text elements in license certificates. If you want to use some other character encoding (for example, UTF-8) for the VCG (and the rest of the FLEXnet Operations System), set that encoding using the environment variable GT_CHARACTER_ENCODING in GTSITE/config/main.env. For example:
GT_CHARACTER_ENCODING=UTF-8
See your FLEXnet Licensing documentation for restrictions on the content of text elements in a license certificate and the types of supported character encoding. To support international characters, changes must also be made in your FLEXnet Licensing toolkit. A summary of the changes follows:
In the FLEXnet Licensing toolkit:
If you generate counted licenses, in lsvendor.c, change the following setting to 1:
int ls_a_license_case_sensitive = 1;
For consistency between the VCG and lmcrypt, also change the code in lmcrypt.c. Before the call to lc_cryptster(), add a line similar to the following:
lc_set_attr(lm_job, LM_A_LICENSE_CASE_SENSITIVE, (LM_A_VAL_TYPE) 1);
In the FLEXenabled Application:
In the FLEXenabled application (using FLEXible API), add a line similar to the following before the call to lc_checkout():
lc_set_attr(lm_job, LM_A_LICENSE_CASE_SENSITIVE, (LM_A_VAL_TYPE) 1);
If you have multiple elements and are upgrading from a pre-v5.0.2 VCG, be sure to add a case sensitivity setting in each of the vendor_info[] elements. See machind/vcg.h for the location of this setting in the structure definition.
To allow the VCG to generate licenses for your vendor-defined hostid type, replace 0 in the line above (in vcg_vendor.c) with the name of the function used to define the vendor-defined hostids that was written by the person who integrated FLEXnet Licensing into your applications.
Please contact technical support for details on integrating a vendor-defined hostid type with the VCG.
You must build a VCG on each platform on which you run an Operations client that will generate licenses, on which you run the Customer Portal, or on which you run the Fulfillment service. On UNIX, use a C compiler that understands the cc command. You may not be able to successfully build the VCG if you set cc to call the gcc compiler, especially on Solaris. On Windows, we recommend Microsoft Visual C++ v6.0+.
Note for Red Hat Linux: An Operations client, etc. running on Red Hat versions 6.x to 9 or Enterprise 3.0 can run with a VCG built with the i86_r6 platform files. However, a VCG built with the i86_r6 files must be built on Red Hat 6.x to 8. If you build the VCG on Red Hat 9 (to import into an Operations client running on Red Hat 9), build with the i86_r9 platform files; if you build the VCG on Red Hat Enterprise 3 (to import into an Operations client running on Red Hat Enterprise 3), build with the i86_re3 platform files.
VENDOR This is your ISV name and is usually the same value as the vendor daemon name that was entered for VENDOR_NAME in machind/vcg_code.h.
The name of the VCG executable is ISV_vcg[.exe]. Repeat both of these steps for each platform-specific VCG that you build.
To generate licenses with Operations clients, the Customer Portal web application, or the Fulfillment service, you must import a VCG into an Operations client running from each of those installations. See the FLEXnet Operations Online Help for instructions to import the VCG into an Operations client.
Last updated 2/07/05