Encrypting the Upgrade License Codes

The upgrade licenses generated using RMS are encrypted using proprietary encryption algorithm. However, for enhanced security, you can add an additional layer of encryption while generating upgrade licenses.

Executables to Rebuild

>In case of standalone licensing (application linked to the standalone library or the integrated library), the client application needs to be rebuild. However, encryption of upgrade license codes is not supported for standalone licensing.

>In case of network licensing, the License Manager executable needs to be rebuild.

>The command-line upgrade license code generator (ulscgen)

>The command-line upgrade license code decoder (ulsdcod)

Description

Provides the vendor-specified extra layer of encryption and decryption for upgrade license codes.

Function Prototype

int VLSencryptUpgradeLicense
(
   char *decrypted_mesg,          
   char *encrypted_mesg,          
   int   size                     
);

Returns

>Returns 0 (zero) on success.

>Returns non-zero on failure.

Parameter

Description

decrypted_mesg

An IN parameter.

The original upgrade license code.

encrypted_mesg

An OUT parameter.

The encrypted upgrade license code.

size

An IN parameter.

The size of the decrypted_mesg buffer.

Function Prototype 

int VLSdecryptUpgradeLicense
(
   char *encrypted_mesg,          
   char *decrypted_mesg,          
   int   size                     
);

Returns

>Returns 0 (zero) on success.

>Returns non-zero on failure.

Parameter

Description

encrypted_mesg

An IN parameter.

The encrypted upgrade license code.

decrypted_mesg

An OUT parameter.

The original upgrade license code.

size

An IN parameter.

The size of the encrypted_mesg buffer.

Steps to Perform

1.Create the VLSencryptUpgradeLicense function.

2. Create the VLSdecryptUpgradeLicense function.

3. Update the ENCRYPT_UPG_LIC_OBJS variable in the custom32.mak file.

4. Update the DECRYPT_UPG_LIC_OBJS variable in the custom32.mak file.

5.Follow the build procedure specified in How to Use the custom32.mak File?.

Code Snippets

Refer to the code snippets of VLSencryptLicense and VLSdecryptLicense.