aKEY Registration Key System
General Information
Copyright © 2000-2002 by Jørgen Ibsen, All Rights Reserved.
aKEY is a registration key system which uses public-key cryptography to produce a signature protecting the registration information (much like signing a message in PGP or GnuPG). This means that it is not practically possible to change the information or to create a valid key, even given another.
aKEY was developed with three main concerns -- security, flexibility and ease-of-use:
The DJGPP library works with DJGPP.
The DLL should work with any Win32 compiler/linker.
The ELF32 library works with GCC on (at least) Linux, FreeBSD, BeOS and QNX.
The Visual C++ library works with (at least) Visual C++, Cygwin, Masm32 and Watcom -- and should work with other compilers/linkers that can use the MS COFF format.
The Watcom library works with (at least) Watcom, Borland C++ and TASM32/TLINK32 -- and should work with other compilers/linkers that can use the OMF format.
The DLL should work with any Win32 compiler/linker.
Here are a few tips and ideas on how aKEY can be used:
You can store any kind of information in the key. Depending on what restrictions you have on your registrations, you can store e.g. the license type, the major version number the key is valid for, the expiration date of the key, the hardware ID of the machine the key is valid for, ...
The armor encoding is great for distributing the key, but once it has been decoded and checked, you can store the key in binary form. E.g. store the decoded key in the registry on Windows systems.
Some on-line registration services can handle key distribution to users for you. You just supply them with a binary which produces a key/serial from the user information.
It is easy to integrate aKEY with such services, and the armor encoding of the keys make them suitable for inclusion in e-mails or display on a web-page. The registered versions include example code for the Share-It! service.
You can use the block-system to upgrade a key so it is valid for both the old and the new version of your product. Just let the new version keep the registration information in a block with a different type.
Let registered users paste their registration key into a form, and have your server check that the key is valid, copy the old information into a new key, and add a new block for the new major version.
|
|
If you have any questions, suggestions or bug-reports about aKEY, please feel free to contact me by e-mail at: jibz@hotmail.com.
My PGP/GnuPG public key is available at public keyservers (e.g. keyserver.net).
You can get the latest version of aKEY and my other software at: Ibsen Software.
If you want to register aKEY, please check the registration information on the homepage.