License4J

License4J is a total solution for software product licensing. It provides Java libraries and GUI tools for generating and validating license keys, license text, and floating license files. It is designed to be easy to use and integrate in your application. A License Manager GUI is provided for generating and storing licenses, and a Floating License Server can host and serve created floating licenses. An Online.License4J System allows single or multiple license activations to be defined. It also supports license generation through HTTP post either from a payment processor or a custom script.

Recent releases

Release Notes: Main license table renderer performance was improved. Hardware ID value was added to the License Generation Settings window, so node-locked licenses can be auto generated with a HTTP POST request. License list, activation list, and online key usage list can be exported to an XLSX file for opening in Excel, OpenOffice, and LibreOffice. The file will only include enabled headers on the license table. Bugs were fixed. Third party libraries were updated.

Release Notes: Better license, activation, or modification key search was added. Online license keys can now be modified with License Manager. Users get the modified license at the next license validation. License modification can be rejected for specific licenses on the activation features step (should be used for trial licenses with activation). A license modification key can be dedicated to a specific license, so it cannot modify any other license. Java 8 support was added. GUI bugs were fixed.

Release Notes: Allowed Usage Time Limit for Online License Key Floating Over Internet is implemented; the manage online license key usage window displays all removed clients as grayed out, and old clients can be removed permanently. Adds an allowed activation number coefficient definition to the license template generation wizard. Generated licenses can be sent through a defined SMTP server. The license availability check method also checks for activations on the server. A new example application is added. It includes an obfuscation ANT task to obfuscate both the runtime library and application.