License management solution, including time-limited evaluation type as well as capacity- and time- limited subscription paid type of licenses.

Some of the problems included:

  • Company’s product required license management solution, including time-limited evaluation type as well as capacity- and time- limited subscription paid type of licenses, to secure its on-premise deployments
  • Due to lack of licensing mechanism, Company’s product was not secured properly when deployed on-premises
  • Licensing mechanism code could be viewed and possibly circumvented having decompiled Company’s product code

Some of the solutions applied included:

  • Researching and evaluating available tools for license management solution
  • Generating time-limited evaluation type of license programmatically
  • Generating capacity- and time- limited subscription paid type of license programmatically or via command line
  • Importing capacity- and time- limited subscription paid type of license via REST service or command line
  • Validating evaluation and subscription type licenses programmatically
  • Viewing license used in Company’s product via REST service or command line
  • Using separate public/private key pairs for time-limited evaluation type of license and capacity- and time- limited subscription paid type of license
  • Integrating code obfuscation solution into build of Company’s product
  • Extracting license generation mechanism into separate component and exclude it from build of Company’s product

Technology stack

  • Java
  • Java Keytool
  • Groovy
  • Bash
  • OSGi
  • Apache Commons Codec
  • Apache Commons IO
  • Apache Commons CLI
  • Apache CXF
  • Jackson

Industry

IT