KEYnote 48 English - Fall/Winter 2024 | Page 11

Graphical Customization In the YAML configuration file for encrypting the application , you specify a path to a separate YAML configuration file for dialog customization . In this file , you can modify the appearance by specifying your own CSS definition file and adjust all texts through definitions . Additionally , you can replace the logo with your own , essentially making all the changes necessary to ensure that the dialog looks exactly as your customers are accustomed to from your applications .
Secure Delivery At the time of encryption , the standard CPS- Events library is placed alongside your encrypted application , with a filename that includes your Firm Code at the end . This ensures that CPSEvents libraries are uniquely associated with each software vendor and do not interfere with each other during runtime .
The configuration you create is embedded into the protected application , making it tamper-proof . During runtime , CPSRT loads the corresponding CPSEvents library and transmits these configuration settings .
Custom Solution As a second option , you can , similar to the previous UserMessage library , create your own CPSEvents library . The interface is openly documented , allowing you to integrate custom functionalities for error handling or license management . You implement this library on all the platforms you support , and you can execute your own code during error handling or before license allocation .
Using the function CpsGetLicenseAccess-Filter , you receive a list of licenses relevant to the current request . AxProtector manages access via so-called LicenseLists , which can
No license found !
No license found !
No license found !
LOGO
No license found !
contain multiple licenses . Your library receives this list , enabling you to influence the license selection . For example , you can ensure that a specific DLL uses the same CmContainer as the loading application by storing the serial number and setting the filter accordingly . CPSRT evaluates these filters and attempts to allocate the license according to your specifications .
Events After each successful license allocation , the CpsOnEvent function informs you of the event LicenseAccessed and provides detailed information about the allocated license . You can use this information for further license queries , such as using it as a filter parameter for additional LicenseLists , as described above . You can even deny access to a license if certain criteria are not met .
Other event types in the CpsOnEvent function include LicensingError , Tampering-Detected , and AccessFilterError . For instance , in the case of a licensing error , you can display a dialog allowing the user to retry the license request .
There was no CmContainer ( CmDongle , CmActLicense , CmCloudContainer ) found holding the matching license 6000010:201000:1 for using this software . To use this software you need a CmContainer holding this license . Please connect a CmContainer to your computer holding this license and click “ Ok ”.
There was no CmContainer ( CmDongle , CmActLicense , CmCloudContainer ) found holding the matching license 6000010:201000:1 for using this software . To use this software you need a CmContainer holding this license . Please connect a CmContainer to your computer holding this license and click “ Ok ”.
Retry
Cancel
Custom error dialog box when a valid license is not found .
For applications without user interaction , you can write a CPSEvents library that automatically attempts to allocate a license again after a specific waiting period or sends alternative system responses . Alternatively , you can implement a callback and use the dialogs in your programming language .
Secure Data Transfer Even with a custom-made CPSEvents library , application-specific data can be embedded and passed to the CPSEvents library at runtime . During the encryption process , you specify a file as UserData . This data is stored as a binary blob within the encrypted application and is then passed to the CPS- Events library at runtime . This allows you to include application-specific data when using a CPSEvents library .
The integrity protection of AxProtector NC prevents tampering and the replacement of the CPSEvents library . If this protection is disabled in certain cases , it can be selectively activated just for the CPSEvents library .
With the new mechanisms in AxProtector NC and the CPSEvents interface , CodeMeter Protection Suite offers a flexible and secure way to seamlessly integrate error and license management into your application . You retain full control over the design and functionality of error messages while ensuring that license management works smoothly .
Retry
Cancel
Standard error dialog box when a valid license is not found .
11