Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

License for application

Using mysql, c#.net, Java Script

I have the web application, i want to create a user limit for my application which means i have to use some license for the users....

For Example

customer need the application for 3 users, so application will work for 3 users, if customer need to extend the user from 3 to 10 means, i have to provide a license for 10 users...

How to create a license for the application, i have to use RSA algorithm for generating a key?

Can any one provide some idea or sample code

Need Help

like image 606
Gopal Avatar asked Aug 24 '10 05:08

Gopal


People also ask

What is an app license?

The licensing service is a secure means of controlling access to your applications. When an application checks the licensing status, the Google Play server signs the licensing status response using a key pair that is uniquely associated with the application.

What does a license do?

License means permission to do something, especially formal permission from a government or other authority. The word often refers to the proof of that permission, such as a card or certificate.


2 Answers

There is a large difference between a license key and a license agreement. A license key is something used to make it harder to copy software, since you are deploying a web-app, this shouldn't be much of an issue for you. A license agreement is a legal document that users of your application must agree to. I'm guessing you are interested in the first.

In a web application, you should implement a login system, and only provide username/passwords for users who have paid you. If as Kobi mentioned, you have a public API that you'd like to license to other users, I recommend you simply give them a uinque GUID (System.Guid.NewGuid();) and then require that GUID as a parameter for every API call. Then, you can check to see if the GUID is associated with a paid account, if so, let it fly, if not abort the transaction with an error code. I would recommend using an HTTPS connection for this.

If, you are trying to sell your web-application to users, so they can host it on their own server, a license key would be a good idea, you might want to add it as a parameter in <appSettings> under web.config. There are many methods for generating license keys, but in at their most simple they involve generating random numbers until a specific check-sum is met. For example, 1253-38 (1+2 = 3, 5+3 = 8). That is a very simple key that would be easy to crack, but you could come up with a more indepth check-sum if you needed.

like image 173
Nate Avatar answered Sep 29 '22 14:09

Nate


IMO, Nate Boss has covered the most of basic stuff. Now looking at your requirement

customer need the application for 3 users, so application will work for 3 users, if customer need to extend the user from 3 to 10 means, i have to provide a license for 10 users...

Do you have named users? For example, will each user from customer will have different user name/password? If yes then all you need to do is to have required number of user accounts generated for the customer. Now user account generation is done by you then you don't really have to do anything special. However, if you want to allow having new user registration by customer himself then you need to have licensing logic on registration page. The basic problem would be to identify the customer and then validate against your inventory to see if the customer has any user account left. Customer identification can be done in many ways - digital certificate, a registration code given by you (can be random number or can be salted customer id encrypted by your PK) etc.

In case you don't have named users then the problem would be how many concurrent logins customer can make? This is as simple as checking against your inventory.

like image 43
VinayC Avatar answered Sep 29 '22 13:09

VinayC