License4J Auto License Generation and Activation Server is a web application which handles license generation, auto activation, manual activation, deactivation, online key validation and blacklist check requests.
License4J License Manager GUI tool stores products, templates, and licenses in the defined database server. When a database server other than local embedded database is selected in options, license activation features and product auto license generation settings are enabled; then Auto License Generation and Activation Server can connect to database server to generate licenses and handle activation requests as defined in database. License Manager version 4.1 and above is required.
When an auto license generation request is sent to License4J Auto License Generation and Activation Server, it searches for requested product and template to generate the license. If all security measures pass, it generates the license then sends back as specified in auto license generation output settings for product.
Since it is web application, it can be deployed on any number of different servers to load balance or separate roles. It has six roles which can be enabled or disabled to support different requirements. Defined server roles are License Generation, Auto License Activation, Manual License Activation, Auto License Deactivation, Online Key Validation, License Availability Check Role.
License4J can generate license text, floating license text and license keys. These license types when used with activation can meet many software licensing requirements. License4J provides GUI tools and server applications to make licensing quick and easy.
25 Characters Long License Key
25 characters long license key is called basic license key in License4J. It is generated by using a secret keyword called internal hidden string in License4J. Customer name and/or company name can also be used while generating key. If customer name and/or company name is used in key generation user must supply exactly same during key validation.
Basic license key without activation is suitable for named user and perpetual licensing.
55 Characters Long License Key
55 characters long license key is called cryptographically secure license key in License4J. It is generated from a private key and validated with its public key. Internal hidden string can also be used in key generation. As in the basic license key customer name and/or company name can be used in key generation and validation.
Cryptographically secure license key without activation is suitable for named user and perpetual licensing.
Node Locked License Key
Both basic and cryptographically secure license key can be node locked (bind to a single computer with a unique hardware ID). Node locked license key is valid only on one specific computer. Hostname, Ethernet MAC address, system disk volume id, HDD manufacturer’s serial number and any custom generated hardware ID can be used in generating hardware ID. Free HardwareIDViewer application displays all hardware IDs.
Node locked license key without activation is suitable for named user and perpetual licensing bind to a computer hardware ID to limit installation.
License Key with Activation
Activation can be enabled on both basic and cryptographically secure license key. After license activation either a node locked activation code or node locked license text depend on license features is returned to customer.
License key with activation is suitable for almost any type of licensing method. Named user and perpetual licensing is already supported, with activation named user can be allowed to install and use software on multiple (mostly two, work and home) computers. With activation return type of a license text, it supports annual/subscription based licensing. It is also suitable for volume licensing with multiple activation by defining maximum allowed activations.
License text can be used when software developer/publisher needs to store customer, product, and license information in a generated license. Valid product edition, version, license validity/expiration period and maintenance validity/expiration period can be defined and validated. Unlimited number of custom signed and unsigned features can also be defined to meet specific needs. Signed custom features are used in license validation.
License text is suitable named user, perpetual, and annual/subscription licensing. It can also include theoretically unlimited number of signed and unsigned features, so it is possible to store any value in custom features to enable or disable any feature of product.
Node Locked License Text
Node locked license text has same features with license text defined above but has also valid hardware ID defined and can only be validated on a specific single computer.
License Text with Activation
License text can be generated with activation requirement. After activation either a node locked activation code or node locked license text depend on license features is returned to customer.
License text with activation is suitable for almost any type of licensing method. Named user and perpetual and annual/subscription licensing is already supported, with activation named user can be allowed to install and use software on multiple (mostly two, work and home) computers. It is also suitable for volume licensing with multiple activation by defining maximum allowed activations.
Floating License Text
Floating license limits concurrent license usage to a defined value. Customer need to install floating license text on License4J Floating License Server and all license lease requests are sent to floating license server by License4J runtime library. Floating License Server is a free server application and can be distributed to customers; and it supports internalization and white-labeling by software developers/publishers.
Floating license text has all features of standard license text with additional support for concurrent license usage metering. It is suitable mostly for mid-sized and enterprise business.
Online License Key Floating Over Internet
It is a basic license key with floating license features running over Internet. Concurrent usage limited licenses can be generated and used without deploying a floating license server. Online.License4J system or in-house Auto License Generation and Activation Server will be responsible for leasing licenses and controlling concurrent usage. Current version supports any special key definition; it can be defined between 5 and 255 characters (e.g. MY-SPECIAL-KEY).
Online license key features can also be modified any time. So it is possible to change any generated license feature; so customers will have new license features when they restart software product.
It is suitable mostly for mid-sized and enterprise business and can be used for concurrent license usage control and metering.
License Availability (Blacklist) Check
When you want to blacklist a license and stop future usage on customer computers, you can just delete the license and use runtime library method in your software product. It will return an integer indicating license availability on defined server. So blacklisted licenses can be detected when customer computer is connected to Internet.
License Modification Keys
License modification keys can be generated for each product to modify a license on server and an activation on customers' computer. Modification key format is same with basic and secure license key (25 characters or 55 characters depending on your selection), and also it is possible to define a custom key between 5 to 255 characters long. Modification key cannot be validated with LicenseValidator.validate method, it is used with a new method LicenseValidator.modifyLicense. Modification keys can only be used for activated licenses; and activation return type must be a license text.
Modification keys will be used when you want to modify an already activated license. Customer information, valid product edition and version, license validity and maintenance validity periods, and finally custom signed/unsigned features can be modified with modification keys.
License Manager can generate license text, floating license text, basic license keys, and cryptographically secure license keys. License text includes features listed below and also has support for unlimited number of signed and unsigned custom features. License keys can be generated based on a customer name or company.
License activation either online or offline manually is supported with Online.License4J system and Auto License Generation and Activation Server. License activation requirement is defined in license generation wizard, and if it is enabled license can be activated online with autoActivate method found in runtime library, or activation request string is obtained with getManualActivationRequestString method and displayed to user for manual activation.
Activation process returns either an activation code which is an 55 characters long key (cryptographically secure license key) or a license text. Selected hardware IDs with defined operator is used in activation.
All activations are bound to selected hardware IDs, when a user tries to re-activate license on same computer with same hardware IDs Online.License4J or Auto License Generation and Activation Server returns the already activated license. So users does not need to save any activation license or information, they can re-activate any time and obtain the same activated license.
Custom hardware ID selection enables any defined custom hardware usage in activation, so any custom generated hardware ID can be used in activation and validation.
Hardware ID Support
License4J supports four different hardware IDs. Hostname, ethernet mac address, system disk volume UUID, and hard disk drive manufacturer serial number can be used for generating an hardware ID.
Single or multiple hardware ID can be used in a license or activation. Hardware IDs can be combined with && (AND) or || (OR) operators. Therefore multiple hardware features can be checked on a computer during license validation.
Other than built-in four hardware ID types, you can also generate your own custom hardware ID and use in license validation/activation. There two separate methods to use custom hardware IDs: validateWithCustomHardwareID and autoActivateWithCustomHardwareID.
Date and Time Check
During license validation License4J can check for local computer's date and time. Date and time check is performed by connecting to either a defined NTP Server, Web Server or to local Active Directory Server. All server names and connection options can be defined during license generation. The order of precedence is NTP, WEB and Active Directory.
Web server options connect to a defined site and expects single line of Unix epoch time in GMT time zone. Active Directory option works if local computer is joined to an Active Directory domain, it query time from any local domain controller.
Custom Signed and Unsigned Features
Any number of signed and unsigned custom features can be defined for a license text. License Manager GUI allows defining unlimited custom features. Custom features can also be defined on license activation.
Auto License Generation
Online.License4J and Auto License Generation and Activation Server has support for auto license generation with HTTP POST method. All method parameters and output settings can be defined so it is possible to integrate with any custom remote script to generate licenses.
Method parameters are already defined for a few biggest payment processor sites which are Share-it, RegNow, SWREG, Avangate and Fastspring. Parameters for these sites are automatically loaded by selecting a list item.
Online License Validation Implementation
By using license activation feature, you can implement an online license validation. To achieve this do not save activated license on customer computer for validation, and re-activate the license each time customer runs your software. Both Online.License4J and new Auto License Generation and Activation Server always return the same activated license after first successful activation.
Since online activation process requires connecting to a server over internet, it will take more time than just license validation. You can re-activate and validate obtained activated license in a separate thread which runs after product startup completes (e.g. in formWindowOpened), if obtained license is not valid or expired display a notification dialog and shutdown your software.
This software is not reviewed yet.
License4J is a Java library for java software licensing. It is designed to be easy to use and integrate in your Java application. License4J creates license files and secure serial numbers. Includes a free to use,distribute floating license server.
License Activation and Validation Proxy Server handles license activation requests.
Floating License Server runs as a service on Windows XP, Windows 7, Windows Server 2003 and Windows Server 2008. Since it is Java based it runs on Linux and UNIX operating systems.