Brief overview: We currently have a .NET application which have a serial key check mechanism in place for live checks. The application connects using TCP port 3600+ (Although not 100% sure), the serial check reply from the webservice comes back as a http.
Proto Local Address Foreign Address State
TCP asus:3608 licenseserver:http SYN_SENT
TCP asus:3612 licenseserver:http SYN_SENT
TCP asus:3622 licenseserver:http SYN_SENT
Every 20 days, the application will connect to the license server to verify if license exist in the webservice.
The webservice has a very basic interface which you can add/remove serial keys.
The webservice is written in VB. The license key is stored in a binary .dat file.
What we need from you: What this project need to accomplish is the following.
Build on top of the current webservice.
1: Add an account management module to it. That means:
* 1 Root account
* Multiple Master accounts that can do the following:
* Ability to create user(sub-account) with password that have access to the service
* Manage/restrict license quota for each sub-account
* Master account can add/remove licenese from sub-account
* batch license manage (multiple licenese add/remove/etc)
* move license from one sub-account to another (bulk and individual)
2: Multiple activation prevention
* Log the ip address of activation machine
* Every 15 days, the ip address that activation the license get cleared off the webservice
* If a machine tries to verify the program AND the ip is
already logged with an ip different than the current machine AND it haven't pass the 15 day clear period. The activation will get deny.
* suspend license(bulk and individual)