KEYnote 45 English - Spring/Summer 2023 | Page 3

L I C E N S I N G

Software Activation Wizard Examples

In software licensing , providing licenses should be simple and secure . That goes for software developers who want to create new licenses on a central license server and it goes for end users who need to get the licenses on their devices . If the system in question has an Internet connection , at least temporarily , this can be done very easily and elegantly with a Software Activation Wizard . Called SAW for short , this can be a separate application or another feature in the end user application that takes care of :
■ Transferring the initial license from Code- Meter License Central to the local system
■ Creating a CmContainer , if required , on the local system
■ Checking regularly whether there are any changes to the ticket or CmContainer on CodeMeter License Central
Gateways To conduct license checks from within an application , Wibu-Systems provides the gateways as part of the CodeMeter License Central Internet Extensions . Gateways are PHP scripts that can be called with the right parameters and return the required data in a JSON format . This results in two main requirements for a license check in the application :
■ Communication via https must be possible
■ JSON objects must be interpreted
Beyond accessing the gateways , the application in question only has to be able to communicate with the local CodeMeter Runtime to provide the license data on the system .
Software Activation Wizard Samples Wibu-Systems has prepared a number of sample implementations for different programming languages in the developer section of its website to make integrating SAW functionalities as simple as possible . There are samples for different use cases .
What all implementations have in common is that they have a central module that takes care of communicating with the gateways and linking up with CodeMeter Runtime . The module is either a library or a standalone file and can be integrated as is or changed to suit each software ’ s needs .
CodeMeter License Central
Get Ticketinformation
Get CmContainer Template
Create Update
Confirm Transaction
C # The central module used by all samples is the WibuLcGatewaysAPI library .
■ SimpleWizard is the fundamental example that simply shows which functions need to be called to activate licenses .
■ Wizard is a standalone application that handles most license management operations on the basis of tickets or CmContainers .
■ AutoUpdate is an example of how a check can be run for auto-update licenses for all local CmContainers .
■ SingleTicket shows how the ticket number stored in a license can be used to check whether new licenses have been provided .
■ Renew is a simple example to explain how renew licenses work for service engineers .
■ Cloud shows how a new user and CmCloud- Container can be created through the License Portal or how a CmCloudContainer can be provided for an existing user on a local system .
■ LicensePortalUserTickets demonstrates how all available tickets for a user can be accessed and checked for new licenses .
■ ActivationInformation is a simple example that explains how additional information can be written into a license with activationspecific parameters .
Java The central module used by all examples is the library jaw-core-x . xx . xxx . xxx . jar .
■ ActivateFromTicket is a simple application that shows how licenses are transferred from a central server to a local system .
■ DeactivateFromTicket demonstrates how licenses activated on a local system can be returned to the central server .
SAW
Create CmContainer
Create Context
Import Update
Create Context
CodeMeter Runtime
C ++ For C ++, a command line application is provided that can handle different operations via the right parameters . The central module is the file WibuLCGatewayAPI . cpp . libcurl is used as a library for https communication and jsmn . h for handling JSON objects .
Conclusion If the system can handle the basic requirements , integrating a SAW into an application is not complicated . Should the programming languages and samples listed here not be enough for your needs , the consultants of Wibu-System ’ s Professional Services are always available to support you .
Screenshots from the C # sample “ Wizard “
3