Any questions? Ask us: support@enigmaprotector.com

Help

Manual
Additional
Manual

CGI Key Generator

CGI Key Generator can be used for generating registration keys for certain projects through the remote server call, web page, web request. CGI key generator should be placed on the server (there are 2 kinds of CGI key generators, for Windows and for Linux servers, you can find it in EnigmaSDK\CGI Keygen folder) into the cgi-bin folder, and the execution attributes (permissions) for the key generator file should be enabled. Calling the CGI generator with the necessary parameters will generate a registraton key. The key generator parameters could be passed to the CGI key generator by GET or POST method. Remote CGI key generator is the best way to integrate a key generator with automatic registrators like ShareIt, RegNow, Plimus etc.

How to use the CGI key generator:

1. Place the keygen to the cgi-bin folder of your web site (make sure that your server supports execution of CGI applications)

2. Enable execution permissions for the keygen file ("keygen" for Linux and "keygen.exe" for Windows servers)

3. Create a link for key generator execution:

There are the following actions that could be used with CGI key generator:

  • GenerateKey - generates ANSI* registration keys;
  • GenerateKeyA - the duplicate of GenerateKey;
  • GenerateKeyW - generates unicode* (wide string) registration keys;
  • GenerateKeyFromProject - generates registration keys based on a settings in the project file, generator parameters** will be extracted from the project file;

* please note that you should only use ANSI or unicode scheme of licensing for a particular project. If the UNICODE Registration Scheme option is enabled in the REGISTRATION FEATURE - Common panel, the key generator should be called with a unicode support action (actions with W prefix), otherwise ANSI actions should be used.

** generator parameters - is registration scheme unicode or no, KeyMode, KeyBase, EncryptedConstant, PublicKey, PrivateKey.

CGI Key Generator accepts the following parameters:

Action - defines the action to be performed, allows the following values:

  • GenerateKey
  • GenerateKeyA
  • GenerateKeyW
  • GenerateKeyFromProject

FileName - the name of the project file. This parameter is used only for actions that use the project file (like GenerateKeyFromProject). String should be UTF-8 encoded;

RegName - enter a registration name for the registration key. Please note that this string should be http encoded to avoid appearing of untranslated symbols (for example, the space symbol should be translated into %20 but not " ") and the source string should be in UFT-8 encoding;

KeyMode - defines what type of registration key should be generated. To get this value, open your project file in Enigma and go to REGISTRATION FEATURES-Common panel, take a look at the Registration key safety/length field, for example, if this field is RSA 1024, you should use KeyMode=1024 (possible values for KeyMode are 512/768/1024/2048/3072/4096);

KeyBase - defines the output format of a registration key. To get this value, open your project file in Enigma and go to REGISTRATION FEATURES-Common panel, take a look at the Registration key output base field, for example, if this field is Base 32, then you should use KeyBase=32 (possible values for KeyBase are 2/8/16/32/64);

Hyphens - indicates if the registration key should be divided my hyphens or not. If yes, enter Hyphens=1, otherwise skip this parameter;

Hardware - the hardware ID the registration key should be locked to;

Expiration - the registration key expiration date, define this parameter with the expiration date value*;

RegAfter - Register After date*;

RegBefore - Register Before date*;

Executions - the number of executions to limit the registration key to;

Days - the number of days to limit the registration key to;

Runtime - the number of run-time minutes to limit the registration key to;

Globaltime - the overall number of minutes to limit the registration key to;

Country - the code of the county to lock the registration key to;

Sections - if the registration key should unlock crypted sections, generate a 16-digit string indicating the section that should be unlocked with the generated key. If digit = 1, the key will unlock a section, or 0 if no section should be unlocked. The section string 1010001001001001 shows that sections #1, #3, #7, #10, #13, #16 should be unlocked

EncryptedConstant - get this constant from the project file, open project file in notepad and find there EnigmaProject-RegistrationFeatures-Constants-EncryptedConstant branch and get its value

PrivateKey and PublicKey - values should be looked up in the project file. To get these values, open your project file in Enigma and go to the REGISTRATION FEATURES - Common panel, the Public and Private Keys are shown in the "Information for Custom Keys Generator" box.

* the date value should be represented in a string. The date has the following format: 2 digits (day) + 2 digits (month) + 4 digits (year). For example, 1 Dec 2010 date is string 01122010

Examples

Show/Hide PHP (POST using CURL method) example

Show/Hide PHP (POST method) example

Show/Hide PHP (GET method) example

Show/Hide HTML (GET method) example

Show/Hide HTML (GET method) getting parameters from project file example

Show/Hide HTML (POST method) example

Show/Hide HTML (POST method) getting parameters from project file example

We recommend using the POST method to pass data to the key generator, because the GET method has a data size limit that can be passed through the url string.