License Types
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 and software protection 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
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.
The advantage over floating license text is that software publisher will host
license server on their network and have full control over licenses.
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 Features
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
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.
License Deactivation Limit
It is possible to define maximum allowed number of license deactivation in license generation wizard. During a license move from one computer to another, license is deactivated and activated again. When defined, all deactivation records are kept for the license and with license deactivation limit it is easy to control and monitor license move operations performed by users.
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, License4J also supports custom hardware IDs. Any value unique to hardware can be used in license validation/activation. So that instead of using built-in hardware ID uuid values, hostname, mac address values can be used directly. 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. HTML form with Ajax and PHP code is automatically generated for selected licens template and auto license generation setting.
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 Update Check
When product updates or new release information is defined with License Manager GUI, runtime library method License.checkForUpdate returns new version information to clients. License.checkForUpdateMessage method returns a message or short changelog information. Therefore, runtime library can also be used for online update and message check after license is validated.
License Message Support
Runtime library method License.checkForNewMessage provides a simple message exchange from software publisher to clients. When it is needed to send a message to client within software product, message is defined for a specific customer license, then runtime library returns the message to client. A simple dialog box may be used to send a simple message to customers.
Online License Validation Implementation
By using license activation feature, it is possible to implement an online license validation. Instead of saving activated license on customer's disk, license is activated each time customer runs the software. 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.
License Use Information and Tracking
Basic license use information is updated with a single method call. Total license use count and last date/time license is validated is saved on server. Maximum of ten License use tracking parameters can be defined and updated after license validation. License Manager GUI main license window can be configured to display required values in columns.