Since 1992


             How to protect your applications
       Promote your software
 Contact Us
© 2012 BeeSoft ®

Abeona overview

Abeona is a tool and library for creating and validating license files for Java applications. It is based on a set of properties which are characteristic for the customer and purchased application's configuration, and also on some cryptography.

This software is named Abeona after ancient Roman Goddess who protects children when they leave the parents' home.


  • User friendly and easy to use. API is very straightforward.
  • You can create license files manually with GUI tool or from code (e.g. from web service).
  • Support for floating licenses (contains license server).
  • Safety. Abeona is as safe as asymmetric-key cryptography can be. A brute force attack is the only way to crack this protection - you will need ocean of computers and ocean of time to do it.
  • Complete documentation.
  • Free support and update.
  • Try before buy - you can donwload this product without license key and try it for any period of time.
  • No royalty when shipping to customer.

How does it work?

License is standard properties file containing whatever you want - customer name, user MAC address, application serial number, enabled (purchased) modules, and so on (you can read more about application protection methods in How to protect your application.).

All these properties are signed by digital signature which is stored in license too. And your application, when running, simply checks if somebody did not change these properties.

So what do you need to do to create license file?

On producer side:

  • In preparatory phase you must obtain two (very big) numbers according to RSA algorithm. They are named public and private key. Don't care about mathematical theory in background. All you need to know is that what you encode using private key, can be decoded with public key only.
  • Build public key into your application.
  • Create properties for application and customer - this will be your license file.
  • From these properties a hash code is computed (MD5 algorithm is used) and then is encoded with private key. This is digital signature of your properties and it is also appended to the properties (under the name Abeona.Signature).
  • This license file you can ship to your customer.

On customer side:

Your application:

  • creates instance of License class
  • sets public key into instance
  • loads properties from license file into instance
  • asks instance if it is valid (it's up to you, how the application should respond in case the licence is not valid)
  • obtains properties from license file (exception is thrown if license is not valid)

Seems complicated? Really?

With Abeona you will just need to click your mouse a few times. And your application will be larger about 10 lines code only (and our JAR file, ofcourse). Please see our tutorial page for details. Java API documentation to Abeona you can find at this address.