A software license is a permission granted by the software developer to the user to use the software which would otherwise be prohibited by copyright law. The use of the software is of course subject to the terms and conditions of use as outlined in a software license agreement.
A software licensing system, such as O-Licensing, provides the tools and mechanisms to protect and secure your licensed software. Using O-Licensing, you have many options to allow you to decide how you would like to license and distribute your software. Using any one of our many Licensing Models or in combination with each other, some of the options you can use include providing time-limited trial licenses, unlocking licenses by entering serial numbers or online activation of licenses using our highly secure activation web services.
A typical scenario of using a software licensing system, such as O-Licensing, is when you wish to give maximal exposure for your software through the offering of a trial version. You can do so easily with O-Licensing, simply by distributing a trial license with your software download. Using O-Licensing you can specify the length of the trial period and once the trial period is over, you may direct O-Licensing to require the user to purchase a full license to continue use of your software. With O-Licensing, you may give users some options to enable their purchased full license – either with a serial number, online activation or just providing them with a valid full license. You can also combine these options to provide even more security against hackers and cracks
How does O-Licensing software work?
O-Licensing is made up of four components which interacts together to provide you with the most secure, flexible and easy-to-use software licensing solution.
The four components are:
Constraints
Constraints are the restrictions you can impose to protect your licenses of your software. For example, if you want the End User to try the software for the first 3 months, you can specify a Trial constraint. In another example, if you want the End User to connect to your web site to activate the software, you can specify an ActivationRequired constraint. You can specify one single constraint or combine multiple constraints in one license file.
Client
The Client component runs on the End User machine. It is the End User’s interface into O-Licensing and will present the appropriate forms to engage the End User to provide the correct information to enable the software licenses. The Client component also contains the processes which checks whether the software is correctly licensed or not.
License Management
License Management is the core component of O-Licensing and is the Developers' interface. It is used to create license files and resource files, generate serial numbers and manage your O-Licensing applications. License Management is the bridge between the Client and the Server.
Server
The Server component includes the Management Server and the Activation Server. The Management Server is used by License Management. The Activation Server is used for processing activation and validation requests from the Client.
* How the four components of O-Licensing interact to protect your software is described below:
When your software license is protected by O-Licensing, your software will be distributed with a license file. A license file is an XML-based document containing a digital signature and all constraints that make up the licensing policy of your software license and. It contains all the Constraints that the End User must satisfy before obtaining the full software license.
New license files are created using License Management, which in turn, connects to the Management Server to sign the license files. When a new license file is created, you can select any of the licensing constraints you wish to formulate a licensing model that suits your needs. New license files need to be sent to the End User and installed in the executable directory of your software.
Whenever, your software is executed by the End User, the license file present will be first checked to see if it is valid. And then, according any constraints specified in the license file, the Client component will engage the user to provide the correct information to unlock your licenses. For example, if a Serial Number constraint was specified then the End User will be prompted to enter a serial number. If an Activation constraint was specified then an activation request will be sent to the Activation Server. The Activation server will check the license, re-sign it and return the license to the End User. Only when all constraints of the license are satisfied, then a full license for your software will be granted.
The license file is an XML-based file with a digital signature. So if is modified in any way, its digital signature won't be verified and it will be invalid. Thus, although it is placed on the End User machine, it cannot be breached. In O-Licensing, we use RSA algorithm to create digital signature for license file.
Powerful, secure and easy-to-use.
RSA Algorithm
Most of .NET Software Licensing system uses RSA Algorithm to encrypt and decrypt data. This algorithm is hard to crack. It uses the asymmetric algorithm with a pair of key (public/private key) for encrypting, decrypting data, and digital signatures.
You can read more about RSA algorithm at Microsoft MSDN web site.
Web Service Enhancement (WSE)
The Web Services Enhancements for Microsoft .NET (WSE) enables developers to create interoperable Web services with advanced Web services features.
With WSE, you can secure your messages using digital signatures and encryption.
The latest version is WSE 3.0 for .NET 2.0.
Licensing Models
A licensing model consists of one or more constraints that you may impose on your software licenses that users must satisfy to obtain the permission to use your software without restrictions (i.e. obtain the full license).
Using O-Licensing with compatible constraints, you have many models to choose from to define your own licensing models to suit your needs. The O-Licensing basic models that you may choose are:
Trial (Time limited)
Try using the software for a limited time, with fully functionalities.
Demo
Demo is the same as trial version but is used for testing software with customers' help. The software will expire after a long period time using.
Activation
Software provider will allow the customers to try using software in period of time with fully functionalities, after that they must activate the current license if they want to continue to use.
Validation
The license will be validated for status of being used depend on external effects (such as client IP Address, Code Area, and so on) when client requests for using license.
Unlock with Serial Number
The software provider will provide for the customers the serial number to unlock the software license.
This is the traditional offline registration before.
With O-Licensing, you have the flexibility to combine these models to create more advanced licensing models and hence provide the right balance of security for your software and convenience to your users.