License servers in the user’s network have become increasingly popular options in the recent past. As a software developer, you leave it up to the user to use, manage, and monitor the licenses. All you need is a simple process for delivering them: The licenses are activated on the license server and immediately ready for use by the devices connected to the network.
But there are instances in which a single-user license for a local computer or a local dongle would be the better option. The software might have to be used on a construction site, and the user does not have a VPN to access the license server. A mobile license is also a great choice if the user wants to take a project back home and continue working from his home office.
The Foundation Solution: CodeMeter License Transfer
Wouldn’t it be great if the user could handle the changing and transferring of the license on their own? CodeMeter License Transfer is the perfect solution for this challenge: CodeMeter License Transfer allows far more than simply borrowing licenses. It combines the permanent end-to-end transfer of licenses with traditional borrowing via network servers. Permanent license transfers make easy work of activating licenses in machines or devices not yet connected to the Internet of Things. All it needs is a service technician and a CmDongle to get the license to the device.
Borrowing in the Network
Nothing is easier than borrowing via a network server with CodeMeter License Transfer. The user selects the license and simply clicks the “Borrow” button that you have built into your application or license manager. To get you off to a quick start, Wibu-Systems offers you a license manager source code (available in C#) that you can adjust in looks and functionality to fit your needs.
The license for borrowing is fully configured by you. You define whether a license can be borrowed, and you choose for how long it can be borrowed. You can also decide which CmContainer can be used for the borrowed license. Your choices could state that the lending license server needs to use a CmDongle, while the borrowing client only receives a software CmActLicense.
CmActLicenses allow you to define custom binding concepts between server and client. You can, for instance, set separate rules for use on virtual machines, define in which CmContainer the license can be active, and into which CmContainer the license can be lent. The combinations are free for you to mix and match to your needs.
During the borrowing procedure, the license is transferred from the license server to the client. It retains the identical properties it had on the server. A defined borrowing period is set at any interval between one second and the maximum chosen by you as the developer, and the license can only be used on one local PC. After the borrowing period has ended, the borrowed license is again available for use from the license server.
Returning the licenses early or extending the borrowing period is possible at any point.
When the employee does not have access to the network, the administrator can also lend the license in offline form. The employee sends in a license request with a fingerprint of the computer in question or the CmDongle of the client. The administrator uses this file for the borrowing process. The resulting license update is returned to the employee, who activates it on the client, with a receipt produced in the next step. If no receipt is produced, this step is repeated automatically in the background when the license is borrowed again.
Should you have chosen the licensing model “Unlimited licenses for one year” as the vendor working with Wibu-Systems, you can license as many clients as you need. These do not have to be registered or activated beforehand. You can move the licenses end-to-end, and the CmContainer is activated automatically.
The licensing model “Licenses per CmContainer” only allows borrowing with an activated CmContainer. This needs an activation with your Firm Code to prepare the CmContainer for a client. You can do this during the online registration via CodeMeter License Central. The “Unlimited licenses for one year” also gives you the option of requiring a pre-activated CmContainer.
Licenses can be changed on the license server even while they are away with the borrower. The licenses remain active after the changes, while the changes only come into effect for the client when the license is borrowed again at a later point. For the current borrowing period, the user continues using the old license offline on the client.
In addition to allowing licenses to be borrowed, licenses can also be moved permanently with CodeMeter License Transfer. This has already been an online option with CodeMeter License Central, but it required either a standing connection to CodeMeter License Central or forced offline users to move three separate files (request file with fingerprint, license update, receipt).
With CodeMeter License Transfer, the end-to-end moving of licenses is now also possible offline. One of your employees can take a license to your user on a CmDongle and activate the user’s machine without any data or files having to be sent to CodeMeter License Central. This does, however, affect the accuracy of the statistics in CodeMeter License Central.
When moving licenses, you can move n of m licenses. You can also preset the transfer limit to define whether the moved license can be moved again. Its return to the original CmContainer can also be configured by you as the vendor.
The Security of CodeMeter License Transfer
CodeMeter License Transfer employs state-of-the-art technology to protect vendors from the illicit duplication of their licenses. A license consists of one original part made by the developer and one changed part created by the transfer. This concept makes it impossible for an attacker to expand the scope of a license.
This security is achieved by means of certificates. One important point is that the certificate and the key needed for a transfer cannot be moved to the destination. The transfer limit for borrowing licenses is set to one on principle. For moving licenses, the limit can be customized: You choose how far the key is allowed to move. The principle should be: “As far as necessary, as near as possible.”
The highest level of security can be achieved when the CmContainer is assigned to a dongle as the point-of-departure, or when you store it in your own cloud.
Modular licenses built on a basis of module items can be moved or borrowed effortlessly. All modules are simply transferred in one go whenever the license is moved. If the modules have specific properties, these are also duplicated explicitly.
If you wish to give your users the option to select specific modules for transfer, the modules simply need to be defined as separate product items.