Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Open Source .NET License Tool, EasyLicense !

0.00/5 (No votes)
5 Jul 2017 1  
EasyLicense is an open-source license tool for .NET applications.

Introduction

I used to wonder whether there is a license tool, which makes it easy to create a license, and easy to validate the license.

Although this feature is very common when you need to license your software, I can't find a license tool, which is easy to use. Most of the license tools are too complex, and have more features, but I don't need to use them.

So I created this project to make the license process easier. Its code is short, and easy to understand.

Using the Code

Easy License is very easy to use.

To license a software, we need these three steps:

  1. Create a public/private Key:
    if (File.Exists("privateKey.xml") || File.Exists("publicKey.xml"))
    {
        var result = MessageBox.Show("The key is existed, 
        override it?", "Warning", MessageBoxButton.YesNo);
        if (result == MessageBoxResult.No)
        {
            return;
        }
    }
    
    var privateKey = "";
    var publicKey = "";
    LicenseGenerator.GenerateLicenseKey(out privateKey, out publicKey);
    
    File.WriteAllText("privateKey.xml", privateKey);
    File.WriteAllText("publicKey.xml", publicKey);
    
    MessageBox.Show("The Key is created, please backup it.");
  2. Use private key to create a license:
    if (!File.Exists("privateKey.xml"))
    			{
    				MessageBox.Show("Please create a license key first");
    				return;
    			}
     
    			var privateKey = File.ReadAllText(@"privateKey.xml");
    			var generator = new LicenseGenerator(privateKey);
     
    			var dictionary = new Dictionary<string, string>();
     
    			// generate the license
    			var license = generator.Generate("EasyLicense", Guid.NewGuid(), 
                                                  DateTime.UtcNow.AddYears(1), dictionary,
    				                              LicenseType.Standard);
    			
    			txtLicense.Text = license;
    			File.WriteAllText("license.lic", license);
  3. Use public key to validate the license:
    private static void ValidateLicense()
    		{
    			if (!File.Exists("publicKey.xml"))
    			{
    				MessageBox.Show("Please create a license key first");
    				return;
    			}
    			
    			var publicKey = File.ReadAllText(@"publicKey.xml");
     
    			var validator = new LicenseValidator(publicKey, @"license.lic");
     
    			try
    			{
    				validator.AssertValidLicense();
    			}
    			catch (Exception ex)
    			{
    				Console.WriteLine(ex.Message);
    			}

Points of Interest

All these functions are provided by a LicenseTool tool, you can download the source, and run this tool to see how EasyLicense creates, validates a license.

To validate the license, I create a demo project:

Git

License

History

add Rhino Licensing author mail.

  • 4th July, 2017: Initial version
  • Add Rhino-licensing author mail.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here