Website Interface to dynamically generate Activation Keys

Hi, new to the forum and the products. I’m looking to automate the process of customers of mine who will be purchasing an XLSPadlock-generated .EXE. My goal is to have them provide a System ID through a web form, and have me auto-generate an Output Activation Key to them on the spot, without manual intervention. I will also want to keep track of this access in a local database of mine.

My webserver (O’Reilly & Associates Website) does NOT support PHP, but supports a fairly robust CGI interface that I can utilize to write to my local DB. However, I need to interface to the Application Key Generator, to get the resultant Output Activation Key.

Is there a facility that:

  1. Provides a command line interface or an alternative programmatic interface to the Application Key Generator app that could facilitate this? Moving to a different web server is not currently an option, for several reasons that are beyond the scope of this post.

  2. Does GDGSoft have a web API facility available that handles this?

  3. Any other suggestions on how to tackle this? Having customers Email me their System ID and have to wait for my email returned Activation Key, seems like a horrible option.

Thanks in advance,


The PHP code that we provide is actually just an interface to call our web API (cgi program).
You can easily implement the call (similar to a form POST) to our web API in any other server scripting language of your choice.
See the PHP code to find out how this works. We have details in the code.

Thank you for the reply. My scripting language of choice is Visual Basic (VB), since I can compile my CGI program, and totally hide its underlying implementation. Also, my knowledge of other scripting languages is very limited.

I assume that you are referring to keggendemo.php and

Looking inside the latter, I can read it in a text editor, but it is not in a very readable format. I do see a reference to an .EXE on the GDGSoft website (looks like a CGI app) inside this text.

From a scripting language such as VB, how would I access this CGI program and its functions, from with another CGI program?

Thank you in advance,


Yes, the reference to the EXE is a CGI application. You post necessary information and it outputs the corresponding activation key.
By VB, what VB version do you exactly mean? VB5, .net?

Hi, thanks again for replying. BTW, I was able to view the contents in Microsoft Word (nicely formatted); it was hard to read in Notepad.

I use VB6. I have a bunch of library routines that I’ve written that interface with server-side Access and SQL Server databases, that I would want to re-use here too. But, I’m just a little fuzzy on how I would call your API routines from a CGI app on my webserver. I typically call my compiled VB, CGI-based app from HTML code:

where AppName is my VB CGI app, “param” is a parameter name, and “x” is a value (or series of values).

I will need to make several function calls to use your system:

  1. Call to XLSPadlockKeygenAPI to instantiate & to pass XLS Padlock Id;

  2. Call to setApplicationMasterKey w/appropriate App Id;

  3. Call to setHardwareSystemID to pass Customer HW Id;

  4. Call to GetActivationKey to obtain returnable Activation Key;

I will need to wrap this all somehow in Paquet Builder to facilitate these calls during the installation process.

Sorry for being long-winded here. Just wanted to give you the picture of what I’m doing.

If you have a VB code snippet to set me off on the right path, it would be greatly appreciated.

Thanks again,


When you call the key generator, use the POST method and not GET.

I strongly discourage you to store the ApplicationMasterKey in your package (it can be retrieved) or even distribute it to somewhere else. It’s like you’re giving away the mean to generate activation keys for your workbooks to anyone.
Application Master Key must remain secret, and the best is to keep it on your server.

You’ll certainly find out how to POST data to a remote script (PHP or CGI, it’s the same here).
For instance:

OK, thanks. I will need to play with this, and yes, I was planning to store the ApplicationMasterKey in a compiled CGI .exe that was resident on my server.

Can I assume that we can make calls to your web API CGI program for production purposes, as a registered user of XLS Padlock? If your server was down, we’d still have manual mechanism for Activation Key generation?

Thank you as always,


Sure, as a registered user of XLS Padlock, you can make direct calls to the web API CGI program.
And in case of server problem (that should not happen, there is a 100% Uptime Guarantee), you can always generate activation keys yourself with XLS Padlock or the stand-alone key generator that you can get at

Excellent! Have a nice weekend!