##Application Licence Service (ALS) Application Licence service is a simple web service / application demo created to support my MSC's thesis ("Web Service Design Patterns").
####Tools and lagnugage
ALS is built using [Play framework](http://www.playframework.com/"Play framework") (2.1.3) and Scala language .
Als demo is also deployable on Heroku (demo available here).
Front - end part of application is created using Play templating engine using Bootstrap responsive admin template.
Application enable users (usually developers that want to track their applications registration) to manage their Apps, create serial numbers for each app and provide licence files.
- Users create application for which they want to track registrations
- Upon application creation public / private key-pair is generated to enable validation and encription for later use (licence files)
- For each application user can generate serial numbers (UUID)
- User can enable registration of their app clients through simple API that ALS provides
- Upon client registration licence is generated
Licence file is generated:
E(H(client data + serial number)) |pk
Hash file created from client data and serial number is encrypted (signed) using application's private key (generated in step 1. in User part)
Application can then in any given time request licence check from ALS:
- Get licence file from user
- Decrypt file using application's public key (public key could be shipped with application) - integrity and authenticity check
- Hash local registration data and compare with licence hash (must be equal)