Babel Licensing
Licensing system for .NET Framework applications and components
Licensing for .NET Application and Components
Babel Licensing is licensing system that allows to license .NET Framework applications and components. It uses asymmetric cryptographic algorithms which means that is not possible to reverse engineer license keys to make a key generator. Furthermore, it integrates with Babel Obfuscator to provide top obfuscation and protection features.
General Features
Completely managed solution to build licenses for .NET applications and components
Works with any .NET technology from .NET Framework to latest .NET 5.0 and .NET Core releases
It integrates seamslessy with MSbuild and includes command line tools to support any build environment
Can run on Windows, Linux and OSX through the NuGet package tool
It perfectly matches with Babel Obfuscator to provide best in class security for any application running on .NET
Licensing Database
Babel Licensing includes a database realized to handle software licenses. This will allow you to store your license keys and make beautiful reports to monitor the performance of your sales. You can also access the database through an Entity Framework component, to realise custom solutions suited to the most varied needs.
How It Works
Babel Licensing can be easily integrated into your application with few lines of code. Just reference the Babel.Licensing package in your application and see how it easy to create and validate a license.
Install-Package Babel.Licensing -Version 2.8.8
dotnet add package Babel.Licensing –version 2.8.8
<PackageReference Include=”Babel.Licensing” Version=”2.8.8″ />
Our licensing library will take care to find the license, verify that the license has not been tampered with and that all the usage restrictions are met.
Create License
RSASignature rsa = new RSASignature(); rsa.CreateKeyPair(); string license = new XmlLicense() .ForAssembly(typeof(Program).Assembly) .LicensedTo("ACME", "devs@acme.com") .WithTrialDays(30) .SignWith(rsa).ToReadableString();
Validate License
try { XmlLicenseManager manager = new XmlLicenseManager(); var lic = manager.Validate(license, typeof(Program)); if (lic.IsTrial) { var trial = lic.Restrictions.OfType().First(); Console.WriteLine("Trial time left: {0}", trial.TimeLeft); } } catch (Exception ex) { Console.WriteLine("License not valid: {0}", ex.Message); }
If you want to get more licensing sample projects, please install the Babel Obfuscator Demo setup.
License Restrictions
With Babel Licensing you can create different license usage restrictions. This allow you to create trial licenses or hardware locked licenses, choosing from many options. Please take a look at all the licensing restrictions available.
Trial Restrictions

Expire Date
Restrict use of the application to a defined date

Trial Days
Set the number of trial days for an application

Run Instances
Limit the number of instances that can run simultaneously

Usage Time
Allows the application to run for a defined period of time
Hardware Restrictions

Computer Name
Binds the application to a specific computer name

CPU ID
Allows use only on CPU with the specified ID

Ethernet Card
Check if the Ethernet card MAC address has changed

Hard Disk
Ties the application to the hard disk serial number

Bios
Restricts the usage to a specific BIOS

Motherboard
Ties the application to the current machine motherboard
Usage Restrictions

Virtual Machine
Whether to prevent the execution on a virtual machine

Design Time
Permits the usage only inside the Visual Studio designer

Process Name
Bind the license to the running process name
Miscellaneous

Type
Restricts the license to a specific set of types or namespaces

Beta
Set a time limit for the beta period

Version
Restricts the usage to a specific version or a version range

Custom
Customize your license restriction logic