CodeMeter AdminManual en

Download as pdf or txt
Download as pdf or txt
You are on page 1of 150

CodeMeter Administrator Guide

Version 7.40b - April 2022


© Copyright 2003-2022, WIBU-SYSTEMS AG,
Zimmerstrasse 5, D-76137 Karlsruhe, Germany

All rights reserved. No part of this documentation, the accompanying software, or other components of the described product
may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording,
for any purpose other than the personal use of the purchaser without the express written permission of Wibu-Systems.
While the data contained in this document has been written with all due care, Wibu-Systems does not warrant or assume
responsibility or represent that the data is free from errors or omissions.
Wibu-Systems expressly reserves the right to change programs or this documentation without prior notice.
Wibu-Systems®, CodeMeter®, SmartShelter®, SmartBind® and Blurry Box® are registered trademarks of Wibu-Systems. All
other brand names and product names used in this documentation are trade names, service marks, trademarks, or registered
trademarks of their respective owners.

Wibu-Systems is member of:


PCMCIA since1993

USB Implementers Forum since 1997

SD Card Association since 2007


Bitkom, German Association of Information Technology,
Telecommunications, and New Media since 2003
VDMA, German Engineering Federation since 2008
OPC Foundation since 2012
and also a member of the developers programs of Autodesk, Apple, HP, IBM, Intel and
Microsoft.

Microsoft Gold Certified Partner

Microsoft Embedded Partner


Strategic Software Partner Industrial and Medical
Content

Table of Contents
I Manual 6
1 Version ...........................................................................................................7
2 First important Information ...........................................................................................................8
3 Safety Instructions ...........................................................................................................10
4 Installation ...........................................................................................................11
4.1 Installing on 32/64-bit Windows ............................................................................................................................11

4.1.1 Installed files on 32/64-bit Window s .............................................................................................................11


4.1.2 Uninstalling on 32/64-bit Window s .............................................................................................................13
4.2 Installing on macOS ............................................................................................................................13

4.2.1 Installed files on macOS .............................................................................................................13


4.2.2 Uninstalling on macOS .............................................................................................................15
4.3 Installing on Linux ............................................................................................................................15

4.3.1 Uninstalling on Linux .............................................................................................................17


...........................................................................................................18
5 Profiling - CodeMeter License Server settings
5.1 General ............................................................................................................................18

5.2 AccessControl ............................................................................................................................26

5.3 Backup ............................................................................................................................27

5.4 HTTP ............................................................................................................................27

5.5 HTTPS ............................................................................................................................28

5.6 ServerSearchList ............................................................................................................................29

5.7 TripleModeRedundancy ............................................................................................................................29

6 CodeMeter Control Center ...........................................................................................................30


6.1 Structure and Navigation ............................................................................................................................31

6.2 Menu Bar ............................................................................................................................32

6.3 License Tab ............................................................................................................................34

6.4 Events Tab ............................................................................................................................37

6.5 Borrowing Tab ............................................................................................................................37

6.6 Status and Starting CodeMeter WebAdmin ............................................................................................................................38

...........................................................................................................39
7 Importing and Updating Licenses
7.1 The CmFAS Assistant in CodeMeter Control Center ............................................................................................................................39

7.1.1 Create License Request File .............................................................................................................40


7.1.1.1 Extend Existing License ................................................................................................................41
7.1.1.2 Add a License of a new Producer ................................................................................................................42
7.1.2 Import License Update .............................................................................................................43
7.1.3 Create Receipt .............................................................................................................44
8 CodeMeter WebAdmin ...........................................................................................................46
8.1 Basics ............................................................................................................................47

8.2 Open CodeMeter WebAdmin ............................................................................................................................48

8.3 Operating ............................................................................................................................49

8.4 Dashboard ............................................................................................................................50

8.5 Container ............................................................................................................................50

8.5.1 Licenses .............................................................................................................51


8.5.2 Firm Item Details .............................................................................................................52
8.5.3 Product Item Details .............................................................................................................52
8.5.4 CmContainer Info .............................................................................................................55
8.5.5 User data .............................................................................................................56
8.5.6 User Data Details .............................................................................................................57
8.5.7 Backup and Restore .............................................................................................................57
8.6 License Monitoring ............................................................................................................................59

8.6.1 License Monitoring Details .............................................................................................................60


8.6.2 Sessions .............................................................................................................61
8.6.3 License Tracking .............................................................................................................61
8.7 Diagnosis ............................................................................................................................65

8.7.1 Events .............................................................................................................65


3
CodeMeter Administrator Manual 7.40b - April 2022

8.8 Configuration ............................................................................................................................65

8.8.1 Server Search List .............................................................................................................66


8.8.2 Proxy .............................................................................................................67
8.8.3 WebAmin .............................................................................................................69
8.8.4 Backup .............................................................................................................74
8.8.5 Server Access .............................................................................................................75
8.8.6 License Access Permissions .............................................................................................................75
8.8.7 License Transfer Configuration .............................................................................................................86
8.8.8 Prepared License Borrow ing .............................................................................................................86
8.8.9 CodeMeter Time Server .............................................................................................................87
8.8.10 Trusted WebSocket Origins .............................................................................................................87
8.8.11 Extra .............................................................................................................89
8.9 Info ............................................................................................................................91

8.10 License Transfer ............................................................................................................................91

8.10.1 Licenses .............................................................................................................92


8.10.1.1Move 'n' from 'n' licenses ................................................................................................................92
8.10.1.2Return 'n' from 'm' licenses ................................................................................................................94
8.10.2 License Borrow ing .............................................................................................................96
8.10.2.1Borrow ................................................................................................................97
8.10.2.2Return ................................................................................................................99
8.11 Module Items ............................................................................................................................101

...........................................................................................................104
9 CmDust (CodeMeter Enduser Support Tool)
10 CMU - CodeMeter Universal...........................................................................................................106
Support Tool
...........................................................................................................117
11 CodeMeter License Tracking
11.1 Requirements and Configuration ............................................................................................................................117

11.2 Logfile Format ............................................................................................................................119

11.2.1 Definitions and Value Ranges .............................................................................................................119


11.3 Entry Types ............................................................................................................................120

11.3.1 List of Licenses Entry .............................................................................................................120


11.3.2 License Entry .............................................................................................................120
11.3.3 Access Entry .............................................................................................................121
11.3.4 Release Entry .............................................................................................................121
11.3.5 Borrow Access Entry .............................................................................................................121
11.3.6 Borrow Return Entry .............................................................................................................121
11.3.7 Denial Entry .............................................................................................................121
11.3.8 UpdateNameList entry .............................................................................................................122
11.3.9 Administrative Entry .............................................................................................................122
11.3.10SignedLogfile Entry .............................................................................................................122
11.3.11Signature Entry .............................................................................................................123
...........................................................................................................124
12 License Access Permissions: Access Controll List (ACL)
12.1 System requirements ............................................................................................................................124

12.2 Terms and definitions ............................................................................................................................124

12.3 Creating ACL example lists ............................................................................................................................125

12.3.1 Step 1: Creating an enpty ACL .............................................................................................................125


12.3.2 Step 2: Creating an ACL w ith specific Container rule
set .............................................................................................................126
12.3.3 Step 3: Creating an ACL w ith a Firm Code ruleset
(w ithout Container assignment) .............................................................................................................127
12.3.4 Step 4: Creating an ACL w ith a Firm Code rule set
(w ith Container assignment) .............................................................................................................130
12.3.5 Step 5: Creating an ACL w ith a Product Code rule set
(w ith Container assignment) .............................................................................................................131
12.4 The JSON format of the ACL ............................................................................................................................132

12.4.1 Semantik .............................................................................................................133


12.4.1.1General ACL parameter ................................................................................................................133
12.4.1.2ACL ob jects ................................................................................................................133
12.4.1.2.1 AccessControlList ...........................................................................................................................133
12.4.1.2.2 ContainerRuleset ...........................................................................................................................133
12.4.1.2.3 FcRuleset ...........................................................................................................................134
4
Content

12.4.1.2.4 PcRuleset ...........................................................................................................................134


12.4.1.2.5 Rule ...........................................................................................................................134
12.4.2 General constraints .............................................................................................................135
12.4.3 Comtent of single objects .............................................................................................................135
12.4.3.1Default rules ................................................................................................................135
12.4.3.2The All-Container-Ruleset ................................................................................................................135
12.5 Annex ............................................................................................................................135

12.5.1 Examples .............................................................................................................135


12.5.1.1Export ................................................................................................................135
12.5.1.2Import ................................................................................................................135
12.5.1.3Glob ale rule for local host ................................................................................................................135
12.5.2 Simple ACL for Container .............................................................................................................136
12.5.3 More complex ACL .............................................................................................................137
12.5.4 Formal ACL specification (EBNF) .............................................................................................................139
12.5.4.1Information ................................................................................................................140
13 HID Support ...........................................................................................................141
13.1 Set from Mass Storage to HID ............................................................................................................................141

13.2 Set from HID to Mass Storage ............................................................................................................................142

13.3 Linux Kernel Settings ............................................................................................................................144

...........................................................................................................145
14 Open Source Software used in the products CodeMeter 7.40b, CodeMeter Protection Suite 11.00b, CodeMeter E
II Glossary 146
Index 149

5
CodeMeter Administrator Manual 7.40b - April 2022

1 Manual
The following parts of this CodeMeter Developer Guide on installing and using many of the CodeMeter tools are also of interest
for the administrator and thus part of a separate section.

6
Manual
Version

1.1 Version
CodeMeter User Help 7.40b, 4/5/2022.
Copyright © 2007-2022
by WIBU-SYSTEMS AG, Karlsruhe / Germany
All rights reserved.
Wibu-Systems contact information:
Address: WIBU-SYSTEMS AG
Zimmerstrasse 5
D-76137 Karlsruhe, Germany
Phone: +49 (0)-721-93172-0
Internet: https://w w w .w ibu.com
E-mail: support@w ibu.com

7
CodeMeter Administrator Manual 7.40b - April 2022

1.2 First important Information


First connection of CmDongle
Connect your Cm Dongle with a free USB interface of your PC. The light diode of the Cm Dongle alternatively flas hes red and
green for 1-2 seconds. Your PC s hows that a new USB device has been found. Cm Dongles with additional Flas h memory, e.g.
Cm Stick /M, are able to permanently h old any data on th is drive.

With Cm Dongles with additional flas h memory it can happen that the Windows message "Do you want to scan and fix
'XYZ'?" displays.
This always happens when the connection was disconnected during access and the write process was not completed
by closing a special flag at the same time.
Solution:
· Using the safely remove option, always log off the Cm Dongle before removing it from the system.
· Click on "Scan and fix". Please save all important data first!

Alternatively to the mass storage device status, Cm Dongles can also display as HID (Human Interface Device) without a drive
status (for more details see here 141 ).
Cm Dongles without Flas h memory represent virtual drives, i.e. data you save on it will get lost once you disconnect the
Cm Dongle !

By default, CodeMeter License Server is installed as service (Windows) or as daemon (Linux, macOS) and thus automatically
starts on system startup. The behavior at system startup is optimized by using default values and prevents eventually occurring
process access conflicts. In the case of problems, please contact Wibu-Systems Support.
If CodeMeter License Server s hould not be active, it can be manually started or stopped 30 . The following table s hows you
start options for different operating systems.

CodeMeter License Server is registered as a Windows service and can be started with user privileges. For stopping the
service, however, you need administrator privileges under Windows (System Settings | Management | Services).

Operating System Menu Control Name

[Start | All Programs | CodeMeter | CodeMeter Control Center ] CodeMeter.exe


Window s
Press "Window s" key to open Start screen | Type "CodeMeter Control
Center" | Press "Enter" key
[Programs | CodeMeter | CodeMeter Control Center CodeMeterMacX
macOS
[Applications | System | CodeMeter Control Center ] or [Applications | CodeMeterLin
Linux
Accessories | CodeMeter Control Center]

On Linux (graphic desktop environment KDE 4) eventually connected Cm Stick s/BMC / Cm Cards are not automatically
detected.
If removable devices are connected to Linux systems, they have to be mounted, i.e. making the filesystem on the device
accessible. Some desktop environments do this automatically, some do not.
Check the settings for general automatic mounting and also for the Cm Stick /BMC / Cm Card using the menu item
"System Settings | Hardware | Removable Devices".
Of course you cannot mount a file system whose underlying device is not connected.

If on Linux Cm Stick s/BMC / Cm Cards cannot be detected, please proceed as follows:


1. Start codemeter a root user.
If you use the systemd-init system, please enter the following s hell commands:
# mkdir /etc/systemd/system/codemeter.service.d
# printf '[Service]\nUser=root\n' > /etc/systemd/system/codemeter.service.d/as-root.conf
# systemctl daemon-reload
# systemctl restart codemeter.service
If you use the sysvinit/sysv-rc, please enter the following s hell commands:
# sed -i '/^USER/cUSER=root' /etc/init.d/codemeter
# service codemeter restart
2. Read-Write mount the Cm Stick /BMC / Cm Card.
In the desktop environment either mount the filesystem in the /etc/fstab (using the service udisks2), or manually
mount it.

8
Manual
First important Information

Eventually you must create an empty 'codemeter.io' file: <mntpnt>/CM-Device/codemtr.io.


If the mount takes place after the start of codemeter, either use CodeMeter Control Center "View | Refres h" - CTRL+R
or restart using the s hell command "# service codemeter reload".

Activating CmActLicense licenses


Cm ActL icense th e software- and activation-based CodeMeter variant re q uires no h ardware token. R ath er Cm ActL icense

licenses are bound to hardware properties of the PC on which they are accessed.

Please make sure you activate a Cm ActLicense license only on the PC for which you want to use the license.

Before you are able to activate Cm ActLicense licenses for your PC you require a separate file you obtain from your software
vendor. This licenses information file corresponds to an empty license container. It serves to collect hardware properties of
your PC as a kind of 'finger print' for the subsequent activation. Please proceed as follows:
1. Drag & drop the *.wbb file, e.g. MyCmActLicense.wbb, you received from your software vendor onto CodeMeter Control
Center.

The "Status" field s hows that is file is only an empty license container and not a license. At the same time, the CodeMeter
symbol changes to red.
2. Click the "Activate License" button to create a license request file (see here 40 ) and to send it to your software vendor.
Subsequently, your software vendor will send you a license update file.
3. Drag&drop the *.wbb file, e.g. MyCmActLicense.WibuCmLIF, you received from your software vendor onto CodeMeter
Control Center.

9
CodeMeter Administrator Manual 7.40b - April 2022

The "Status" field s hows that the license has been activated. At the same time, the license has a serial number, and the
CodeMeter symbol h as switch ed to activated status.

CodeMeter FAQ
A comprehensive FAQ area on CodeMeter and on other additional products, you will find at our CodeMeter support page.
Please take a first look at the information on the CodeMeter support page before you contact our support team. In most cases,
you will find quick answers to your questions and problems.
Support
You have several options to contact us:
E-Mail Writes us an e-Mail at support@w ibu.com
Please describe your problem in detail and add the file CmDust-Result.log created w ith CmDust 104
.
Telephone Contact our CodeMeter Hotline at +49-721-93172-15.
We are available in Germany (local Baden-Wuerttemberg non-holiday) w orkdays (Monday through Friday)
from 8 a.m. to 5 p.m.
Wibu Systems USA support is available Monday through Friday from 8 a.m. to 5 p.m. PST by phone at 800-6-
GO-WIBU (425-775-6900) or by e-mail (support@w ibu.us)
In China contact our Shanghai office per phone +86 (0) 21-55661790 or by e-mail (info@w ibu.com.cn).
1.3 Safety Instructions
The hardware of WIBU-SYSTEMS AG serves to protect and license digital products and has been developed, manufactured
and inspected in accordance with state-of-the-art technology and recognized technical safety rules and regulations.
For further information on hardware certificates see the respective documents to be downloaded at the website of Wibu-
Systems (https://www.wibu.com/support/certificates.html).
Before you use the hardware please observe the following safety instructions:
· If you follow the instructions regarding safety as described in this manual, the hardware will, in the normal case, neither
cause personal injury nor damage to machinery and equipment. Connect the hardware only to matching intended interfaces.
The use for other purposes, opening or own repair of the hardware may lead to damages of the product and its
surroundings. Modifying the hardware affects the product safety. Caution: risk of injury!
· The hardware may warm up during operation - w hich is a normal operational parameter.
· Keep the hardware away from humidity and avoid strong vibration, dust, heat, and direct sunlig ht, in order to prevent
operational interference.
· Depending on the used operating system the detection of the hardware device may take some seconds. Before
disconnecting the hardware the user s hould wait several seconds to avoid loss of data during data saving.
· This product is not a toy, keep away from ch ildren!
Non-compliance with the safety instructions results in a loss of warranty.

10
Manual
Installation

1.4 Installation
The following section contains installing and uninstalling information of the CodeMeter for different operating systems.
While installing it is not required that a Cm Dongle is connected to the computer.
· Windows 32-bit/64-bit 11

· macOS 13
· Linux 15

1.4.1 Installing on 32/64-bit Windows


For Windows 32- and 64-bit a CodeMeter Runtime Kit installation program is available:
For installing the CodeMeter Runtime Kit start the respective installation program and follow the installation wizard.
Network Server and Automatic Server Search
On installing 11 it can be decided whether CodeMeter License Server is set up as a server in a network environment and the
related TCP port 11 22350 is registered with the Windows firewall. By default, CodeMeter License Server is only available
locally (local host).

Also during the installation an automatic search of network servers is set as default. This is implemented by a broadcast via
UDP (User Datagram Protocol) (it is listened only at server search time and only until the end of the UDP Waiting Time) and for
communication the related UDP port 11 22350 is registered with the Windows firewall.

In order to modify these default settings open the installation wizard again. In the following dialog click the button
"Change " to allow the modifiactions to be made.

1.4.1.1 Installed files on 32/64-bit Windows


The files the CodeMeter Runtime Installation Kit installs on your PC you find in the installation directory usually in [%\Program
Files\CodeMeter\Runtime\bin]).
For 32-bit Windows the following directory structure is valid:
%ProgramFiles%

11
CodeMeter Administrator Manual 7.40b - April 2022

`--CodeMeter
|-- Backup (starting with Version 4.30 as Shortcut)
|-- Logs (starting with Version 4.30 as Shortcut)
`-- Runtime
|-- bin
| |-- CodeMeter.exe
| |-- CodeMeter.l*
| |-- CodeMeterCC.exe
| |-- CodeMeterCC.l*
| |-- CmWebAdmin.exe
| |-- CmRmtAct32.*
| |-- cmu32.exe
| |-- WibuCmId32.*
| `-- WibuCmTrigger32.*
`-- help
`-- CmUserHelp
%WINDIR%
`-- System32
|-- WibuCm32.lxx
|-- WibuCm32.dll (CodeMeter Calling Driver)
|-- WibuCmJni.dll
`-- WibuXpm4J32.dll
%ProgramData%
`-- CodeMeter
|-- Backup
`-- Logs
For 64-bit Windows the following directory structure is valid:
%ProgramFiles(x86)%
`--CodeMeter
|-- Backup (starting with Version 4.30 as Shortcut)
|-- Logs (starting with Version 4.30 as Shortcut)
`-- Runtime
|-- bin
| |-- CodeMeter.exe
| |-- CodeMeter.l*
| |-- CodeMeterCC.exe
| |-- CodeMeterCC.l*
| |-- CmRmtAct64.*
| |-- cmu32.exe
| |-- WibuCmId32.*
| `-- WibuCmTrigger32.*
`-- help
`-- CmUserHelp
%ProgramFiles%
`--CodeMeter
`-- Runtime
`-- bin
|-- WibuCmId64.dll
|-- CmWebAdmin.exe
`-- WibuCmTrigger64.*
%WINDIR%
|-- SysWOW64
| |-- WibuCm32.lxx
| |-- WibuCm32.dll (CodeMeter Calling Driver)
| |-- WibuCmJni.dll
| `-- WibuXpm4J32.dll
`-- System32
|-- WibuCm64.lxx
|-- WibuCm64.dll (CodeMeter Calling Driver)
|-- WibuCmJni64.dll
`-- WibuXpm4J64.dll
%ProgramData%
`-- CodeMeter
|-- Backup
`-- Logs
The following table s hows an excerpt of installed files:

12
Manual
Installation

File Description
CodeMeter.exe Process of CodeMeter License Server
CodeMeter.l** Language files for CodeMeter.exe
CodeMeterCC.exe Process of CodeMeter Control Center
CodeMeterCC**.qm Language files for CodeMeter Control Center
cmu32(64).exe Process of cmu command line program
CmRmtAct32(64).dll Dynamic Link Library (DLL) required by CodeMeter.exe for license update.
CmRmtAct32(64).l** Language files for license update.
CmWebAdmin.exe CodeMeter W ebAdmin in several languages.

WibuCm32(64).dll Includes all CodeMeter API functions. This DLL must be installed on all PCs using a CodeMeter
protected application; installation path:[\Windows\System32 ].
WibuCm32(64).lXX Language files for WibuCm32(64).dll ; installation path:[\Windows\System32] .
WibuCmTrigger32(64).dll Required by Microsoft Internet Explorer.
WibuCmTrigger32(64).lXX Language files for WibuCmTrigger32(64).dll .
CmUserhelp\*.* CodeMeter online help in several languages ; installation path [%CodeMeter%

\Runtime\help ].
1.4.1.2 Uninstalling on 32/64-bit Windows
1. Select the "Softw are " option in the Windows System control start menu item.
2. Select the "CodeMeter Runtime Kit" item and the "Remove " option
All CodeMeter files as part of an installations package and registry entries are deleted. Only the log and backup directories
remain.

1.4.2 Installing on macOS


For macOS a CodeMeter Runtime Kit installation programm is available:
File Description
CmRuntimeUser.dmg installs all required CodeMeter runtime components
1. Run the CmRuntimeUser.dmg file to install the CodeMeter Runtime Kit.
2. Select the file CmInstall.mpkg in the new directory CmRuntime and follow the instructions of the installation wizard.

1.4.2.1 Installed files on macOS


For macOS the following directory structure is valid:
.
|____usr
| |____local
| |____bin
| |____cmu
|____Library
| |____Application Support
| | |____CodeMeter
| | |____Backup
| | |____CmAct
| | |____CmCloud
| |____Preferences
| | |____com.wibu.CodeMeter.Server.ini
| |____Java
| | |____Extensions
| | |____libwibucmJNI.jnilib
| | |____libwibucmJNI.dylib
| | |____libwibuxpm4j.dylib
| | |____libwibuxpm4j.jnilib
| |____Logs
| | |____CodeMeter
| |____PreferencePanes
| | |____CodeMeter.prefPane
| | |____Contents
| | |_____CodeSignature
| | | |____CodeResources
| | |____MacOS
| | | |____CodeMeter

13
CodeMeter Administrator Manual 7.40b - April 2022

| | |____Resources
| | | |____English.lproj
| | | | |____AddServer.nib
| | | | |____Localizable.strings
| | | | |____InfoPlist.strings
| | | | |____CodeMeterPref.nib
| | | |____CodeMeter.icns
| | | |____German.lproj
| | | | |____AddServer.nib
| | | | |____Localizable.strings
| | | | |____InfoPlist.strings
| | | | |____CodeMeterPref.nib
| | | |____French.lproj
| | | | |____AddServer.nib
| | | | |____Localizable.strings
| | | | |____InfoPlist.strings
| | | | |____CodeMeterPref.nib
| | | |____CodeMeterPref.tiff
| | | |____Japanese.lproj
| | | |____AddServer.nib
| | | |____Localizable.strings
| | | |____InfoPlist.strings
| | | |____CodeMeterPref.nib
| | |____Info.plist
| |____Frameworks
| | |____WibuCmMacX.framework
| | |____Resources
| | |____Versions
| | | |____A
| | | | |_____CodeSignature
| | | | | |____CodeResources
| | | | |____Resources
| | | | | |____Info.plist
| | | | |____WibuCmMacX
| | | |____Current
| | |____WibuCmMacX
| |____LaunchDaemons
| |____com.wibu.CodeMeter.WebAdmin.plist
| |____com.wibu.CodeMeter.Server.plist
|____Applications
|____CodeMeter.app
|____CmUserHelp
| |_____…
|____Contents
|_____CodeSignature
| |____CodeResources
|____MacOS
| |____CodeMeterCC_zh.qm
| |____CodeMeterCC_fr.qm
| |____CodeMeterCC
| |____CodeMeterCC_it.qm
| |____CodeMeterCC_es.qm
| |____CodeMeterMacX
| |____CmWebAdmin
| |____CodeMeterCC_de.qm
| |____CodeMeterCC_ja.qm
| |____CodeMeterCC_ru.qm
|____PlugIns
|____Resources
| |____CodeMeterCC.icns
|____Info.plist
|____PkgInfo
The following table s hows an excerpt of installed files:
File Description
CodeMeterMacX [Applications/CodeMeter.app] ; CodeMeter License Server process.
CmWebAdmin [Applications/CodeMeter.app] ; CodeMeter W ebAdmin in several languages.

14
Manual
Installation

File Description
CodeMeterUserhelp [Applications/CodeMeter.app/CmUserHelp] ; CodeMeter end user help
CodeMeterCC [Applications/CodeMeter.app/Contents] ; CodeMeter Control Center.
CodeMeterCC**.qm [Applications/CodeMeter.app/Contents/resources] ; Language files for
CodeMeter Control Center .
Cmu [usr/bin/cmu] ; cmu command line program.
WibuCmMacX [Library/Frameworks/WibuCmMacX.framework] ; includes all CodeMeter API
functions.
CodeMeterMacX [Library/StartupItems] ; CodeMeter License Server startup item.
libwibuKJini.jnilib [Library/Java/extensions] ; CodeMeter Java extension.
com.wibu.CodeMeter.Server.ini [Library/Preferences] ; includes "Profille Basic Settings" for CodeMeterMac X.
CodeMeter.prefPane [System/Library/PreferencePanes] ; includes the system control for
CodeMeter MacX."
Starting WebAdmin
You start CodeMeter WebAdm in in Mac/Linux:
· using the button Web Admin in CodeMeterGUI tool
· directly in your Internet browser specifying the U R Ls: http://localhost:22350 or http://127.0.0.1:22350.
1.4.2.2 Uninstalling on macOS
To uninstall the CodeMeterÒ Runtime Kit, proceed as follows:
1. Re-open the CmRuntimeUser.dmg disk image.
2. Start in the directory CmRunTime the program CmUninstall.mpkg and follow the instructions of the wizard (in the
command line enter the following command: $ sudo installer -
pkg /Volumes/CmRuntimeUser/CmUninstall.mpkg -target. Please note that path specification may vary.).
1.4.3 Installing on Linux
For Linux operating systems different installation packages are available in common formats:
Für Linux Betriebssysteme stehen Ihnen verschiedene Installationspakete in den gängigen Formaten zur Verfügung:
Package 32 bit 64-Bit AMD64 base 32 bit 64 bit AMD64 base 32 bit ARMHF 64 bit ARMHF
CodeMeter CodeMeter- CodeMeter- CodeMeter- CodeMeter- CodeMeter Lite CodeMeter Lite
Runtime [CodeMeter- [CodeMeter- [CodeMeter- [CodeMeter- - driver installer - driver installer
contains all Version ]. Version ]. Version ]. Version ]>. only for only for
necessary [Package [Package [Package [Package systems systems
files for the Number].i386.rp Number].x86_64. Number] Number] without GUI without GUI
m rpm _i386.deb _amd64.deb
end-user codemeter- codemeter-
alternatively: alternatively: alternatively: alternatively: lite_[CodeMe lite_[CodeMe
CodeMeter Lite - CodeMeter Lite - CodeMeter Lite - CodeMeter Lite - ter- ter-
driver installer only driver installer only driver installer only driver installer only Version]. Version].
for systems without for systems for systems for systems [Package [Package
GUI without GUI without GUI without GUI Number] Number]
_armhf.deb _arm64.deb
CodeMeter-lite- CodeMeter-lite- codemeter- codemeter-
[CodeMeter- [CodeMeter- lite_[CodeMeter lite_[CodeMeter
Version]. Version]. -Version]. -Version].
[Package [Package [Package [Package
Number].i386.rp Number].x86_64. Number] Number]
m rpm _i386.deb _amd64.deb

To install CodeMeter License Server, proceed as follows:


1. Select the desired installation package, and
2. Install the package as usual, e.g. s hell command or respective help programs.
rpm packages: [rpm -ivh CodeMeter-[CodeMeter-Version].[Package Number].i386.rpm]
deb packages: [dpkg -i CodeMeter-[CodeMeter-Version].[Package Number]_i386.deb]
For Linux the following directory structure is valid:
/
15
CodeMeter Administrator Manual 7.40b - April 2022

|-- etc
| |-- hotplug
| | `-- usb
| | |-- codemeter.usermap (obsolete)
| | `-- codemeter
| |-- init.d
| | `-- codemeter
| |-- udev
| | `-- rules.d
| | `-- 52-codemeter.rules
| `-- wibu
| `-- CodeMeter
| |-- CmFirm.wbc (permissions -rw-rw-rw-)
| `-- Server.ini (permissions -rw-rw-rw-)
|-- usr
| |-- bin
| | |-- CodeMeterCC
| | |-- CodeMeterLin
| | |-- CmWebAdmin
| | |-- cmu
| | `-- codemeter-info (permissions -rwsr-xr-x)
| |-- lib (for 64-bit systems here the 64-bit libs locate with suffix 64; otherwise the 32-bit
libs)
| | |-- libWibuCmWebLin[64].so
| | |-- libwibucmJNI[64].so
| | |-- libwibucmlin[64]-4.so
| | `-- libwibucmlin[64].so -> libwibucmlin[64]-4.so
| |-- lib32 (directory exists only in the 64-bit Installer)
| | |-- libWibuCmWebLin.so
| | |-- libwibucmJNI.so
| | |-- libwibucmlin-4.so
| | `-- libwibucmlin.so -> libwibucmlin-4.so
| `-- share
| |-- CodeMeter
| | |-- CodeMeterCC
| | |-- CodeMeterCn.wbb
| | |-- CodeMeterDe.wbb
| | |-- CodeMeterFr.wbb
| | |-- CodeMeterIt.wbb
| | |-- CodeMeterJp.wbb
| | |-- CodeMeterLin
| | |-- CodeMeterUs.wbb
| | |-- WibuCmSTrigger.jar
| | |-- codemeter.rc (copy of /etc/init.d/codemeter)
| | |-- getpath.class
| | `-- libWibuCmWebLin.so -> ../../lib/libWibuCmWebLin.so
| |-- applications
| | `-- codemeter.desktop
| |-- doc
| | `-- CodeMeter
| | |-- AppletExample.class
| | |-- AppletExample.html
| | |-- COPYING
| | |-- CmUserHelp
| | | `-- ...
| | |-- License.rtf
| | `-- README
| |-- man
| | `-- man1
| | `-- codemeter-info.1.gz
| `-- pixmaps
| `-- codemeter.png
`-- var
|-- lib
| `-- CodeMeter
| |-- Backup
| | `-- CM-Backup2-506426-10Aug04-16-40-40.wbb (Sample)
| `-- CmAct
16
Manual
Installation

| |-- CmActFI-5010.wbb (Sample)


| `-- 5010_ABCD-4711.wbb (Sample)
`-- log
`-- CodeMeter
`-- CodeMeterLin2010-08-04-170622.log (Sample)
1.4.3.1 Uninstalling on Linux
Execute the respective s hell command for uninstalling of the CodeMeterÒ Runtime Kit:
· for R PM based distributions, such as, Suse/R edHat/Fedora [rpm -e CodeMeter ]
· for DEB based distributions, such as, Debian/Ubuntu [dpkg -r CodeMeter ]

17
CodeMeter Administrator Manual 7.40b - April 2022

1.5 Profiling - CodeMeter License Server settings


The settings with which CodeMeter License Server is used are based on so-called 'profiling'. For Windows these settings are
stored in the Windows registry, for macOS and Linux *.ini files contain this information.
Registry (Windows registry database)
Please note that extensive problems might occur, if you modify the registry incorrectly. Thus, make sure that you change
values very carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry, if
a problem occurs.

All settings for the administration of the system and all integrated system services and processes are stored here. Many
application programs, such as the Wibu-Systems software, also store their settings here.
In order to check or edit registry entries, please proceed as follows:
1. Open Registry Editor.
In the search box on the task bar, type regedit. Then, select the top result for Registry Editor (Desktop app).
Alternatively, press and hold or right-click the Start button, then select Run. Enter regedit in the Open: box and select OK.
2. Advance to the node [HKEY_LOCAL_MACHINE\SOFTWARE\WIBU-SYSTEMS\CodeMeter\Server\...].
The following values and data types exist:
· REG_DWORD: a binary data type in w hich 32-bit integer values are stored as 4-byte hexadecimal values.
· REG_SZ: a string of Unicode ch aracters. For names, descriptions, system paths, etc.

You can also create a local Windows CodeMeter.ini file holding the stored settings from the registry.
However, be aware that as soon as CodeMeter License Server starts, it checks if a CodeMeter.ini file exists. If there is a
CodeMeter.ini file, all default information from the registry is stored there. From this moment on, CodeMeter License Server
then will use only the information stored in CodeMeter.ini.
For creating the CodeMeter.ini file, please proceed as follows:
1. Create an empty file named CodeMeter.ini in the directory C:\Program Files (x86)\CodeMeter\Runtime\bin.
2. Stop and start the CodeMeter service in CodeMeter Control Center using the "Action | ..." navigation items.
The CodeMeter.ini file is completed.
Changes made are saved only, if the CodeMeter License Server service has been stopped before and then
restarted after modifications have been made.

Server.ini file
The settings of applications are stored here in configuration files separately for individual programs in respective directories
(*.ini files).

Changes made are saved only, if the CodeMeter License Server daemon has been stopped before and then restarted
after modifications have been made.
On macOS this file locates at:
/Library/Preferences/com.wibu.CodeMeter.Server.ini.
On Linux this file locates at:
/etc/wibu/CodeMeter/Server.ini
In order to check or edit file entries open the file in a text editor of your choice.

1.5.1 General
ActionTimeInterval
specifies the time interval the ActionHandler is to scan for an open task to perform.
Value Description
[0, Interval between 0 and 1000 milliseconds (default: 10 milliseconds).
1000]
ApiCommunicationMode
specifies the communication mode between the WibuCm.dll library and CodeMeter License Server used by the library.
Modes may be combined.
Mode Description

18
Manual
Profiling - CodeMeter License Server settings

ApiCommunicationMode
1 platform specific (default)
2 s hared memory
4 IPv4
8 IPv6
Platform specific default:
Windows IPv6, IPv4, s hared memory
macOS / IPv6, IPv4
Linux
WinCE IPv4, s hared memory

ApiCommunicationModeServer
specifies the communication mode between the WibuCm.dll library and CodeMeter License Server used by CodeMeter
License Server.
Modes may be combined.
Mode Description
1 platform specific (default)
2 s hared memory
4 IPv4
8 IPv6
Platform specific default:
Windows IPv6, IPv4, s hared memory
macOS / IPv6, IPv4
Linux
WinCE IPv4, s hared memory

If ApiCommunicationMode is set to a communication mode that is excluded by ApiCommunicationModeServer,


the communication between DLL and CodeMeter License Server will not work. For example,
ApiCommunicationModeServer is set to '4' (IPv4) and ApiCommunicationMode is set to '8' (Ipv6).

BindAddress
specifies the IP Address of the network adapter used by CodeMeter License Server.
Typical examples are 0.0.0.0 which binds to all network adapter (default) or 192.168.0.1.
BorrowIdentifyByIpAddress
specifies the IP Address (server identification) for a prepared borrowing.

CleanUpTimeOut
contains a timeout value (in minutes) used by CodeMeter License Server to clean up internal handles and threads. The
default value is 120 minutes.
Starting with CodeMeter Version 6.70a this value only affects LAN handles.

CmActPath
contains in the case of applied write filters the location (path information) to which the data of Cm ActLicense is to be saved
persistently. If filters are used your software vendor is likely to inform you.
Please do not mix up this with the location of the default Cm ActLicense read and backup mechanism,
e.g. C:\ProgramData\CodeMeter\CmAct.

This configuration option applies only to Universal Firm Codes and must be explicitely set in conjunction with set write
filter methods EWF (Enhanced Write Filter) or FBWF (File Based Write Filter). This is done using the Cm BoxPgm -
Option /lopt:ewffbwf.

19
CodeMeter Administrator Manual 7.40b - April 2022

CmActPath

For EWF, please note to select the location on a non-write-protected partition. With FBWF, this can also be an excluded
directory on the partition protected with a write filter.

CmInstanceUid
On starting, CodeMeter License Server calculates a unique ID used to discern client computers for station s hare
accesses.

CmWANPort
specifies the port address for the Cm WAN communication used by the server side only. The default value is the port
address 22351.

CmWebSocketApi
specifies whether the Cm Web Sock et API is used or not.

This entry only affects old versions of the Cm Web Sock et API prior to CodeMeter Version 7.10a that do not perform
origin checks.

Origin check
The new Cm Web Sock et API from CodeMeter version 7.10a on requires a check for the origin of a request when
information and data is exchanged via Web Components with CodeMeter License Server. This is done by a
certificate issued by Wibu-Systems.
At the same time, old versions of the Cm Web Sock et API prior to CodeMeter Version 7.10a due to security reasons
are deactivated by default.
The old versions can be activated by setting the profiling entry CmWebSocketAllowWithoutOriginCheck'='1'.
Such activation, however, is not recommended.
If the value 0 (disabled) is set, the online activation in the Web Depot of CodeMeter License Central cannot be used. The
Software Activation Wizard using the CodeMeter License Central Gateways and the file-based activation in Web Depot still
work.
Value Description
0 disable
1 enabled (default)
If the value 0 (deactivated) is set, the online activation in Web Depot of CodeMeter License Central cannot be used.
However, the Software Activation Wizard, which uses the CodeMeter License Central Gateways, and the file-based
activation in Web Depot still work.

CmWebSocketAllowWithoutOriginCheck
specifies since CodeMeter Version 7.10a whether the Cm Web Sock et API is additionally used without check of the origin of
a request for the Cm Web Sock et API or not.
By default, the check is not switched off and is performed (0).

For a transition period, it may happen that a not yet completed exchange of web components (Web Depot) may
require activation of the old Cm Web Sock et API of a CodeMeter version 7.10a or newer.
Then setting the profiling entry 'CmWebSocketAllowWithoutOriginCheck' to the value '1' after a CodeMeter License
Server restart can reactivate th e previous Cm We b Sock et API with out origin ch eck.

The activation of the old Cm Web Sock et API on principle is explicitly not recommended.
Value Description
0 disable (default)
1 enabled

DisableHostnameLookup
disables name resolution and thus prevents name resolution for logging (license tracking).

20
Manual
Profiling - CodeMeter License Server settings

DisableHostnameLookup
Value Description
0 deactivated
1 acivated (default)

DisableWebSocketVersions
allows to explicitly disable certain WebSocket protocol versions.
To completely disable the WebSocket interface use DisableWebSocketVersions = 0xFFFFFFFFF.
Optional disabling of a version of the WebSocket API from version 4: DisableWebSocketVersions = <Matching Bit>.

This entry is intended for cases in which individual protocol versions s hould be deactivated for security reasons.

EnabledContainerTypes
specifies the Cm Container Types activated. Currently, four flags are defined which can be bit-wise combined.
This setting is used to avoid technical problems on some systems.
Value Description
1 Mass Storage (USB mass storage device class)
2 Cm ActL icense

4 HID (USB human interface device class)


8 Cm Clo u d

EnableWebAdmin
This parameter is available for embedded systems only ( Linux arm and Big Endian) and is ignored for all other
platforms.
Value Description
0 CodeMeter WebAdm in disabled (default).
1 CodeMeter We bAdm in enabled.

ExePath
specifies the current path information where CodeMeter License Server is stored.
On any start, CodeMeter License Server saves this path to the parameter allowing applications calling CodeMeter on
request to start CodeMeter License Server.

HostNameResolveTimeout
specifies in milliseconds the maximum value of the timeout that is used to resolve the IP address to the host name.
This is used for optimization and adaptation to specific network properties.
The default value is 10 milliseconds. The value can also be set to a value between 0 and 0xffffffffffff (49 days)
milliseconds.

HelpFile
specifies the complete path information and file name of the CodeMeter online help file.

IsCmWANServer
specifies whether CodeMeter License Server is running as a Cm WAN server or not.
Value Description
0 CodeMeter License Server as Cm WAN server disabled (default).
1 CodeMeter L icense Server as Cm WAN server enabled.

21
CodeMeter Administrator Manual 7.40b - April 2022

IsNetworkServer
specifies whether CodeMeter License Server is running as a network server on the network or not.
Value Description
0 CodeMeter License Server as network server on the network disabled (default).
All network requests from other computers are blocked.
1 CodeMeter L icense Server as network server on th e network enabled.

LastLogCleanup
specifies when all CodeMeter *.log files have been deleted using a time stamp value.

ListRejectedAllocations
allows users to list all rejected allocations for a specific CodeMeter License Server (local or remote) and retrieve them as
log entries.
Value Description
0 deactivates listing of rejected license allocations.
1 activates listing of rejected license allocations.

ListRejectedAllocationsFirmcode
allows to set restrictions on retrieving rejected allocations by specifying a single Firm Code, e.g. 6000010.
By default, listing includes all available firm Firm Codes.

ListRejectedAllocationsMaxEntries
allows setting a maximum number of list entries when retrieving rejected allocations.
The specified number of list entries is kept until users actively retrieve the list entries via a corresponding cm u command.
By default, the listing covers 1000 entries. Optionally, an input interval between [1..200000] is supported..

LogCleanupTimeout
specifies how long the timeout value is for the log file deletion. The default value is 336 hours, i.e. 14 days.

LogCmActDiag
specifies whether Cm ActLicense diagnostic logging is activated or not.
Value Description
0 Cm ActLicense diagnostic logging disabled.
1 Cm ActL icense diagnostic logging enabled (default).

Logging
specifies whether logging of the console or GUI output is activated or not.
Value Description
0 Logging disabled (default).
1 Logging enabled.

LogLicenseTracking
specifies whether license tracking is activated or not.
Value Description
0 License tracking disabled (default).
1 License tracking enabled.

LogLicenseTrackingPath
specifies the location to where the license tracking files are written to.

22
Manual
Profiling - CodeMeter License Server settings

LogLicenseTrackingPath
Default location is a directory "Licensetracking" parallel to the "Logs" directory specified in parameter LogPath 23
.

LogLicenseTrackingLogRotationSizeInMb
[1..3500]
If a license tracking log file exceeds a size of x MB, the rotation starts.
The input range of x is from 1 to 3500 MB.
The default value is 1000 MB.
If the specified value is outside the input range, automatically the default value applies.

LogLicenseTrackingLogRotationTimeInMinutes
[0..525600]
If the oldest entry of a license tracking log file is older than n minutes, the rotation s hould start.
The default value is 0 hours.
The input range of n is from 0 to 525600 minutes (approx. 1 year).
If the specified value is outside the input range, automatically the default value applies.

LogPath
specifies the location where the log files are written to.
Default location is the directory generated platform dependently by the Installer.
Windows C:\ProgramData\CodeMeter\Backup\Logs
macOS /Library/Application Support/Logs/CodeMeter
Linux /var/log/CodeMeter

LtClientsCleanupTime
specifies the period how long License Transfer client data will be stored.
The time is stored in hours to be able to test using small periods. In CodeMeter WebAdm in it is stored in days. The default
setting is 100 days, i.e. 2400 hours.

MaxMessageLength
specifies the maximum length of TCP/IP requests in bytes. Default is 64 MB which s hould be sufficient for all known API
calls.

NetworkAccessFsb
specifies whether an access to a Firm Security Box (FSB) entry is allowed via network or not.
Value Description
0 Access to a FSB entry via network is not allowed (default).
1 Access to a FSB entry via network is allowed.

This value will be ignored if an Access Control List 26 (ACL) is used.

NetworkPort
specifies the network port address for the communication. The default value is the port address 22350.
The port 22350 is registered by Wibu-Systems at IANA (Internet Assigned Numbers Authority) and uniquely assigned for the
CodeMeter communication. For a list of assigned ports see www.iana.org/assignments/port-numbers.

NetworkTimeout
specifies the TCP/IP network timeout value.
Values Description
0 No timeout will be used.

23
CodeMeter Administrator Manual 7.40b - April 2022

NetworkTimeout
[40, ∞] Interval between minimum value of 40 and ∞ milliseconds (Default: 10 milliseconds).

ProxyPassword
specifies the password of the proxy server of the local network.
This must be set, if authentication is required through proxy or firewall.
Please note, that under Linux, the environment variable http_proxy is considered as system proxy. https_proxy is
not yet supported.

ProxyPasswordSecure
specifies the password for authenticated access to the proxy server.
Please note, that under Linux, the environment variable http_proxy is considered as system proxy. https_proxy is
not yet supported.

ProxyPort
specifies the port of the proxy server of the local network.
Please note, that under Linux, the environment variable http_proxy is considered as system proxy. https_proxy is
not yet supported.

ProxyServer
specifies the name of the proxy server of the local network.
Please note, that under Linux, the environment variable http_proxy is considered as system proxy. https_proxy is
not yet supported.

ProxyUser
specifies the user name of the proxy server of the local network.
This must be set, if authentication is required through proxy or firewall.
Please note, that under Linux, the environment variable http_proxy is considered as system proxy. https_proxy is
not yet supported.

StartAlways
specifies whether CodeMeter License Server immediately starts without any dialog request.
Value Description
0 CodeMeter License Server will not start immediately.
1 CodeMeter L icense Server will be started immediately (default).

StartDaemon
specifies whether CodeMeter License Server will start as daemon on start [Linux only ].
Value Description
0 CodeMeter License Server will not start as daemon on startup.
1 CodeMeter L icense Server will start as daemon on startup (default).

SystemStartThreshold
specifies the thres hold value in seconds after Windows start [Windows only ].
If Windows has not been started since the specified value, the parameter StartAlways 24 is handled in a special way
(see WaitForServiceAfterSystemStart 26 ).

TimeServerTimeout
specifies the timeout for the time server request in seconds. The default value is 20.

24
Manual
Profiling - CodeMeter License Server settings

TimeServerURL1, TimeServerURL2, …
specifies the URL of the time sever to update the Certified Time in the Cm Container. The standard installer sets the following
default values:
TimeServerURL1 = cmtime.codemeter.com
TimeServerURL2 = cmtime.codemeter.fr
TimeServerURL3 = cmtime.codemeter.de
TrustedWebSocketOrigins1, TrustedWebSocketOrigins2, ...
sets local exceptions for checking trusted WebSocket Origins.

Supported input formats are IPv4 and IPv6 addresses and port specifications, e.g. "http://localhost:4040",
"http://[2001:db8::1%25eth0]" "https://[2001:db8::1]:4040".
TrustedWebSocketOrigins1 = null
TrustedWebSocketOrigins2 = file://
TrustedWebSocketOrigins3 = http://example.com
TrustedWebSocketOrigins4 = https://example.com
TrustedWebSocketOrigins5 = http://example.com:33
UDPCachingTime
specifies the waiting time in seconds after a UDP (User Datagram Protocol) request is retried.
After a UDP search in the network the servers found are stored inside CodeMeter License Server for this time. The range of
the parameter is [1, 3600]. The default value is 20 seconds.

UDPWaitingTime
specifies the waiting time in milliseconds in order to define the period in which a UDP (User Datagram Protocol) request
for an existing CodeMeter License Server on the network has to reply.
This is the maximum time all other servers can answer to the request. The default value is 1000 milliseconds. The range of
this parameter is [100, 15000].

UseMobileHandling
specifies whether CodeMeter can be used mobile.
If enabled, a protected application and CodeMeter License Server can be started from a mobile disk and will terminate
when the last handle of a protected application was released and the protected application has terminated.
Value Description
0 CodeMeter Mobile Handling is disabled.
1 CodeMeter Mobile Handling is enabled.

UseMobileVars
specifies whether CodeMeter Mobile variables are used or not.
Value Description
0 CodeMeter Mobile variables are disabled and absolute paths remain.
1 CodeMeter Mobile variables are enabled (default).
If CodeMeter uses a local CodeMeter.ini 18 file, the following variables will be used:
o $(CODEMETER_HOME) - contains the absolute path of CodeMeter.exe.
o $(CODEMETER_DRIVE) - contains the drive letter of the Cm Stick .
For example, the LogPath 23 may be set to "$(CODEMETER_HOME)\logs".
If set to a value 0, these variables will not be inserted into CodeMeter.ini but the absolute paths remain.

UseSystemProxy
specifies whether CodeMeter applies the system proxy settings or not.
Please note, that under Linux, the environment variable http_proxy is considered as system proxy. https_proxy is
not yet supported.

25
CodeMeter Administrator Manual 7.40b - April 2022

UseSystemProxy
Value Description
0 CodeMeter does not apply the system proxy settings.
1 CodeMeter applies th e system proxy settings.

UseUmsDA
specifies whether communication between CodeMeter License Server and Cm Dongle is direct or file I/O based.
Value Description
0 Communication is based on file I/O.
1 Communication is based on direct access (Pass Thru) (default).
if the user starting CodeMeter License Server has no administrator privileges, then automatically file I/O applies.

WaitForServiceAfterSystemStart
specifies how long after system start CodeMeter.exe waits in seconds. After that, the WibuCm.dll library starts
CodeMeter.exe as an application [Windows only ].

WebSocketKeepAliveTimeout
specifies how long a WebSocket connection is kept open in seconds even though the client is not active.
The default maximum value for such possible inactivity is 300 seconds (5 minutes).
This timeout can be changed in seconds. The minimum value is 1 second.
The value zero is not valid and the default timeout (300 seconds) is used.
MaxBorrowDuration
specifies the global maximum period a license is blocked by an borrowing server in minutes.

Please note, that Prepared License Borrowing supports only Firm Codes smaller than 6,000,000.

MaxBorrowQuantity
specifies the global maximum number of licenses which can be borrowed from an borrowing server.

Please note, that Prepared License Borrowing supports only Firm Codes smaller than 6,000,000.

1.5.2 AccessControl
Enabled
specifies whether Access Control Lists (ACL), i.e. using global and specific access rules for accessing licenses and
reserving license access for single staff member or complete Active Directory groups, are used or not.
Value Description
0 Use of ACL disabled (default).
1 Use of ACL enabled.

UsersMaximumNumber
specifies the maximum cache limit for the number of Active Directory (AD) server requests of users in the list of license
access permissions. Default value is 10000.

GroupsMaximumNumber
specifies the maximum cache limit for the number of Active Directory (AD) server requests of groups in the list of license
access permissions. Default value is 10000.

26
Manual
Profiling - CodeMeter License Server settings

1.5.3 Backup
Interval
contains a time interval (in hours) when CodeMeter License Server s hould automatically create and save a backup of the
connected Cm Dongle(s).
Value Description
0 Automatic backup disabled
[1, ∞] Automatic backup enabled for specified hours (default is 24 hours).

Path
contains the path of the location where the backup file of the Cm Dongle(s) is to be saved. The default location for backup
files depends on the operating system in use:
Windows C:\ProgramData\CodeMeter\Backup
macOS /Library/Application Support/CodeMeter/Backup
Linux /var/lib/CodeMeter/Backup

<serial_number>
contains a time stamp when the last backup of the specified Cm Dongle was created in seconds passed since
01.01.2000.

UpdateCertifiedTime
specifies whether a Certified Time update takes place before a backup is executed.
Value Description
0 Certified Time update disabled (default).
1 Certified Time update enabled.

1.5.4 HTTP
DigestAuthentication
CodeMeter Versions smaller than 6.60:
The parameter specifies, if authentication via "User Name / Password" is required to change settings.
Value Description
0 Authentication via "User Name / Password" is disabled.
1 Authentication via "User Name / Password" is enabled.

CodeMeter Versions equal to or newer than 6.60:


This parameter specifies, if write authentication (via WritePassword 28 ) is required to change settings.
Value Description
0 Write authentication disabled.
If disabled, remote write operations, e.g. changing the configuration from a remote host, are not allowed.
1 Write authentication enabled.
If enabled, the user needs to enter the WritePassword 28 before being able to change configuration or perform
other 'writing operations.

Port
specifies the port CodeMeter WebAdm in is listening for HTTP requests. The default value is 22352.

PreparedBorrowingConfiguration
specifies that the configuration of Prepared License Borrowing in CodeMeter WebAdm in is enabled or not.

Please note, that Prepared License Borrowing supports only Firm Codes smaller than 6000000.

27
CodeMeter Administrator Manual 7.40b - April 2022

Value Description
0 Prepared License Borrowing configuration disabled (default).
1 Prepared License Borrowing configuration enabled.
If enabled, the parameters MaxBorrowDuration 26 and MaxBorrowQuantity 26
can be specified.

ReadAuthenticationEnabled
specifies whether a read authentication is required or not.
Value Description
0 Read authentication disabled (default).
If disabled, remote write operations, e.g. changing the configuration from a remote host, are not allowed.
1 Read authentication enabled.
If enabled, the user needs to enter the ReadPassword 28 before being able to see any CodeMeter WebAdm in
page.

ReadPassword
contains the password required to be entered, if ReadAuthenticationEnabled 28 is set to a value of 1(enabled).

RemoteRead
specifies whether it is possible to read from a remote host.
Value Description
0 Remote reading is disabled (default).
2 Remote reading is enabled.

UserAuthentication
CodeMeter Versions smaller than 6.60:
contains the has hed CodeMeter WebAdm in password, if DigestAuthentication 27
is enabled.
CodeMeter Versions equal to or newer than 6.60:
Obsolete parameter.
Please use WritePassword 28 instead.
UserAuthentication 28 is read only for transferring the configured password to WritePassword 28
the first time
the user enters it.

UserName
contains the CodeMeter WebAdm in user name, if DigestAuthentication 27
has been enabled.
WritePassword
contains the password required to be entered, if DigestAuthentication 27
has been enabled.
1.5.5 HTTPS
CertificateChainFile
specifies the path to the certificate chain file required for HTTPS communication. The default value is platform dependent:
Windows C:\ProgramData\CodeMeter\WebAdmin\SelfSignedCert.pem
Linux /var/lib/CodeMeter/WebAdmin/SelfSignedCert.pem
macOS /Library/Application Support/CodeMeter/WebAdmin/SelfSignedCert.pem

Enabled

28
Manual
Profiling - CodeMeter License Server settings

specifies whether HTTPS communication is activated or not.


Value Description
0 HTTPS is disabled (default).
1 HTTPS enabled.

Port
specifies the port the CodeMeter WebAdm in is listening for HTTPS requests. The default value is 22353.

PrivateKeyFile
specifies the path to the private key file required for HTTPS communication. The default value is platform dependent:
Windows C:\ProgramData\CodeMeter\WebAdmin\key.pem
Linux /var/lib/CodeMeter/WebAdmin/key.pem
macOS /Library/Application Support/CodeMeter/WebAdmin/key.pem

1.5.6 ServerSearchList
UseBroadcast
specifies whether automatically licenses on servers are searched for, first locally and then in the network (subnet), i.e.
whether a so-called broadcast is performed.
Value Description
0 Broadcast disabled.
1 Broadcast enabled (255.255.255.255 is automatically added) (default).

Server1, Server2, ...


specifies the access to and order of CodeMeter network LAN and WAN (Wide Area Network) servers in separate list entries.
By default, a broadcast (255.255.255.255) is specified.
For LAN network servers, the IP address or name entry are possible.
[ServerSearchList\Server1]
Address=184.45.89.5

[ServerSearchList\Server2]
Address=185.55.78.6
For WAN servers next to the required "https:\\" IP address also the 'User' and 'Password' credentials are required. The
password will automatically be converted to PasswordSecure.
[ServerSearchList\Server3]
Address=https://my.product.com/cmwantest"
PasswordSecure=****
User=user1

1.5.7 TripleModeRedundancy
TmrEnabled
specifies whether Triple Mode Redundancy (TMR) is active or not.
Only to be used in a TMR Server Setup for using a CodeMeter Backend Server.
Value Description
0 disable (default)
1 enable
Please note, that if enabled, at the same time, local and s hared memory accesses to this CodeMeter instance except for
CodeMeter We bAdm in and CodeMeter Control Center are disabled.

Also Cm LAN is not supported for TMR Servers.

29
CodeMeter Administrator Manual 7.40b - April 2022

1.6 CodeMeter Control Center


CodeMeter Control Center serves to locally configure CodeMeter License Server. Software-sided, CodeMeter License Server
as the runtime environment is at the heart of CodeMeter. It allows the access to Cm Container. In doing so, Cm Container can
be locally connected or are available on a network. By default, CodeMeter License Server is installed as service or deamon
(Linux, macOS) and automatically starts when the system starts.
When the service has been started, other programs are available to access licenses stored in Cm Container and use protected
data areas in a Cm Container.
Operating System Menu Control

Window s [Start - All Programs - CodeMeter - CodeMeter Control Center ]

Press "Window s" key to open Start screen | Type "CodeMeter Control Center" | Press "Enter" key.

macOS [Programs - CodeMeter - CodeMeter Control Center

[Applications - System - CodeMeter Control Center ] or [Applications - Accessories - CodeMeter


Linux
Control Center]

CodeMeter License Server starts only one-time on each PC!

Start and Stop CodeMeter-service or daemon


The following table s hows you for different operating systems how start or stop the CodeMeter service or daemon.
Operating system Description
1. Navigate via "Windows | Control Panel | Administrative Tools | Services" to CodeMeter License Ser ver .
Window s
2. Right mouse-click and ' Start' or 'Stop ' the service.
Alternatively, use the "Action 33 " menu of CodeMeter Control Center .
1. Navigate via "System preferences | Other " to the CodeMeter icon.
macOS

2. Click the CodeMeter Icon.


The CodeMeter dialog displays

30
Manual
CodeMeter Control Center

Operating system Description


3. Click the "Stop Service" or "Start Service" button to stop or start the service.
1. Call the follow ing script w ith 'sudo ' root privileges to stop the service:
Linux
/etc/init.d/codemeter stop.
2. Call the follow ing script w ith 'sudo ' root privileges to start the service:
/etc/init.d/codemeter start or alternatively the command service codemeter start.

CodeMeter License Server uses TCP/IP network protocol for communication and the default port 22350. Make sure your
firewall does not block this port. Please make sure that the used IP-Port 22350 is available for CodeMeter.

For functioning HTTP communication with a CodeMeter Cloud Server and using Cm CloudContainers, port 80 must be
enabled.
Port 443 for HTTPS (Hypertext Transfer Protocol over TLS/SSL) where files are downloaded over an encrypted channel is
not required as encrypted communication is part of CodeMeter Cloud. .

1.6.1 Structure and Navigation

Figure 2: CodeMeter Control Center - Overview


The CodeMeter Control Center user interface is divided in three separate areas:
· menu bar 32 (1)
· Tab areas (2)
· Status and Open CodeMeter WebAdm in 38 (3).

31
CodeMeter Administrator Manual 7.40b - April 2022

Starting CodeMeter Control Center


You access and start CodeMeter Control Center in several ways:
Open

· Double-click on the CodeMeter or symbols in the info area of the Window s task bar
· Right mouse-click on the CodeMeter or symbol there, and subsequently select the "Show" menu item.
The CodeMeter Control Center secondary menu (right mouse-click on the CodeMeter symbol) provides the additional menu items:
Item Description
WebAdmin Starts CodeMeter W ebAdmin in the default Internet brow ser.
Eject all CmDongle(s) Option to safely disconnect CmDongles .
Disable CmDongle Prompt to insert the CmDongle Passw ord.
Help Opens the CodeMeter help.
About Show s general information on CodeMeter components.
Quit Exits but not s huts dow n the service CodeMeter License Server.
· Navigation by the "Start | All Programs | CodeMeter Control Center" start menu ( Press "Window s" key to open Start screen | Type
"CodeMeter Start Center" | Press "Enter" key).
In the info area of the Windows task bar, different colors of the CodeMeterÒ symbols represent different status conditions of
connected Cm Container.
Color Status

Grey No CmContainer is connected, or CodeMeter License Server is not started.

Green An activated CmContainer is connected.

Blue double Several CmContainer are connected and activated until disconnected.

Yellow A CmDongle is connected and activated until it is disconnected.

Red A deactivated CmContainer is connected.


Figure 3: CodeMeter Symbols Window s Task Bar
1.6.2 Menu Bar
File Menu
Element Description
Import license In order to import license contents using CodeMeter Control Center, proceed as follow s:
1. Select the "File | Import License..." item.
2. Select in the follow ing "Import CodeMeter License Contents ..." dialog the CodeMeter files of the types
*.WibuCmRaU ; *.wbb ; *.wbc and read in license data by clicking on the "Import button.

Figure 4: CodeMeter Control Center - Import Licenses


Alternatively, you can also directly import the license file using the Window s Explorer. Simply drag &
drop the file in the License tab area of CodeMeter Control Center.
WebAdmin Opens CodeMeter W ebAdmin in the default Internet brow ser. Alternatively, press the key combination
<CTRL>+W .
Logging Saves all CodeMeter events to a log file. Alternatively, press the key combination <CTRL>+L .

32
Manual
CodeMeter Control Center

Element Description

When you activate the logging, this also affects the logging display in CodeMeter W ebAdmin on the
"Diagnosis 65 " page.

On Window s operating systems this log file is stored to the directory %\Programm Files%
\CodeMeter\Logs .

This log file is especially important for trouble s hooting.


Preferences Opens CodeMeter W ebAdmin and is defaulted on the page w here you are able to apply netw ork
settings 75 .
Exit Exits CodeMeter Control Center. Alternatively, press the key combination <CTRL>+Q .

The serviceCodeMeter License Server how ever is not s hut dow n.

Processes Menu
Element Description
Eject all CmDongles Ejects all connected CmDongles in one go. Alternatively, press the key combination <CTRL>+ALT+Q .

Defragment License Memories Defragments the license memory of the selected CmContainer. Alternatively, press the key combination
<STRG>+ALT+D .
Update Time Certificates Updates the time certificates in the selected CmContainer. All time stamps are refres hed.

Start CodeMeter Service Starts the service CodeMeter License Server.


CodeMeter License Server is registered as a Window s service and can be started w ith user
privileges. For stopping the service, how ever, you need administrator privileges under Window s
(System Settings | Management | Services).
Repair Hardware Configuration Repairs the hardw are configuration of the CmDongle form factors SD Card and CF Cards. This tool is
required if the CmCard hardw are is not listed in the license list of CodeMeter Control Center.

Stop CodeMeter Service Stops the service CodeMeter License Server.


The stopping of the CodeMeter License Server service requires administrator privileges under
Window s (System Settings | Management | Services).
Restart CodeMeter Service Restarts the service CodeMeter License Ser ver .
CodeMeter License Server is registered as a Window s service and can be started w ith user
privileges. For stopping the service, how ever, you need administrator privileges under Window s
(System Settings | Management | Services).

View Menu
Element Description
Hide Window Minimiz es and hides the CodeMeter Control Center w indow back into the info area of the Window s task
bar. Alternatively, press the key combination <CTRL+M> .
Refresh Refres hes the display of all connected CmContainer . Alternatively, press the key <F5> .
Zoom in Enlarges the display in the Events tab area. Alternatively, press the key combination <CTRL>++ .
Zoom out Scales dow n the display in the Events tab area. Alternatively, press the key combination <CTRL>+ -.
Copy Event Content Copies the event actions in the Events tab area to the clipboard. Alternatively, press the key combination
<CTRL>+C .
Clear Event Content Deletes the event actions in the Events tab area. Alternatively, press the key combination <ALT>+C .

33
CodeMeter Administrator Manual 7.40b - April 2022

Element Description
Show all connected CmContainer Show s all connected CmContainer including details in the Events tab area. Alternatively, press the key
combination <ALT>+S .
List all open Handles Show s all open handles in the Events tab area. Handles w ork as references for the developer for further
programming.
Show all available License Entries Show s all CmContainer license entries in the Events tab area. Alternatively, press the key combination
<ALT>+E .
Borrow visible Toggles betw een a visible and not visible Borrow ing tab area.
By default, starting w ith CodeMeter V ersion 6.00a this tab area is not visible.
Help Menu
Element Description
Help Opens the CodeMeter online help. Here you access the help files on CodeMeter License Server and
CodeMeter Control Center .

Register CmDongle Opens the secure w ebsite https://my.codemeter.com to register CmDongles .


About Informs on the started CodeMeter Control Center version.
1.6.3 License Tab
The "License" Tab s hows you information on connected Cm Container and provides some options to configure connected
Cm Conta iner. Moreover, you are able to update licenses located in your Cm Conta iner using th e Cm FAS Assista nt
39 .

Figure 5: CodeMeter Control Center License Tab

Element Description
Name Changes and displays the name of the selected CmContainer. In the subsequent dialog you can edit the
name.

Figure 6: CodeMeter Control Center - Change Name of a


CmCont iner

Flas hes the LEDs of the selected CmStick . This eases the identification of a CmStick , if several CmSticks
are connected.
Updates the firmw are of the selected CmDongles . This guarantees the correct execution of essential
functions, and solves eventually occurring problems.

34
Manual
CodeMeter Control Center

Element Description

When you execute a firmw are update, you require an Internet connection.
Then CodeMeter Control Center automatically connects to the Firmw are Update Server of Wibu-
Systems.
You are prompted to enter your CmDongle Passw ord in order to confirm this action.

The update may take a couple of minutes. You must not remove the CmDongle before this process
is finis hed. Otherw ise, irreparable damage of the CodeMeter SmartCard Chip may occur.
Capacity Informs on the capacity of the CodeMeter SmartCard Chip of a selected CmDongle. The capacity is
displayed in percent format, and by number of absolute bytes.
Please note that this value tells nothings about the memory allocation of an eventual flas h memory of
a CmDongle.
Status The status group informs on the activation status of the selected CmDongle.
Color Status
The connected CmContainer is disabled. No licensed application can use license information in
the CmContainer.
This is may be the case, if a CmActLicense license is 'broken'.

Then the "Repair license" button is available to eventually repair the license. If this is not
successful, the follow ing error message displays. In this case, only a reactivation is helpful.
Please contact your softw are vendor.

For information on eventual reasons for a 'broken' license als a look at the log on the
Events 37 tab may be helpful.
The CmDongle is enabled as long as it is connected. If the CmDongle is removed from the PC,
automatically the licensed access by applications is deactivated.
The CmContainer is fully enabled. In the case of a CmDongle, the licensed access of
applications is still featured even if the CmDongle is removed.
Wibu-Systems recommends the activation status "Enabled until plugged out".
This ensures that even w hen a CmDongle is lost, unauthoriz ed access to the licenses and personal
data in the CmDongle is not possible.
Changing Activation Status
In order to c hange the activation status, please proceed as follow s:

35
CodeMeter Administrator Manual 7.40b - April 2022

Element Description
1. Select the radio button of the desired status option.
2. Enter the CmDongle Passw ord in the follow ing dialog.

The default passw ord for CmDongle is "CodeMeter".

Figure 7: CodeMeter Control Center - Enter Passw ord


3. Click the "OK" button to confirm the status c hange.
License Update Click this button to request new , or update existing licenses for selected CmContainer. The CodeMeter
Field Acti vation Service (CmFAS) Assistant 39 opens.

Figure 8: CodeMeter Control Center - CmFAS Assistant


Eject Click this button to disconnect the selected CmDongle. The CmDongle logs off from the operating system,
and can be safely removed from the PC.
Change Password Click this button to c hange the passw ord of the selected CmDongle. In the follow ing "Change Password"
dialog please complete the respective fields.

Figure 9: CodeMeter Control Center - Change Passw ord


1. Enter in the "Old Password" field the currently used CmDongle passw ord.

The default passw ord for CmDongle is "CodeMeter".


2. Enter in the "New Password" field the new desired CmDongle passw ord.
3. Re-enter in the "Retype Password" field the new desired CmDongle passw ord.
If you forgot the CmDongle passw ord, you have the option to set a new CmDongle passw ord
by using the CmDongle Master Passw ord.

36
Manual
CodeMeter Control Center

Element Description
4. Click the "OK" button to confirm your input.
5. Activate the "Input Master Password" option and specify your CmDongle Master Passw ord in the "Old
Password" field.

A Master Passw ord you have received w hen you registered at the w ebsite my.codemeter.com.
In order to register, use the "Help | Register CmDongle" menu item.
A registration bears several advantages and serves to provide security w hen using CodeMeter.
Only w hen you are registered loosing the ow n passw ord can be remedied by requesting a Master
Passw ord.
1.6.4 Events Tab
This tab displays information at start and at runtime of CodeMeter License Server and comprises the following items:
· number of connected Cm Container
· number of Cm Container entries
· number of found license container at the Firm Item level
· accesses to CodeMeter L icense Server
You configure the display of the event list using the "View | ... 33 " menu item.
You log the content for the event view using the "File | Logfile 33 " menu item.

1.6.5 Borrowing Tab


By default, starting with CodeMeter Version 6.10 this tab displays only, if borrowing clients entries exist
programmed with the 'old' borrowing using prepared Cm Container.

This tab informs on borrowable licenses as a feature of CodeMeter license borrowing. Then licenses can also be used when
the access to license information does not require to be connected to the license server.
You can toggle the view of this tab using the "View | Borrow visible " menu item.

Figure 10: CodeMeter Control Center - Borrow ing Tab


License Server
On the right, you see all licenses available for the 'License Borrowing' feature. The licenses are ordered by existing license
server, Firm Items, and Product Items. The displayed licenses either are borrowable or inactive.

You can borrow only active licenses. You recognize active licenses by the colored symbol and the activated "Borrow "
button.

37
CodeMeter Administrator Manual 7.40b - April 2022

Figure 11: CodeMeter Control Center - Borrow Licenses


1. Click on the "Borrow " button to borrow licenses from the license server for the local PC.
Local PC
On the left, all licenses borrowed for the local use on a PC from a license server are displayed.
These licenses are deactivated according to the defined borrowing period. However, you also have the option to return
borrowed licenses before the borrowing period expires.
1. Click on the "Return" button to return borrowed licenses, and make them available again for the license server.

Figure 12: CodeMeter Control Center - Return Licenses

For refres hing the display of the tab press the key <F5> or the "Refresh" button.

1.6.6 Status and Starting CodeMeter WebAdmin


Status
This area displays information on the CodeMeter License Server status, i.e. if this service is started or not. If you want to
change the status, use the "Process | Stop CodeMeter Service" or "Process | Start CodeMeter Service" menu items.
WebAdmin
Click this button to open CodeMeter WebAdm in. Alternatively, you can use the "File | WebAdmin" menu item.

38
Manual
Importing and Updating Licenses

1.7 Importing and Updating Licenses


The Cm FAS Assistant 39 supports you in importing and updating license files for your Cm Container. Alternatively 116
, you can
also use the command line program cm u - CodeMeter Universal Support Tool.
Using various dialogs you manually create license requests, import license updates, and, optionally, create receipts for these
operations the end-user then sends to the software vendor. Using license files also allows the activation of licenses on a PC
which has no direct Internet access. The figure below illustrates this process.
Please note that importing license updates files (*.WibuCmRaU) is currently not supported for a Cm Container in
operation.
Before a license update, please save your work and close all other running CodeMeter© protected applications which
access licenses on the target Cm Container.

Figure 13: CmFAS - File-based Remote Update

1.7.1 The CmFAS Assistant in CodeMeter Control Center


Please note that importing license updates files (*.WibuCmRaU) is currently not supported for a CmContainer in
operation.
Before a license update, please save your work and close all other running CodeMeter© protected applications
whic h access licenses on the target CmContainer.
1. Open CodeMeter Control Center. If several Cm Container are connected to the computer, select the desired Cm Container.
2. Click on the "Update License" button.

39
CodeMeter Administrator Manual 7.40b - April 2022

Figure 14: License Update - CodeMeter Control Center


The CodeMeter Field Activation (CmFAS) Assistant opens with a welcome dialog.

Figure 15: CmFAS Assistant


3. Click the "Next" button.
1.7.1.1 Create License Request File
The starting dialog prompts you to proceed. There you select from creating a license request, import a license update you
received from the software vendor, or, optionally, create a receipt after an update to send it to the software vendor. After your
selection click the "Next" button.

40
Manual
Importing and Updating Licenses

Figure 16: CmFAS - Create License Request


1.7.1.11 Extend Existing License
On creating a license request, you select whether you want to extend an existing license, or add a license of a new vendor. After
your selection click the "Next" button.

Figure 17: CmFAS – Extend existing License


When you extend an existing license, select the software vendor(s) for which you want to create a license request. After your
selection click the "Next" button.

Figure 18: CmFAS - License Extension - Select V endor


The next dialog allows you to save the license request file to a desired location. Then click the "Com m it" button to create the
file. This file you then can send by e-mail to the software vendor.

41
CodeMeter Administrator Manual 7.40b - April 2022

Figure 19: CmFAS – License Extension – Save File


Finally, a dialog displays which confirms the successful creation of the license request file. Click the "Finish" button to close
the dialog.
1.7.1.12 Add a License of a new Producer
On creating a license request you can decide to extend an existing license, or to add a license of a new vendor. Select "Add
license of a new vendor" and click the "Next" button.

Figure 20: CmFAS – New License


In the next dialog, specify the Firm Code you received by the software vendor, and click the "Next" button.

Figure 21: CmFAS – Firm Code


The next dialog allows you to save the license request file to a desired location. Then click the "Com m it" button to create the
file. This file you then can send by e-mail to the software vendor.

42
Manual
Importing and Updating Licenses

Figure 22: CmFAS - Save File


In both case, either when extending or adding a license you receive a confirmation the license request file has been
successfully created. Click on the "Finish" button to complete this process.

Figure 23: CmFAS - Receipt

1.7.1.2 Import License Update


Please note that importing license updates files (*.WibuCmRaU) is currently not supported for a CmContainer in
operation.
Before a license update, please save your work and close all other running CodeMeter© protected applications
whic h access licenses on the target CmContainer.
In order to import a license update, in the start dialog select the respective option, then click the "Next" button.

Figure 24: CmFAS - Import License Update


In the next dialog, select the file name you used when saving the license update file you received. Then click the "Com m it"
button to import the license update file.

43
CodeMeter Administrator Manual 7.40b - April 2022

Figure 25: CmFAS - License Update - Save File


The following dialog confirms the successful import. Optionally, you can send a receipt to the software vendor. This option you
also have in the start menu. Click the "Finish" button.

Figure 26: CmFAS - License Update - Receipt

1.7.1.3 Create Receipt


In the start menu, select the option "Create Receipt", then click the "Next" button.

Figure 27: CmFAS - Create Receipt


In the next dialog, select the software vendor you want to send the receipt to, then click the "Next" button.

44
Manual
Importing and Updating Licenses

Figure 28: CmFAS - Create Receipt - Producer


Save the receipt file using the "Com m it" button and send it to the software vendor.

Figure 29: CmFAS - Create Receipt - Save File


The successful creation of the receipt file is confirmed in the next dialog. Click on the "Finish" button to complete this process.

Figure 30: CmFAS - Create Receipt - Receipt

45
CodeMeter Administrator Manual 7.40b - April 2022

1.8 CodeMeter WebAdmin


With CodeMeter WebAdm in you obtain information on connected Cm Container and available licenses stored in them. In
addition, you configure the service CodeMeter License Server. In detail, CodeMeter WebAdm in provides many configuration
and analysis options in the following areas:
· status information: host 50 , Cm Container 51
· configuration 65 : use as network server, proxy settings, access protection, remote access, time server, backup
· display 59 : display of all existing licenses locally and on the network, view of license conditions, session information
· management 61 : management of network licenses by manual allocation of licenses
· diagnosis 65 : logging
· backup 74 .
The following list briefly describes terms which recur on single pages in CodeMeter WebAdm in.
Term Description
Access Mode see: Status
Activation Time Informs on the activation time of a license, i.e. the start time of a valid license.
Borrow Licenses Informs on existing borrow ed licenses, the borrow ing period, and a unique security identifier (SID) w hen
used on a netw ork.
Currently Borrow s Licenses Number of the currently borrow ed licenses.
Expiration Time Informs on the expiration date of a license, i.e. w hen the license expires.
Extended Protected Data Additional entry field for binary data for the licensor.
Feature Map Informs on licenses w hic h the licensor delivers w ith different functionalities and modules, or in different
versions. These are mapped by Feature Maps describing a special functional scope. The value specified here
informs on the valid functionality or the activated module/version.
Firm Code Number w hic h identifies the separate license container of a licensor.
Hidden Data Additional entry field for binary data for the licensor.
Implicit Firm Item (IFI) The license container holding licenses the users are able to use only w ith their CmDongle Passw ord. This
license container is identified by the number of "0".
License Quantity Informs on the total number of licenses available for a license.
Linger Time Informs on the time how long the license lingers after the license is re-allocated after the protected application
is closed.
Maintenance Period Informs on the period in w hic h a protected version of the softw are has to be released to represent a
licensed version. The start and the end of the period displays.
n/a Informs that no related entry exists for this license (not available).
Named User informs about licenses that have Named User entries. V alues are UserName, UserDomain, UserDefined,
SingleAllocation for single NamedUser entries or name lists w ith ID (NameList(NameListId)).
Product Code Number w hic h identifies the license entry, i.e. a product, of a licensor.
Protected Data Additional entry field for binary data for the licensor.
Secret Data Additional entry field for binary data for the licensor.
Status Informs on how the number of started instances of a protected softw are relates to the allocation of licenses
(access modes).
User Limit: here eac h started instance allocates a license.
Shared: here several started instances of the same application on the same PC allocate only a single license.
Exclusive: here a protected application runs only once on a PC.
No User Limit: here any number of started instances of the protected application can be started on the
netw ork w ithout allocating additional licenses.
Unit Counter Informs on licenses w hic h are billed by use (pay-per-use, pay-per-print, etc.). This is implemented by
counters w hic h are decremented on use of a product. The value specified here informs on remaining units
for the use of a license.
Universal Data informs on the different Universal Data types (keys, data, passw ords) and permissions for read, w rite,
and/or use access.
Usage Period Informs on the usage period of a license. The value specified here informs on the use of a licenses in days.
The value can also be bound to a starting time for the validity of a license.
User Data Additional entry field for binary data for the licensee.
Table 2: CodeMeter W ebAdmin - Terms in License Display
If CodeMeter WebAdm in s hould not start, please proceed as follows:
1. Check if the used Internet browser is not set to "offline mode".
46
Manual
CodeMeter WebAdmin

2. Check the JavaScript support of your Internet browser.

JavaScript must be activated for effective using CodeMeter WebAdm in.

3. Type in the URLs: http://localhost:22350 or http://127.0.0.1:22350 directly in the address field of your Internet
browser.
The use of TCP/IP in CodeMeter
The communication between protected applications and CodeMeter License Server bases on the Transmission Control
Protocol/Internet Protocol (TCP/IP). This is valid not only for locally existing licenses, but also for licenses which are provided
via a network.
By default, CodeMeter uses the port 22350 registered by Wibu-Systems at IANA (Internet Assigned Numbers Authority) and
uniquely assigned for the CodeMeter communication. The list of assigned ports can be viewed at
www.iana.org/assignments/port-numbers.
In order to make available a client access to a CodeMeter License Server on the network, a communication using the
CodeMeter port must be supported. If th e server s h ould locate in anoth er network area, eventually th e port must be made

known and accessible as part of the infrastructure (router, firewall, etc.).


For the direct access to CodeMeter License Server on the network, the communication bases on TCP. For an automatic search
of servers on the network, additionally a broadcast via UDP (User Datagram Protocol) is performed (it is listened only at server
search time and only until the end of the UDP Waiting Time).
The access using the CodeMeter port is performed only for the access to CodeMeter License Servers and this only
within the organization which runs the network server.
In particular, using this port no communication into the internet is performed.

In CodeMeter settings of CodeMeter WebAdm in an option exist to configure 75 the CodeMeter port to a value other than the
default of 22350. However, such a change s hould have plausible reasons, e.g. in the case of parallel test environments on the
same network. In addition, such a change requires the same configuration of all affected CodeMeter License Servers.
1.8.1 Basics
TCP/IP based
Communication between CodeMeter WebAdm in and connected Cm Container is browser-based and uses network
components. Thus the installation of the network protocol TCP/IP is required, and access must be granted to the localhost.

However, an actual connection to the Internet is not establis hed.

Network Server and Server Access


By default, CodeMeter License Server is only available locally (localhost).
A change of the remote access to CodeMeter WebAdmin 69 during operation requires a restart of the Cm WebAdm in
service. Please note the firewall settings.

Firewall Settings
Please also note that the settings of your firewall do not block communication.

CodeMeter License Server uses a specific IP port (defaulted on 22350) to communicate with your PC and the network.
This network port is registered at IANA (Internet Assigned Numbers Authority) and uniquely assigned for CodeMeter
communication.
Make sure that your firewall is not blocking this port. Enable the used IP port 22350 and make sure it is accessible by
CodeMeter, i.e. s h are th e communication for th is IP port.

If the CodeMeter WebAdm in communication is required not only locally but also in server operation, you must also
release port 22352 (in the case of HTTPS, port 22353), since port 22350 is automatically forwarded.

Communication Mode
By editing registry or server entries you are also able to define which communication mode CodeMeter License Server uses.
The following table s hows you where for which operating system you find the profiling to set the communication mode.
Operating system Registry / Server Entry
Window s HKLM/SOFTWARE/WIBU-SYSTEMS/CodeMeter/Server/CurrentVersion
macOS /Library/Preferences/com.wibu.CodeMeter.Server.ini

47
CodeMeter Administrator Manual 7.40b - April 2022

Operating system Registry / Server Entry


Linux /etc/wibu/CodeMeter/Server.ini
The parameter ApiCommunicationMode . is available for setting the mode. The following properties are available:
CodeMeter -V ersion Properties
smaller than 4.40 '1 ' TCP/IP (Default)
'2 ' Shared Memory
starting w ith 4.40 '1 ' Platform-specific (Default)
Platform-specific defaults:
· Window s: IPv6, IPv4; Shared Memory
· Linux/macOS:IPv6, IPv4
· WinCE: IPv4, Shared Memory
'2 ' Shared Memory
'4' IPv4
'8' IPv6
Single modi may be combined.

Wibu-Systems recommends to use the relevant default settings, if no justified reasons suggest otherwise.

1.8.2 Open CodeMeter WebAdmin


CodeMeter WebAdm in is a web-based tool to be displayed with any standard internet browser.
The following table s hows existing start options.
Operating System Start
· via CodeMeter symbol in the task bar (right mouse-click) and selection of 'WebAdmin' item.
Window s
· via the 'WebAdmin' option in CodeMeter Control Center
· directly in your Internet brow ser w hen typing in the URLs: http://localhost:22352 or http://127.0.0.1:22352.
· via CodeMeter in the task bar (right mouse-click) and selection of 'WebAdmin' item.
macOS / Linux
· via the 'WebAdmin' option in CodeMeter Control Center
· directly in your Internet brow ser w hen typing in the URLs: http://localhost:22352 or http://127.0.0.1:22352.

If CodeMeter WebAdm in s hould not start, try the following:


1. Check if the used Internet browser is not set to "offline mode".
2. Check the JavaScript support of your Internet browser.

JavaScript must be activated for effective using CodeMeter WebAdm in.

3. Type in the URLs: http://localhost:22352 or http://127.0.0.1:22352 directly in the address field of your Internet
browser.

On all pages you are able to select from a list of available server.
Right to the display "Current Server" followsthe name of the actual PC on whic h the service CodeMeter License Server
is started. A searc h request using the port 22352 is sent to the network. For c hanging the server, please proceed as
follows:
1. Click the icon.
A dialog displaying a list of all available server displays.

48
Manual
CodeMeter WebAdmin

Figure 31: CodeMeter W ebAdmin – Available Server


2. Select another PC on whic h CodeMeter is also started and the service CodeMeter License Server runs .
The entry changes color to orange and the "Apply" button becomes operable.
3. Click the "Apply" button.
4. Check the "Use IP Address" check box, if you want to use the IP address.
1.8.3 Operating
CodeMeter WebAdm in uses the following elements covering the navigation through the pages, the display of information, and
actions.
Navigation element Description
Classical tab menu including dropdow n controls.

Breadcrumb trail navigation area.


Expand or collapse additional detailed information.
or
The pictograms inform on Read and Write access. On mouse over tool tips display additional access mode
details. A click on a pictogram opens - if required - the login on a separate page.
Depending on the configured access modes a dropdow n menu provides the follow ing entries:
· Allow w rite access
· revoke read access
· Revoke read/w rite access
For access settings see WebAdmin configuration page 69 .
A click on a pictogram opens - if required - the login on a separate page.
Display element Description
Image to s how that the CmContainer is a CmDongle.

Image to s how that the CmContainer is a CmActLicense.

Image to s how that the CmContainer is a CmCloudContainer.

Image to s how that the CmContainer is a virtual vCmContainer.

Information icon c hanging its color from orange to red informs on important information to read and respond, e.g.
restarting of CodeMeter License Server.
Icon displaying license transfer options.
Hover over control c hanges color to orange and displays information. A click advances to the Product Item detail page.
Icon displaying license transfer history.
Hover over control c hanges color to orange and displays information. A click advances to the Product Item detail page.

49
CodeMeter Administrator Manual 7.40b - April 2022

Action element Description


Opens a dialog to select available server.

Defragmenting of the CmDongle c hip memory.

Updating the Certified Time of the CmContainers using a CodeMeter Time Server.

Adds a new entry to a list.

Deletes a list entry.

Moves up a list entry a level higher.

Moves dow n a list entry a level low er.

1.8.4 Dashboard
The das hboard displays basic server information on the CodeMeter runtime.

Figure 32: CodeMeter W ebAdmin – Das hboard

Element Description
Current Server Name of the mac hine on w hic h the service CodeMeter License Ser ver has been started.
IP Address Show s information on the netw ork address in use.
Operating System Show s information on the operating system in use.
Server Startup Show s information on the start time of the server.
Server Version Show s information on the CodeMeter version on the server.
Runtime Version Show s information on the CodeMeter runtime in use.
Certificate expiration Optionally s how s details on certificates expiration times, if HTTPS has been selected as protocol
time
and self-signed certificates are used as defined on the WebAdmin configuration page 70 .

1.8.5 Container
Using the Container navigation item finds information on connected Cm Container. This covers:
· licenses 51 including detailed information on Firm Items 52 and Product Items 52 .

50
Manual
CodeMeter WebAdmin

· CmContainer Info 55
· User data 56 including detailed information on Product Items 57

· Backup and R estore 57

If you open a selected Cm Container using CodeMeter Control Center, only this single Cm Container displays. At the
same time, the tab Licenses opens. This also is the case, if you select a single Container from the list of All Containers.
Click All Containers to open a clear overview of all connected Cm Container.

1.8.5.1 Licenses
The expanding area "Licenses" displays all licenses the selected Cm Container holds.

Figure 33: CodeMeter W ebAdmin – CmContainer Details - Licenses


The display of licenses is ordered by different vendors. A vendor is uniquely identified by number value, the Firm Code, and a
name. For example, in the figure above this is the Firm Code "600010" of "Vendor 1".
All related products, i.e. the licenses, are listed below the single licensor holding the respective Product Code, defined by a
unique number value.

· If a license is expired or an Unit Counter has reached a value of 0, the license entry is in red writing.

· If you see the pictograms, then a license transfer 91


is involved with the respective Firm Codes or Product Codes.

inform on License Transfer Options

informs on the License Transfer History


On hovering the pictograms a separate popup informs, if clicking the pictogram, the Firm Item Detail 52
- or
Product Item Detail 52 page opens.
· Arrow symbols attached to sub-Product Code items indicate that Module Items 101
exist.

In the figure above, this is, for example, the product "Spreads heet Application" with the Product Code of 13 or the product "Chart
Application" with a Product Code of 14. In addition, you obtain further information 46 on existing Unit Counter, Valid Until (Usage
Period, Expiration Time, Activation Time), License Quantity and Feature Map.

51
CodeMeter Administrator Manual 7.40b - April 2022

Click on the highlighted Firm Code 52 entry for the display of more detailed information on the license conditions of products by a
specific vendor.
Click on the highlighted Product Code 52 ,entry for the display of more detailed information on the license conditions of products
by a specific vendor.
1.8.5.2 Firm Item Details
This page displays detailed information on:
· Firm Item options of the selected Cm Container

Element Description
CmContainer Name of the CmContainer including mask and serial number.
Firm Access Displays the Firm Access Counter reading. The Firm Access Counter (FAC) locates at the Firm Item level of a CmContainer.
Counter
This counter allow s to control w hether a Firm Item can be used for encryption purposes.
By default, the FAC is deactivated and has a value of 65535 (0xFFFF) . It can be programmed by the softw are vendor
to any other value.
Firm Update Displays the Firm Update Counter (FUC) reading. This counter is automatically incremented on programming.
Counter
Firm Precise Time Displays the time of the Firm Item -programming.

· the licensing of products of a specific software vendor.


In the following figure, for example, you see all licenses of "Vendor 1" (Firm Code 600010). Additional information 46 covers
Product Code, CmContainer serial number, Name, Unit Counter, Valid Until (Usage Period and/or. Expiration Time),
License Quantity and Feature Map.

Figure 34: CodeMeter W ebAdmin – Firm Item Details

1.8.5.3 Product Item Details


This page displays detailed licensing information of products of a specific vendor.
The following figure s hows all available information 46 on the product "Word Processing Application" with a Product Code "10" of
the software vendor at the Firm Item level with a Firm Code of "6000010".

The license properties as displayed in the figure above are not always set. The display of your license may differ.
If license properties (Product Item Options) display in red, these properties are invalid.

52
Manual
CodeMeter WebAdmin

Figure 35:CodeMeter W ebAdmin – Product Item Details

Element Description
Product Item Options In the first column you see the Product Item Options and the display in the case of data fields the index field via
the # c haracter. These are license properties set by the licensor. For illustrative reason the figure lists all
options. When listed in other cases, not all of these options 46 are alw ays displayed.
In the figure above you see that the license has been borrow ed for the local use.
Size (Bytes) The column the number of bytes a listed license property allocates.
Dependencies The column informs w hether a licensor has set dependencies for the programming sequence of the
a
CmCont iner .
Values The final column displays the stored value of the single license property.
Display of Universal Data (UvD)
The detailled information of the Product Item Option Universal Data (UvD) informs on the UvD data types and respective access
permissions for different access modes.

53
CodeMeter Administrator Manual 7.40b - April 2022

Figure 36: CodeMeter W ebAdmin – Product Item Details -Universal Data (UvD )

Element Description
Product Item Options The column informs about the Product Item Option and displays the index field via the # c haracter.
Size (Bytes) The column the number of bytes a listed license property allocates.
Dependencies The column informs w hether a licensor has set dependencies for the programming sequence of the
a
CmCont iner .
Values The column informs about the used UvD data type (Key, Data and Passw ord).
Permissions The column informs for eac h type of access (read , write, use) about the access permissions w ith the values
denied , unrestricted or w ith password required . The field index(es) s how w hic h #-index field contains required
passw ords (a single passw ord or additionally w ith master passw ord).

54
Manual
CodeMeter WebAdmin

1.8.5.4 CmContainer Info


The expanding area "Cm Container Info" displays information on the selected Cm Container.

Figure 37: CodeMeter W ebAdmin – CmContainer Info


The following information and elements are available.
Element Description
Name Show s the Name of the selected CmContainer. If you w ant to c hange the name of your CmContainer, use
CodeMeter Control Center .

Serial Number Show s the Serial Number of the selected CmContainer.


CmContainer Type Show s the Type of the selected CmContainer.
First Device Show s the drive information of the selected CmDongle if configured as Mass Storage Device.
Alternatively to the Mass Storage Device status, the CmDongle can display as HID w ithout a drive status.
Eac h status can be configured 141 .

The drive siz e is only displayed in the case of CmDongles w ith Flas h memory.
Status Show s the current activation status of the selected CmContainer. The follow ing status settings are
displayed:
· Disabled :
The connected CmContainer is deactivated and not usable by any application.
· Enabled until Unplugged :
The CmDongle is activated as long as it is connected and supplied by electrical energy. After removed
from the PC the CmDongle is automatically deactivated.
· Enabled :
The CmContainer is fully activated. If a CmDongles is removed, the license access is still possible after
plug out.
· Empty:
The CmContainer is empty and must yet be activated (CmActLicense - LIF).
You c hange the activation status of a CmContainer using CodeMeter Control Center 32
.
Wibu-Systems recommends the activation status "Enabled until Unplugged" w hen using CmDongles .
This ensures that even w hen a CmDongles is lost, unauthoriz ed access to the licenses and
personal data in the CmDongle is lost, unauthoriz ed access to the licenses and personal data is not
possible.
System Time (PC) Show s the System Time (local time on the PC) w hen the service CodeMeter License Server has started.

55
CodeMeter Administrator Manual 7.40b - April 2022

Element Description
System Time (CmContainer) Show s the saved System Time (internal time) of the CmContainer.
These tw o system times may differ due to the pending sync hroniz ation process.
Certified Time (CmContainer) Show s the Certified Time saved in the CmContainer. In order to update the Certified Time of your CmContainer

using a CodeMeter Time Server, click the button. This action is confirmed by a dialog.

Figure 38: CodeMeter W ebAdmin - Update Certified Time


Free Memory Show s the Free Memory of the SmartCard c hips of a CmDongle, i.e. how muc h space is available for the
programming of additional license entries.
Defragment
Click the button to defragment the memory of the CmDongle c hip.

1.8.5.5 User data


The expanding area "User Data" displays detailed information 46 on products (licenses) the user is able to use only explicitly
with the personal Cm Dongle Password. The Firm Code in this case has a value of "0".

Figure 39:CodeMeter W ebAdmin – User Data

56
Manual
CodeMeter WebAdmin

1.8.5.6 User Data Details


The "User Data Details" page displays detailed Product Item information 46
on products (licenses) the user is able to use only
explicitly with the personal Cm Dongle Password.

Figure 40: CodeMeter W ebAdmin – User Data Details

1.8.5.7 Backup and Restore


The expanding area "Backup and Restore" allows you to save personal data located in your Cm Dongle, and restore them in
the Cm Dongle.

This area does not display for the Cm Container Types Cm ActLicense and Cm CloudContainer.

Note, that the backup and restore mechanism only comprise the user data in the Cm Dongle but no license information
of other licensors. Backup and restore exclusively relates to the license container with the Firm Code "0".
In order to restore licenses which do not locate in the personal area (Firm Item levels unequal to Firm Code "0" ), please
contact Wibu Support.

57
CodeMeter Administrator Manual 7.40b - April 2022

Figure 41: CodeMeter W ebAdmin - "Backup and Restore"

Area Description
Backup 1. Click the "Backup now " button to apply an instant backup of your personal CmDongle data (user
data). In addition, the time of the Last Backup is displayed.
2. Confirm the follow ing dialog to create the backup file.

Restore 1. Click the "Brow se" button to select the backup copy w hic h is to be restored. The location of the
backup file displays.
2. Click the "Restore" button to start the restoring process.
3. Confirm the follow ing dialog and click the "OK" button.

If you import a backup into the CmDongle, all c hanges after the backup w as created are lost.

4. Enter the Passw ord of the CmDongle in w hic h the backup file is to be imported.

58
Manual
CodeMeter WebAdmin

You are also able to import the saved data into another CmDongle. Please note, how ever, that
the second CmDongle must have the same passw ord !

1.8.6 License Monitoring


The "License Monitoring" page displays all existing licenses and their allocation ordered by licensors and related licenses.
Next to describing information on Product Code , Name , and Feature Map, the column License Quantity s hows the respective
total number of available licenses..
Shared and Available Licenses
In addition, an expandable area structures the licenses according to access modes (User Limit (Borrow ed), No User Limit,
Exclusive , Shared) and s hows available licenses.

Figure 42: CodeMeter W ebAdmin – "License Monitoring | Available"


Element Description
User Limit Here eac h started instance allocates a single license. It does not make a difference if the CmContainer w as found
locally, or on a netw ork.
In brackets the number of borrow ed licenses display, if existent.
Station Share Here multiple instances can be started on a single PC but allocate only a single license.
You use this setting, for example, w hen you w ant to provide the end-user w ith the option of starting the
application several times. On a terminal server eac h session allocates a license. In virtual mac hines eac h
mac hine allocates a license.
StationShare avoids unnecessary duplication of license allocation by ensuring that license accesses - locally
or over a netw ork - and the defined allocation sequence do not overlap.

59
CodeMeter Administrator Manual 7.40b - April 2022

Element Description

For example, if a license access (handle) made via netw ork (LA N) w ith StationShare w ill be detected, then
no new license w ill be assigned locally despite the defined allocation sequence (first locally, then via
netw ork, i.e. LOCAL_LA N tag).
In addition, if a license is already accessed locally, no new license access (handle) w ill be made via the
netw ork, if the local access could also be made via StationShare.
Exclusive Here a protected application can be started only once on a PC.
No User Limit Here any number of instances of the protected application can be started locally or in a netw ork, and no additional
licenses are allocated. Allocated licenses in this mode can be re-used.
1.8.6.1 License Monitoring Details
The "License Monitoring Details" page displays detailed information on the license allocation.

Figure 43: CodeMeter W ebAdmin – "License Monitoring | License Monitoring Details"


For example, in the figure above you see:
· the licenses for the application derive from the licensor with the Firm Code 600010 and describe the product with the Product
Code 14.
· the licenses are stored in the Cm Container with the mask and serial number 3-3448482.
· in total 1 client, identified by ID, Client (::1(WIBU \ fs) and Client Process ID columns, 4 times accessed the application
"Chart Processing" using Station Share. Here multiple instances can be started on a single PC but allocate only a single
license. An access from another PC would be possible as the upper table (Total 2, Available 1) s hows.
StationShare avoids unnecessary duplication of license allocation by ensuring that license accesses - locally or over a
network - and the defined allocation sequence do not overlap.
For example, if a license access (handle) made via network (LAN) with StationShare will be detected, then no new license
will be assigned locally despite the defined allocation sequence (first locally, then via network, i.e. LOCAL_LAN tag).
In addition, if a license is already accessed locally, no new license access (handle) will be made via the network, if the local
access could also be made via StationShare.
· There is no expiration date.
· Client ::1(WIBU \ fs for the first time accessed the application (First and Last Access columns are of same date).
· Using the pictogram of the Action column allows you to deallocate single accessed licenses..

You cannot deallocate and reallocate borrowed licenses before they have been returned.

60
Manual
CodeMeter WebAdmin

For example, this is necessary when all licenses are allocated but an additional instance of the application needs to be
started.

After deleting of an access the license is deallocated and available again. The client of the application receives a
respective error message.

1.8.6.2 Sessions
The "License Monitoring | Sessions" page displays all existing licenses ordered by users actually logged on (Clients ).

Figure 44: CodeMeter W ebAdmin – "License Monitoring | Sessions"


Here you obtain all describing information 46 on the CmContainer , licensor (Firm Item ), license (Product Item ), and Access
Mode .

1.8.6.3 License Tracking


The "License Monitor | License Tracking" page allows you to track who, when, from where, how often uses server licenses of
CodeMeter -protected applications.

For Windows operating systems you find the profiling entries stored in the registry, for other operating systems entries
are set in the file server.ini. The following table s hows you the respective locations.
Operating system Registry / Server.ini Entry

Window s HKLM/SOFTWARE/WIBU-SYSTEMS/CodeMeter/Server/CurrentVersion
macOS /Library/Preferences/com.wibu.CodeMeter.Server.ini
Linux /etc/wibu/CodeMeter/Server.ini
There exist two relevant profiling entries for License Track ing.

61
CodeMeter Administrator Manual 7.40b - April 2022

Entry Property V alue

LogLicenseTracking [DWord] [0;1]


Default value is is 0 and Logging for License Tracking is disabled.
LogLicenseTrackingPath [SZ] <path>
Default path on Window s operating systems is %ProgramData%
\CodeMeter\LicenseTracking.
For other operating systems the default path has the same value of the general
profiling entry LogPath .

Please note that you must stop the CodeMeter License Server service, make the change, and then restart the
CodeMeter L icense Server service before th e ch ange can take effect.

On the basis of selectable Firm Codes, log files and licenses, accesses are displayed graphically and in detail. The created
report may serve to use information on license requests and denials for saving license costs and create forecasts or
prognoses.
Using a separate navigation the number and origin of allocated, rejected or released licenses can be tracked according to
specified view modes (month, day, hour). Clicking on the displayed bars s hows more details on the use of licenses.
For using license tracking, please proceed as follows:
1. Select the desired Firm Code using the field "Select Firm Code ".

Click the "Reload" button to update the displayed Firm Codes.


2. Select the log file using the field "Select logging period".

Click the "Reload" button to update the logging period entries.


3. Select the license to be tracked using the field "Select license ".

4. Click the button "Create report".


The separate area Navigation:

· informs on the view mode (Month, Day, Hour),


· s hows the tracked period (From - To),
· allows to browse back and forward in time periods and switch back to the previous view mode.
Below the selection area a bar chart displays s howing the maximum number of allocated licenses and rejected requests
over time.

62
Manual
CodeMeter WebAdmin

The default is set to the view mode month.


5. Move over a colored bar to open an over-layered dialog for information display.

6. Click left to change to view mode Day.


For switching back to the view mode Month you may use the arrow symbol in the Navigation area.
7. Move over a bar again tom switch to the view mode Hour .

8. Move over a bar again and left click to open the separate Details area.

Detailed information and separate tables for single bars list details on Active Users , Rejected Requests and All Events .

Active Users (ID, Client, User)

63
CodeMeter Administrator Manual 7.40b - April 2022

Rejected Requests (Second, Event Type, Client, User)

All Events (Second, Event Type, ID, Client, User)

The detail view uses the following elements:


Element Description
ID uniquely discerns requesting / accessing processes.
Client identifies the IP address of the requesting / accessing mac hine.
User identifies the user requesting / accessing the license.
Second informs on the second time value.
Event Type Denial
describes that a user requested a license but did not get one because no more licenses could be allocated.
It w ill not s how license requests of licenses that do not exist on this server.

64
Manual
CodeMeter WebAdmin

Element Description
Access
describes that a license on a server is allocated to a user.
Release
describes that a user has released a formerly accessed license on a server.
1.8.7 Diagnosis
The "Diagnosis" page allows you to log all events related to the CodeMeter License Server service .
1.8.7.1 Events
The "Diagnosis | Events" page provides information which supports you in detecting eventually occurring errors by viewing
events.

CodeMeter WebAdm in displays a protocol only, if you previously activated 33


this function in CodeMeter Control Center.
There you find further information on how to save the log file.

Figure 45: CodeMeter W ebAdmin – Diagnosis | Events

1.8.8 Configuration
Using the Configuration navigation item allows you to configure the following settings:
· Basic 66
· Server 75
· Advanced 87

65
CodeMeter Administrator Manual 7.40b - April 2022

1.8.8.1 Server Search List


The "Configuration | Basic | Server Search List" page allows to define access to and order of installed 75
CodeMeter

network LAN and WAN (Wide Area Network) server.

Figure 46: CodeMeter W ebAdmin – "Configuration | Netw ork“


The Server Search List is used to define the access to and order of CodeMeter network LAN and WAN (Wide Area Network)
servers.
By default, the Server Search List holds the entry "Autom atic server search (255.255.255.255)". Then licenses are sought first
locally and then in the network (subnet). Using the entry "add new Server " allows you to decisively add single target server
addresses.
Element Description
Server Search List
You edit the Server Search List by using the respective add new Server, remove" buttons. You can also
c hange the order by using the up and down buttons. You save the c hanges you made by using the
"Apply" button.

You set back the settings of the server searc h list using the "Restore Defaults" button.

Alternatively, you are also able to set the Server Searc h List using the configuration files CodeMeter.ini
or Server.ini . The table below s how s you w here to find the respective files.
Operating System Configuration File
Window s %Program Files%\CodeMeter\Runtime\bin\CodeMeter.ini
macOS \Library\Preferences\com.wibu.CodeMeter.Server.ini
Linux \etc\wibu\CodeMeter/Server.ini
In the separate section [ServerSearchList] define the server as the exampe below s how s:
[ServerSearchList]

[ServerSearchList\Server1]
Address=184.45.89.5

[ServerSearchList\Server2]
Address=185.55.78.6
When you define netw ork settings, in some cases, this requires the restart of the CodeMeter service.
How ever, you do not have to eject or deactivate the CmContainer. After you specified the settings you are
able to stop and then restart the CodeMeter service in CodeMeter Control Center 33 . For non-Window s
operating systems see here 30 .
In order to c heck for a successful connection, on the "Home" page click the "Host Name" button and look for
the successful appending of the PC as server. The c heck w orks also by opening CodeMeter Control Center
on the clients and the server and looking for the communication status in the respective "Events" tabs.

66
Manual
CodeMeter WebAdmin

If a connection is still not establis hed specify on the client PCs the server IP address.

Using in a local area netw ork (LAN):


By specifying the PC names or IP addresses you define that the client requests exactly address the defined
CodeMeter netw ork server. This increases the performance on the netw ork.

If the CodeMeter netw ork server is located in another subnet, you s hould alw ays specify the IP
address in the server searc h list in order to preclude UDP broadcast problems.
By default, CodeMeter License Server binds to the first netw ork adapter found.
Using in a w ide area netw ork (WAN):

Please note, that a WA N connection has to be provided by the Softw are V endor.

Specify the IP address(es) for client requests to the defined CodeMeter License Server in the WA N.
When specifying the IP address(es) please note that you are required to prefix a "https:\
\ "needed for the secured communication w ith a reverse proxy in the WA N.
add automatic server search This entry allow s to automatically searc h licenses on servers, first locally and then in the netw ork (subnet).
A so-called broadcast is performed.
If CodeMeter W ebAdmin finds the entry 255.255.255.255, it is displayed as "Automatic server search
(255.255.255.255)" on the list.
The entry is added at the end of the list.
If the list holds the entry as last entry, using "add new Server " the new Server is added as second last entry,
i.e. w ithout c hanges the entry "Automatic server search (255.255.255.255)" alw ays remains at the end of the list.
If the list holds the entry other than the last, using "add new Server " the new Server is added as last entry.

1.8.8.2 Proxy
On the "Configuration | Basic | Proxy" page you define settings when using a proxy server. You require a proxy server, for
example, coupled with:
· Firmware update
· update of the certified time using a Wibu-Systems time server
· access via CmWAN on a remote CodeMeter server.
By default, the system proxy settings apply.
Please note, that under Linux, the environment variable http_proxy is considered as system proxy. https_proxy is not
yet supported.

67
CodeMeter Administrator Manual 7.40b - April 2022

Figure 47: CodeMeter W ebAdmin - "Configuration | Proxy “


You have several configuration options:
a) No proxy
The client server network communication is direct.
If you use a proxy, the following alternatives exist:
b) using the proxy system settings
Please note, that under Linux, the environment variable http_proxy is considered as system proxy. https_proxy is
not yet supported.
c) Manual proxy configuration
Please proceed as follows:
1. Specify the Proxy Server as IP address or DNS name.
2. Specify the Proxy Server as IP address or DNS name.
Authentication is automatically handled.
For explicitly using credentials for authenticate access to the proxy server, please proceed as follows :
1. Check the "Authenticate w ith user name /passw ord" box.
2. Specify the User Name .
3. Specify the Password.
You may also access these settings using cmu 107 and the profiling 18 .
Click the "Apply" button to save changes.

68
Manual
CodeMeter WebAdmin

1.8.8.3 WebAmin
On the "Configuration | WebAdm in" page you defining settings to manage the access (local and remote), select the desired
protocol (HTTP or HTTPS), and specify the eventually required authentication credentials for accessing CodeMeter WebAdm in.

Figure 48: CodeMeter W ebAdmin - "Configuration | WebAdmin"

The pictograms and inform on Read and Write access. On mouse over tool tips display additional access mode
details. A click on a pictogram opens - if required - the login on a separate page.
Depending on the configured access modes a dropdown menu provides the following entries:
· Allow w rite access
· revoke read access
· Revoke read/w rite access

Remote Read Access


By default, the remote read access is denied.
Element Description
Allow Activate this option to allow remote read access to CodeMeter W ebAdmin (default).
Deny Activate this option to deny remote read access to CodeMeter W ebAdmin.

A change of this during operation requires a restart of the Cm WebAdm in service. Please note that you also have to set
the firewall accordingly.
Please proceed as follows to restart the Cm WebAdm in service on Windows:
1. Enter "Services" in the Windows search field.
2. Find CmWebAdmin in open Services window.
3. Click right mouse button and select Restart.
On macOS first stop the service and than start it using the following command lines:
sudo launchctl stop com.wibu.CodeMeter.WebAdmin
sudo launchctl start com.wibu.CodeMeter.WebAdmin
On Linux for a restart of the service use the following command line:
sudo service codemeter-webadmin restart

Protocol Selection
This group allows you selecting the protocol used for accesses. Optionally, you can select between HTTP and HTTPS.

69
CodeMeter Administrator Manual 7.40b - April 2022

Figure 49: CodeMeter W ebAdmin - "Configuration | Protocol Selection"

Element Description
HTTP (sets authentication to none) If you use HTTP (default), you do not require any authentication. The related "Required Authentication" radio
button is automatically set to 'None'.

If you use HTTPS, you can additionally decide w hether using an automatically created self-signed certificate
or a custom certificate you obtained from a separate certification authority (CA) provider.
HTTPS (with automatically created
self-signed certificate)

Automatically self-signed certificate files, i.e. the Certificate Chain/File and the Key File w ill be created, if not
already existing, at the displays location,
HTTPS with custom certificate

Here you enter path and file names of the certificate files you obtained from your certification authority (CA)
provider.
Please note that the CmW ebAdmin Service now only runs under the "Local Service" account and
not under the "System" account.
This means that it is no longer allow ed to access files/folders belonging to a user account, e.g. files
of the currently logged in user (everything below C:\Users\<username> ). Therefore, please
store the certificates directly under drive C:\ or another partition, e.g. D:\ .

HTTPS Protocol and Web browser

After selecting the HTTPS protocol and opening CodeMeter WebAdm in the first time, the web browser issue warnings for not
secure connections.

If you use automatically generated, self-signed certificate files, you must nevertheless allow the access despite unsafe
access information, and eventually define exceptions. The unsafe information refer only to the fact that certificates are
self-signed and not issued by a certification authority (CA).

If you have received certificate files from a certification authority (CA) provider, please follow the respective import
instructions.

If self-signed certificates expire and become invalid, a separate entry on the Das hboard 50
page will inform you
displaying details on the certificate expiration time.

Please proceed for Firefox, Chrome, Internet Explorer, Microsoft Edge and Safari as follows.

Firefox

After selecting the HTTPS protocol and opening CodeMeter WebAdm in the first time, the following page displays.

70
Manual
CodeMeter WebAdmin

Then please proceed as follows:


1. Click the button "Advanced".
A page displays asking you to import the certificate.

2. Click the button "Add Exception".


A dialog to confirm the exceptions displays.

3. Click the button "Confirm Security Exception".


CodeMeter We bAdm in opens.

Chrome

After selecting the HTTPS protocol and opening CodeMeter WebAdm in the first time, the following page displays.

71
CodeMeter Administrator Manual 7.40b - April 2022

Then please proceed as follows:


1. Click the button "Advanced".

2. Click the button "Proceed to localhost (unsafe)".


The address line displays .

Internet Explorer

After selecting the HTTPS protocol and opening CodeMeter WebAdm in the first time, the following page displays.

Then please proceed as follows:


1. Click the button "Continue to this website (not recommended)".
The address line displays .

Microsoft Edge

After selecting the HTTPS protocol and opening CodeMeter WebAdm in the first time, the following page displays.

72
Manual
CodeMeter WebAdmin

Then please proceed as follows:


1. Click the button "Continue to this web page (not recommended)".
The address line displays .

Safari

After selecting the HTTPS protocol and opening CodeMeter WebAdm in the first time, the following page displays.

Then please proceed as follows:


1. Click the button "Continue".

Required Authentication
This group allows you specifying the required authentication credentials for accessing CodeMeter WebAdm in with Write and/or
Read privileges.

Element Description
None (No remote write No authentication is required but also no remote w rite access to CodeMeter W ebAdmin is possible.
access possible)
Write Access (requires Activate this option to allow authenticated w rite access to CodeMeter W ebAdmin.
HTTPS)

Please complete the necessary data in the fields Password and Verify Password for Write Access, and click the
button "Apply".
Then w rite access w ill require a login on a separate login page.
Please click the button "Login for write permission ".

The login page displays.

Read and Write Access In order to organiz e read and w rite access even more fine-grained, you are able to use different credentials for
(requires HTTPS) different groups allow ed for authenticated remote read and/or w rite access to CodeMeter W ebAdmin.

73
CodeMeter Administrator Manual 7.40b - April 2022

Element Description

Please complete the necessary data in the fields Password and Verify Password for Read and Write Access.
Then read access w ill require a login on a separate login page.

Write access w ill additionally require a login on a separate login page.


Please click the button "Login for write permission ".

The login page displays.

Click the "Apply" button to save all the changes you have made. By a previous click on the "Restore Defaults" button you save
the default settings.
1.8.8.4 Backup
On the "Configuration | Basic | Backup" page you define settings for the location and intervals of Cm Dongle data backups.

Figure 50: CodeMeter W ebAdmin - "Configuration | Backup"

Element Description
Backup Path Specify in the Backup Path field the location w here the backup file of the CmDongle is to be saved.

The default location for backup files depends on the operating system in use.
Backup Interval Specify in the Backup Interval field the recurring time period for automatic backups.
By default, automatically a data backup is executed every 24 hours. How ever, you are also able to
create a backup for the CmDongle at any time.
Certified Time Activate this option w hen a Certified Time update has to take place before a backup is executed.
Click the "Apply" button to save the changes you have made.
By a previous click on the "Restore Defaults" button you save the default settings.

74
Manual
CodeMeter WebAdmin

1.8.8.5 Server Access


On the "Configuration | Server | Server Access" page you set up CodeMeterÒ in a network and/or a wide area network (WAN).

Figure 51: CodeMeter W ebAdmin – "Configuration | Server | Server Access"


For activating the Network Server option, please proceed as follows:
1. Click the "Enable" radio button to use the PC as CodeMeter network server.
Then this PC provides its CodeMeter licenses on the network using the service CodeMeter License Server.
2. Specify a Network Port. By default, the port 22350 is used for the CodeMeter communication.
This network port is registered at IANA (Internet Assigned Numbers Authority) and uniquely assigned for the
CodeMeter communication.

You are able to customiz e this port value. However, make sure that all CodeMeter License Server use this port
when a CodeMeter protected application is to be used on the network.
3. Click the "Apply" button to save the changes or "Restore Defaults" restoring the default settings.

For activating the CmWAN Server option, please proceed as follows:


1. Click the "Enable"radio button to use the PC in a wide area network (WAN) and allow license accesses.

Please note, that a WAN connection has to be provided by the Software Vendor.

2. Specify a CmWAN Port. By default, the port 22351 is used for the CodeMeter communication via WAN.
You are able to customiz e this value. In this case, make sure that:
· all CodeMeter License Servers use t his port, if CodeMeter protected applications access licenses via WAN.
· t he configured reverse proxy has t he same port setting.
Please note, that under Linux, the environment variable http_proxy is considered as system proxy.
https_proxy is not yet supported.
3. Click the "Apply" button to save the changes or "Restore Defaults" restoring the default settings.
Please note that changes made to the port settings require a restart 30 of CodeMeter License Server.

1.8.8.6 License Access Permissions


On the "Configuration | Server | License Access Perm issions" page you define settings managing all client accesses to
CodeMeter L icense Server.

Please note, that you previously must have configured CodeMeter License Server (CodeMeter.exe) as a network or a
CmWAN server ("Server Access 75 ").
At the same time, also the license access permissions for localhost are managed.

On access configuration you can select among a basic and an advanced mode.
The basic 76 mode allows adding client computer and IP addresses for accessing CodeMeter License Server.

75
CodeMeter Administrator Manual 7.40b - April 2022

The advanced mode allows, for example, specifying global and specific access rules for accessing licenses and reserving
77

license access for single staff member or complete Active Directory groups.
Please select the desired License Access Permissions mode.

Please note that for the operating systems macOS and Linux the use of the advanced 77 mode for license
access permissions is possible in principle, but that the configuration of group rules is not supported.

Basic Mode

Figure 52: CodeMeter WebAdmin - "Configuration | Access Control“

Element Description
Clients Show s a list of all client PCs w hic h have the privilege to use CodeMeter License Server, i.e. to allocate a
license.
When this list is empty, eac h CodeMeter client on the netw ork is able to use CodeMeter License
Ser ver . This is the default setting.

To add a new client to the client list, please proceed as follow s:


1. Click the "Add" button.
A prompt dialog displays.

2. Specify the PC name or the IP address of the client in the dialog.


3. Click the "OK" button.
The PC is now added to the client list.
To remove a client from the list, please proceed as follow s:
1. Click the "Remove" button.
The PC is now removed from the client list
Enable FSB Access If you ow n a CodeMeter Firm Security Box (FSB), this option activates the s haring of the FSB on the netw ork.
Then the FSB is able to be used by several users, for example, to program CmContainer or automatically
protect applications.

This option makes sense only for CodeMeter licensee w ith an individual CodeMeter Firm Code.

76
Manual
CodeMeter WebAdmin

Element Description
Click the "Apply" button to save the c hanges you have made. By a previous click on the "Default" button you
save the default settings. Then the client list is empty, and the FSB is not available on the netw ork.
When you define access settings, in some cases, this requires the restart of the CodeMeter service.
How ever, you do not have to eject or deactivate the CmContainer. After you specified the settings
you are able to stop and then restart the CodeMeter service in CodeMeter Control Center 33 . For
non-Window s operating systems see here 30 .

Additional access control of client list via whitelist and Blacklist


Alternatively, you also have the option to create a white or blacklist for the access of clients.

Please note that on specifying subnet masks only input dividable by 8 is accepted.

This so-called profiling you conduct for different operating systems at the following locations:
Operating System Profile Creation

Window s Registry entry in HKLM/SOFTWARE/WIBU-SYSTEMS/CodeMeter/Server/CurrentVersion

macOS /Library/Preferences/com.wibu.CodeMeter.Server.ini

Linux /etc/wibu/CodeMeter/Server.ini.
The generation of the profile for CodeMeter License Server comprises the following versions (CodeMeter.exe,
CodeMeterMacX, CodeMeterLin).

When you edit the *.ini files in the case of macOS and Linux, you must stop the service CodeMeter License Server
before. Otherwise, changes you have been made do not apply.

Parameter Description
Client<index>=<Subnetz>[, Whitelist:
<serial>[,FC[,PC]]]] These parameters hold the IP addresses of client PCs on the netw ork w hic h have the privilege to access the local
(Whitelist)
CodeMeter License Ser ver . When the IP address of a client is not on this list, the access is denied.

If no w hitelist exists, no other restrictions apply. The specification of subnets is possible.


The syntax is as follow s:
Client<index>=<Subnetz>[,<serial>[,FC[,PC]]]
The serial number has to follow the pattern MaskByte-Serial Number (e.g. 1-1179681).
Example:
Client1=192.168.0.0/24,1-123456,10,13
this addresses all computer ranging from 192.168.0.0 to192.168.0.255 (Class C). Usually are also /8 (Class A)
and /16 (Class B).
The serial number, FC, and PC are optional.
This w hitelist corresponds to the client list in CodeMeter W ebAdmin.
Blacklist<index>=<Subnetz Blacklist:
>[,<serial>[,FC[,PC]]]] These parameters hold the IP addresses of client PCs on the netw ork w hic h have no privilege to access the local
[SZ, optional]
CodeMeter License Ser ver . When an IP address of a client is on this list, the access is denied.

If no blacklist exists, no other restrictions apply.


The syntax is as follow s:
Blacklist<index>=<Subnetz>[,<serial>[,FC[,PC]]]
The serial number has to follow the pattern MaskByte-Serial Number (e.g. 1-1179681).
Example:
Blacklist1=192.168.0.0/24,1-123456,10,13
this addresses all computer ranging from 192.168.0.0 to192.168.0.255 (Class C). Usually are also /8 (Class A)
and /16 (Class B).
The serial number, FC, and PC are optional.
Advanced Mode
The advanced access control mode allows the controlling of license access using access rules. The license access by single
staff members but also of complete Active Directory 78 groups can be organized. The detection of single staff members (user
name) and groups happens automatically without any integration efforts. An update control 78 element is available.

77
CodeMeter Administrator Manual 7.40b - April 2022

Figure 53:: CodeMeter WebAdmin - "Configuration | Access Control“ - Advanced Access Control Mode
The advanced access control mode allows the controlling of license access using access rules. The license access by single
staff members but also of complete Active Directory groups can be organized. The detection of single staff members (user
name) and groups happens automatically without any integration efforts. An update control 78 element is available.
The list of License Access Permissions (access control list) can be exported or imported in a *.json format using the
115 115

command line tool cm u32.


Two types of access rules exist:
· global access rules 79
· specific access rules 80
The global access rules control the license access to all Cm Container. If specific access rules have been defined, then these
are exempted from the global access rules.
The specific access rules control license access to separately specified license entries for ISV or applications (Firm Code, Product
Code, Containers). Then the specific access rules are valid and for matching license entries the global access rules are ignored.
Coupled with a limitation of user here also the number of available licenses can be set for each rule, and licenses can be
reserved. This can set specific limits e.g. for some departments, while keeping one license reserved for exclusive use.
In some cases, different Product Items with the same Product Code are present, for instance, if the same software was bought with
different license options. In such instances, the Product Items can be identified using associated Product Items Text, and rules can
be defined for each Product Item.
The following conditions hold true for access rules:
· access rules are created, edited and deleted in a separate area or dialogs.
· access rules may cover several rules. Rules are processed top-down, which means that the order of the rules is decisive
for the result.
· access rules conclude with an area defining the default setting for all license accesses which are not covered by rules.
· If specific access rules are defined, the most specified available access rules apply. If no rules are configured for the
Product Code, the rules for the Firm Code apply. If no Firm Code rules exist, the global rules apply.
Active Direcory
A separate refres h button supports retrieving and thus reading of complete Active Directory groups and users.

Please note, that you previously must have configured CodeMeter License Server (CodeMeter.exe) as a network server
("Server Access 75 ").

78
Manual
CodeMeter WebAdmin

The automatic filling of the drop-down list boxes Users and Groups is done by clicking the button . In combination with a
mouse-over pointer to display the tooltip texts, information on the following states is available.
Status Tooltip Text

Data not yet retrieved Click button to retrieve data from Active Directory.
Data currently being retrieved for the Retrieval from Active Directory in progress.
first time
Data is available {x} users / {y} groups retrieved from Active Directory.

Data is available and currently {x} users / {y} groups retrieved from Active Directory. Retrieval from Active Directory in
retrieved progress.
An error has occurred, e.g. Active Error on retrieving data from Active Directory.
Directory not reachable.
Creating the global access rules
In order to create the global access rules to control license access globally for all Cm Container, please proceed as follows:
1. Select the "Global access rules" item in the left tree view.
2. Click the "Add new access rule" button.
A dialog for defining a new rule displays.

3. Click the "Allow " or "Deny" radio button in the area Action to decide, whether the following license access by client is to be
allowed or denied.
A client access can be defined by one of the following parameter: Host name, Subnet address User or Group name.
4. Specify the desired parameter in the respective field.
If an active directory is connected, a separate button enables automatic filling of the User and Group fields (see here 78 ).

79
CodeMeter Administrator Manual 7.40b - April 2022

5. Click the "Add" button to add the new rule.


A click on the "Cancel" button cancels the process.
The new rule displays in the right rule view.
If you defined several rules, you may change the rule sequence by using the arrow symbols . Rules are processed top-
down, which means that the order of the rules is decisive for the result.
Using the "Edit" or "Delete" link allows you to modify a completely delete a rule.
6. Define the default setting for all license accesses which are not covered by rules.
You have the option to set the Default action to allow or deny license access.
Click the "Allow " or "Deny" button.
7. Click the "Apply" button in the lower part to save the changes made to the global access rules. Using the "Undo Changes"
button reverts the global access rules prior to the modification, and the "Restore Defaults" button applies the default
settings.
If you apply the changes made, please restart 30 CodeMeter License Server.
The figure below s hows an example of global access rules. It allows the global license access additionally by a guest
user. All other licenses accesses are also allowed, if no specific access rules specify otherwise.

Figure 54:: CodeMeter WebAdmin - "Configuration | Access Control“ - advanced Mode- global access rules

Creating specific access rules


In addition to defining the global access rules, you have also the option to control the license access to specific separate
license entries. Here you define specific access rules for separate defined Firm Codes, Product Codes or Containers (Serial
Numbers).
Firm Code -specific access rules
In order to create specific access rules to control license access to separate Firm Codes, please proceed as follows:
1. Select the "Specific access rules" item in the left tree-view.
2. Click the "Add Firm Code" button.
The dialog for selecting a Firm Codes displays.

3. Select the Firm Code and click the "Add" button.


New specific access rules valid for this Firm Code display in the right rule view.

4. Click the "Add new access rule" button.


A dialog for defining a new rule displays.

80
Manual
CodeMeter WebAdmin

5. Click the "Allow " or "Deny" radio button in the area Action to decide whether the following license access by client is to be
allowed or denied.
A client access can be defined by one of the following parameter: Host name, Subnet address User or Group name.
6. Specify the desired parameter in the respective field.
If an active directory is connected, a separate button enables automatic filling of the User and Group fields (see here 78 ).
7. Click the "Add" button to add the new rule.
A click on the "Cancel" button cancels the process.
The new rule displays in the right rule view.
If you defined several rules, you may change the rule sequence by using the arrow symbols . Rules are processed top-
down, which means that the order of the rules is decisive for the result.
Using the "Edit" or "Delete" link allows you to modify a completely delete a rule.
If you delete Firm Code-specific access rules using the "Delete rule list" button, then also all Product Code-specific access
rules - if existing - are deleted.
8. Define the default setting for all license accesses which are not covered by rules.
You have the option to set the Default action to allow or deny license access.
Click the "Allow " or "Deny" button.
9. Optionally, you are able to clone an existing rule set for a Firm Code (FC) 1:1 to another Firm Code.
Click the button "Clone FC rule set" to open a dialog which allows to select a target Firm Code. Clicking the button "Clone"
starts the process.

Clicking the button "Delete FC rule set" deletes all rules.

Please note that not only the Firm Code rule set is removed but ALL rules also for any subordinate Product Codes.

10. Click the "Apply" button in the lower part to save the changes made to the global access rules. Using the "Undo Changes"
button reverts the global access rules prior to the modification, and the "Restore Default" button applies the default
settings.
If you apply the changes made, please restart 30 CodeMeter License Server.

81
CodeMeter Administrator Manual 7.40b - April 2022

The figure below s hows an example Firm Code-specific access rules. It allows the license access to the complete Firm
Code 10 by a guest user and the complete support department. All other licenses accesses are also allowed, if no
specific access rules specify otherwise.

Figure 55:: CodeMeter WebAdmin - "Configuration | Access Control“ - Advanced Mode - Specific access rules - Firm Code

P roduct Code -specific access rules


Specific access rules which refer to Product Codes also offer the option to reserve license accesses to defined clients. This, for
example, allows to organize license access for separate departments while at the same time reserving exclusive license
access for the heads of departments.
In order to create specific access rules to control license access to separate Product Codes, please proceed as follows:

Creating a Product Code-specific access rules requires a previously created Firm Code-specific access rules.

1. Select the "Specific access rules" item in the left tree-view.


2. Click the "Add Product Code" button.
The dialog for selecting a Product Code displays.

Checkbox "Distinction based on Product Item Text" .


3. Select the Product Codes and click the "Add" button.
A new specific access rules valid for this Product Code displays in the right rule view.
At the same time, the entry displays information on the License Quantity, i.e. the number of concurrent licenses on a
network.
This number is not to be exceeded, if later defining limits to the number of accesses.

4. Click the "Add new access rule" button.


A dialog for defining a new rule displays.

82
Manual
CodeMeter WebAdmin

5. Click the "Allow " or "Deny" radio button in the area Action to decide whether the following license access by client is to be
allowed or denied.
A client access can be defined by one of the following parameter: Computer name, Subnet address User or Group name.
6. Specify the desired parameter in the respective field.
If an active directory is connected, a separate button enables automatic filling of the User and Group fields (see here 78 ).
7. Specify the number of license accesses which can be optionally reserved for a defined client in the field Reserved. The
field Limit states the allowed maximum of allocated license accesses by this client. The setting for a reserved license
access always available for the client is: Reserved: 1; Limit: 1.
Please note that in the case of further specific access rules reservations and limits are added. The value of the
License Quantity must not be exceeded.

If a rule applies but according to the limit set no licenses can be allocated by this rule, then it is assumed that the
rule does not apply and the next rule is applied.
8. Click the "Add" button to add the new rule.
A click on the "Cancel" button cancels the process.
The new rule displays in the right rule view.
If you defined several rules, you may change the rule sequence by using the arrow symbols . Rules are processed top-
down, which means that the order of the rules is decisive for the result.
Using the "Edit" or "Delete" link allows you to modify a completely delete a rule.
In order to delete a complete Product Code-specific access rules use the "Delete rule list" button.
9. Define the default setting for all license accesses which are not covered by rules.
You have the option to set the Default action to allow or deny license access.
Click the "Allow " or "Deny" button.
10. Optionally, you are able to clone an existing rule set for a Product Code (PC) 1:1 to another Product Code.
Click the button "Clone PC rule set" to open a dialog which allows to select a target Product Code. Clicking the button "Clone"
starts the process.

Clicking the button "Delete PC rule set" deletes the complete rule set for this Product Code.

11. Click the "Apply" button in the lower part to save the changes made to the global access rules. Using the "Undo Changes"
button reverts the global access rules prior to the modification, and the "Restore Defaults" button applies the default

83
CodeMeter Administrator Manual 7.40b - April 2022

settings.
If you apply the changes made, please restart 30 CodeMeter License Server.
The figure below s hows an example of a specific access rules with exclusive access rights (Reserved: 1; Limit: 1) to
the Product Code 201000 of Firm Code 10 for a guest user, the complete support department and a Supervisor. 2 license
accesses of a total of 5 license accesses (license quantity) remains available and the default license access is
defined as allowed.

Figure 56:: CodeMeter WebAdmin - "Configuration | Access Control“ - Advanced Mode - Specific access rules - Product Code

Container -specific access rules


Specific access rules which refer to Containers also offer the option to reserve license accesses to defined Containers. This, for
example, allows to organize license access for separate departments while at the same time reserving exclusive license
access for the heads of departments.
In order to create specific access rules to control license access to separate Containers, please proceed as follows:
1. Select the "Specific access rules" item in the left tree-view.
2. Click the "Add new Container" button.
The dialog for selecting a Container displays.

3. Select the Container and click the "Add" button.


New specific access rules valid for this Container display in the right rule view.

5. Click the "Add new access rule" button.


A dialog for defining a new rule displays.

84
Manual
CodeMeter WebAdmin

6. Click the "Allow " or "Deny" radio button in the area Action to decide whether the following license access by client is to be
allowed or denied.
A client access can be defined by one of the following parameter: Host name, Subnet address User or Group name.
7. Specify the desired parameter in the respective field.
If an active directory is connected, a separate button enables automatic filling of the User and Group fields (see here 78 ).
8. Click the "Add" button to add the new rule.
A click on the "Cancel" button cancels the process.
The new rule displays in the right rule view.
If you defined several rules, you may change the rule sequence by using the arrow symbols . Rules are processed top-
down, which means that the order of the rules is decisive for the result.
Using the "Edit" or "Delete" link allows you to modify a completely delete a rule.
9. Define the default setting for all license accesses which are not covered by rules.
You have the option to set the Default action to allow or deny license access.
Click the "Allow " or "Deny" button.
10. Optionally, you are able to clone an existing rule set for a Container 1:1 to another Container.
Click the button "Clone Container rule set" to open a dialog which allows to select a target Container. Clicking the button
"Clone" starts the process.

Clicking the button "Delete Container rule set" deletes all rules.

Please note that not only the Container rule set is removed but ALL rules also for any subordinate Firm Code rule sets
and remove the current Container form the configuration.
11. Click the "Apply" button in the lower part to save the changes made to the global access rules. Using the "Undo Changes"
button reverts the global access rules prior to the modification, and the "Restore Default" button applies the default
settings.
If you apply the changes made, please restart 30 CodeMeter License Server.
The figure below s hows an example Container-specific access rules. It allows the license access to the Container for
the complete Firm Code 10 by a guest user and the complete support department. All other licenses accesses are also
allowed, if no specific access rules specify otherwise.

85
CodeMeter Administrator Manual 7.40b - April 2022

Figure 57:: CodeMeter WebAdmin - "Configuration | Access Control“ - Advanced Mode - Specific access rules - Container

1.8.8.7 License Transfer Configuration


On the "Configuration | Server | License Transfer Configuration" page you define the settings for the license transfer. The
license transfer can either be blocked completely, even if the programmed license allows it. Or the maximum borrowing period
can be redefined without overwriting or exceeding the original programmed borrowing period.

Figure 58: CodeMeter WebAdmin - "Configuration | Server | License Transfer Configuration“

Element Description
License Transfer blocked Check the c heckbox follow ing the License Transfer blocked option to generally prevent a license transfer,
although the programmed license allow s a license transfer.
Maximum Borrowing Time Specify in the Maximum Borrowing Time field in hours the maximum time allow ed for borrow ing a license as
part of a license transfer.
The originally programmed borrow ing time is not overw ritten, but another time c heck is added w hic h
how ever cannot exceed the originally programmed time.
Click the "Apply" button to save the changes you have made.
By a previous click on the "Restore Defaults" button you save the default settings.

1.8.8.8 Prepared License Borrowing


On the page "Configuration | Server | Prepared License Borrow ing" you are able, if you require, to modify entry-specific
settings of borrowed licenses, in order to change the number of borrowed licenses or the borrowing period to a value other
than programmed.

These settings display only, if activated at "Configuration | Advanced Configuration | Extra" in the group Additional
WebAdm in Configuration 90 .

Please note, that Prepared License Borrowing supports only Firm Codes smaller than 6.000.000.

86
Manual
CodeMeter WebAdmin

Figure 59: CodeMeter W ebAdmin – "Configuration | Server | Prepared License Borrow ing"
For the individual setting of License Borrowing paramete, please proceed as follows:
1. Activate the option "Overw rite Entry Settings" in order to allow modifying license options of the borrowed license.
2. Enter in the field "Maximum Borrow Duration" the maximum borrowing period in minutes, the license is to be borrowable.
3. Enter in the field "Maximum Borrow Quantity" the maximum number of borrowed license to be borrowable.
4. Select in field "Server Identification" how the server is identified: either by Server Name or IP address.
5. Click the "Apply" button to save the changes or "Restore Defaults" restoring the default settings .
1.8.8.9 CodeMeter Time Server
On the "Configuration | Advanced | CodeMeter Tim e Server" page you define settings for the CodeMeter Tim e Server.

Please note that only Wibu-Systems CodeMeter Tim e Server may be specified here.
You cannot specify your own NTP (Network Time Protocol) time servers here, as this time synchronization does not
guarantee a Certified Time, which plays an important role, for example, when retrieving and subsequently validating time-
based licenses.

Figure 60: CodeMeter W ebAdmin - "Configuration | CodeMeter Time Server“

Element Description
CodeMeter Time Server Show s a list of W i bu-Systems CodeMeter Time Server allow ing for an update of the Certi fied Time.
CodeMeter T ime Ser ver are specified either as Internet address or IP address.

You edit the CodeMeter Time Server list by using the "add " or "remove" buttons. You c hange the
order of the list by using the "up " and "down " buttons.
Time Out Defines the maximum response period for the CodeMeter Time Server. The default value is 20 seconds.
Use HTTPS Activates HTTPS protocol for accessing CodeMeter Time Server.
Click the "Apply" button to save all the changes you have made. By a previous click on the "Restore Defaults" button you save
the default settings.

1.8.8.10 Trusted WebSocket Origins


On the "Configuration | Advanced | Trusted WebSocket Origins" page you are able to set local exceptions for checking trusted
WebSocket Origins.
Since CodeMeter Version 7.10a. by default, it is mandatory to check for the origin of a request when information and data is
exchanged via web components with CodeMeter License Server. This is done by certificates issued for these purposes.

87
CodeMeter Administrator Manual 7.40b - April 2022

The list Trusted WebSocket Origins allows to specify local exceptions for this check. This means that no certificates are
required for communication, or existing certificates are ignored.

Figure 61: CodeMeter W ebAdmin - "Configuration | Trusted WebSocket Origins “

Element Description
Trusted WebSocket Origins Show s a list of local exceptions entries for c hecking trusted WebSocket Origins.
You edit the list by using the "add " or "remove" icons.
add new trusted WebSocket Origin Adds an entry for the list Trusted WebSocket Origins.
1. Enter the new trusted WebSocket Origin.

Supported input formats are IPv4 and IPv6 addresses and port specifications, e.g.
"http://localhost:4040 ", "http://[2001:db8::1%25eth0] " "https://
[2001:db8::1]:4040 ".
2. Click the Add button.
The entry displays in the list.

In the list result you may delete entries using the remove icon.
Click the "Apply" button to save all the changes you have made. By a previous click on the "Restore Defaults" button you save
the default settings, i.e local exceptions entries for checking trusted WebSocket Origins will be removed.

88
Manual
CodeMeter WebAdmin

1.8.8.11 Extra
On the "Configuration | Advanced | Extra" page you configure some additional advanced settings.

Figure 62: CodeMeter W ebAdmin – "Configuration | Advanced | Extra"

API Communication Mode


Here you define which communication mode CodeMeter License Server uses. Please proceed as follows:
1. Click the Edit button.
2. Check the box to select the mode.
The following parameter are available:
CodeMeter -V ersion Properties
smaller than 4.40 '1 ' TCP/IP (Default)
'2 ' Shared Memory
starting w ith 4.40 '1 ' Platform-specific (Default)
Platform-specific defaults:
· Window s: IPv6, IPv4; Shared Memory
· Linux/macOS:IPv6, IPv4
· WinCE: IPv4, Shared Memory
'2 ' Shared Memory
'4' IPv4
'8' IPv6
Single modi may be combined.

Wibu-Systems recommends to use the relevant default settings, if no justified reasons suggest otherwise.

89
CodeMeter Administrator Manual 7.40b - April 2022

Alternatively, by editing registry or server entries you are also able to define which communication mode CodeMeter
License Server uses. The following table s hows you where for which operating system you find the profiling to set the
communication mode. The parameter ApiCommunicationMode . is available for setting the mode.
Operating system Registry / Server Entry

Window s HKLM/SOFTWARE/WIBU-SYSTEMS/CodeMeter/Server/CurrentVersion
macOS /Library/Preferences/com.wibu.CodeMeter.Server.ini
Linux /etc/wibu/CodeMeter/Server.ini
3. Click the "Apply" button to save the changes or "Restore Defaults" restoring the default settings. Clicking the button
"Cancel" cancels the configuration.

Make sure you restart CodeMeter after changing the settings.

Network Advanced
Here you define some advanced network settings. Please proceed as follows:
1. Click the Edit button.
2. Enter the desired values in the respective fields.
The following parameter are available:
Please make sure you activated CodeMeter License Server for running as network server 75 .

Element Description
Network Port Define a netw ork port other than the default port, if desired.
Network Timeout Defines the maximum response period for the CodeMeter License Server if running on a netw ork.
By default, this value is 100 seconds.
UDP Waiting Time Specify the UDP Waiting Time in order to define the period in w hic h a UDP request for existing
CodeMeter License Ser ver on the netw ork has to reply. By default, this value is 1000 milliseconds.

Changing this time allow s to customiz e the performance of the service. How ever, w hen no
urgent need exists, you s hould keep that default.
3. Click the "Apply" button to save the changes or "Restore Defaults" restoring the default settings. Clicking the button
"Cancel" cancels the configuration.

Make sure you restart CodeMeter after changing the settings.

License Transfer Configuration


Here you define the period of how additional license transfer activities are stored allowing you to obtain information on the PC
(host) to which the last transfer activity referred to.
Please refer as follows:
1. Click the Edit button.
2. Enter the desired value in the respective field.
The following parameter are available:
Element Description
Storage of additional License Specifies the number of days license transfer information is saved.
Transfer information
The default setting is 100 days.
4. Click the "Apply" button to save the changes or "Restore Defaults" restoring the default settings. Clicking the button
"Cancel" cancels the configuration.

Make sure you restart CodeMeter after changing the settings.

Additional WebAdmin Configuration


If you require, you are able to allow and activate modifying entry-specific settings of borrowed licenses.

Please note, that Prepared License Borrowing supports only Firm Codes smaller than 6.000.000.

90
Manual
CodeMeter WebAdmin

Please proceed as follows:


1. Click the "Edit" button
The checkbox Enable Prepared License Borrowing Configuration becomes editable.
2. Check the box Enable Prepared License Borrowing Configuration to trigger displaying the page "Configuration | Server |
Prepared License Borrow ing 86 ".
5. Click the "Apply" button to save the changes or "Restore Defaults" restoring the default settings. Clicking the button
"Cancel" cancels the configuration.
1.8.9 Info
The "Info" page displays an overview of products and important Wibu-Systems addresses.

Figure 63: CodeMeter W ebAdmin – Info

1.8.10 License Transfer


The License Transfer is supported for only, if using Universal Firm Codes with a number range bigger than 6.000.000.
· Of the Transfer Types only the types Licenses (moving 'n' from 'm' licenses) and Borrow local license.

CodeMeter WebAdm in on various pages displays License Transfer Options and a History. Following tables list potentials
items.
For a brief example of a license transfer of type "Licenses" ('n' from 'm' licenses) see here 92 and for the type "Borrow local
license" here 96 .

License Transfer Options


In the case of a license transfer activity, this table displays the actual values of the license transfer option.
Option Description
License received from Serial number of the CmContainers from w hic h a license has been received.
Pulling allowed V alue Description
y es A license can be actively requested by a receiving CmContainer from a sending CmContainer.
no A license cannot be actively requested by a receiving CmContainer from a sending
CmContainer .

91
CodeMeter Administrator Manual 7.40b - April 2022

Option Description
Returning allowed V alue Description
y es A previously transferred license can be returned from the receiving CmContainer to the
sending CmContainer.
no A previously transferred license cannot be returned from the receiving CmContainer to the
sending CmContainer.
Firm Item at target required V alue Description
y es On the target CmContainer a Firm Item must exist before the transfer takes place
(CmActLicense).
no On the target CmContainer a Firm Item must not exist before the transfer takes place
(CmActLicense).
Transfer Type Display of Transfer Type
V alue Description
Licenses An existing Product Item w ith License Quantity is duplicated in tw o Product Items w hile the License
Quantity is split over the tw o CmContainer.
Borrow A license is borrow ed for local use only (w ithout connection to a license server) for a
Local definable period from one CmContainer to another. After the period has expired, the licenses
License automatically reallocates to the server's license pool. A locally borrow ed license can not be
further transferred
Transfer Depth This option specifies the number of license transfer levels involved
Borrow Expiration Time Date at w hic h the borrow ing expires.
Borrow Source Serial number of the Source-CmContainers from w hic h a license has been borrow ed.
Licensor Transfer Key Key to create the required certificates.
1.8.10.1 Licenses
A brief example for performing a license transfer of type "Licenses" ('n' from 'm' licenses) covers moving 92
and returning 94

of licenses.
For a sender and a receiver the various CodeMeter WebAdm in views will display (Cm Container, Firm Item, Product Item Details,
License Monitoring).
30 Licenses are moved and returned.

1.8.10.11 Move 'n' from 'n' licenses


CmContainer Details
Sender

Receiver

Firm Item Details

92
Manual
CodeMeter WebAdmin

Sender

Receiver

Product Item Details


Sender

Receiver

93
CodeMeter Administrator Manual 7.40b - April 2022

License Monitoring

1.8.10.12 Return 'n' from 'm' licenses


CmContainer Details
Sender

Receiver

Firm Item Details


Sender

94
Manual
CodeMeter WebAdmin

Receiver

Product Item Details


Sender

95
CodeMeter Administrator Manual 7.40b - April 2022

Receiver

License Monitoring

1.8.10.2 License Borrowing


A brief example for performing a license transfer of type "Borrow Local License" covers borrowing 97
and returning 99
of
licenses.
For a sender and a receiver the various CodeMeter WebAdm in views will display (Cm Container, Firm Item, Product Item Details,
License Monitoring).
1 License is borrowed and returned.

96
Manual
CodeMeter WebAdmin

1.8.10.21 Borrow
CmContainer Details
Sender

Receiver

Firm Item Details


Sender

Receiver

97
CodeMeter Administrator Manual 7.40b - April 2022

Product Item Details


Sender

Receiver

98
Manual
CodeMeter WebAdmin

License Monitoring

1.8.10.22 Return
CmContainer Details
Sender

Receiver

Firm Item Details


Sender

99
CodeMeter Administrator Manual 7.40b - April 2022

Receiver

Product Item Details


Sender

100
Manual
CodeMeter WebAdmin

Receiver

License Monitoring

1.8.11 Module Items


Module Items are supported for only, if using Universal Firm Codes with a number range bigger than 6.000.000.

Module Items allow the organizational grouping of different license entries required for a product. This is especially helpful when
using the license transfer.

101
CodeMeter Administrator Manual 7.40b - April 2022

In the area "Licenses" of the Container navigation item existing Module Items display as arrow symbols ( ).

Figure 64:CodeMeter W ebAdmin – Container | Li z enz en - Module Items


On clicking the Product Code, which holds the Module Items, the Product Item Details page opens and in the lower part existing
Module Items displays.

102
Manual
CodeMeter WebAdmin

Figure 65:CodeMeter W ebAdmin – Product Item Details - Module Items


On clicking a Module Item the usual Product Item Detail 52
page opens.

103
CodeMeter Administrator Manual 7.40b - April 2022

1.9 CmDust (CodeMeter Enduser Support Tool)


At times, it may necessary to receive help by our support when using CodeMeter. In order to ease identification of troubles, the
program Cm Dust (CodeMeter Enduser Support Tool) for the command line has been developed.

No secret information is transferred to Wibu-Systems. You are able to check the information saved in plain text.

CmDust on Windows
Open Cm Dust using the "Start | All Programs | CodeMeter | Tools" menu item.
Press "Windows" key to open Start screen | Type "CmDust" | Press "Enter" key.

The result of the program execution is written to the text file CmDust-Result.log and saved to the user directory which
automatically opens when starting Cm Dust.
Alternatively, you are able to use the command line application cmu to create a log file.
107

For analyses this file can be sent to Wibu-Systems.

CmDust on macOS
For macOS you create the Cm Dust file using the cm u 106
command line program. Calling cm u is stored in the search path.
To create a Cm Dust log, please proceed as follows:
1. Open cm u command line
2. Type in the following command
cmu --cmdust
Using the option --file allows to add a name and a saving location.
By default, the file is written to the directory from which you accessed cm u.
3. Send this file for analyzing to Wibu-Systems.
CmDust on Linux
For the operating systems Linux you create the Cm Dust file using the cm u 106
command line program. Calling cm u is stored in
the search path.
1. Open cm u command line
2. Type in the following command
cmu --cmdust
Using the option --file allows to add a name and a saving location.
By default, the file is written to the directory from which you accessed cm u.
3. Send this file for analyzing to Wibu-Systems.
CmDust output
Cm D u st reads out th e following settings:

· Information on the operating system : version, installed service packs, language settings.
· CodeMeter relevant registry entries : installation path, settings of L
CodeMeter v
icense Ser er and CodeMeter WebAdm in,
backup and HTTP settings.
· AddOns : information on all AddOns.
CodeMeter

· Information on CodeMeter and CmContainer: software and hardware version and all entries of connected a
Cm Cont iner .

104
Manual
CmDust (CodeMeter Enduser Support Tool)

================================================================================
**************************** General Information *******************************
================================================================================
CmDust Version 4.40 Build 660 of 2011-11-10
Copyright (C) 2005-2011 by WIBU-SYSTEMS AG. All rights reserved.

CmDustLog created at 2011-11-17 15:24:40 (UTC)


CmDust was started from: C:\Program Files\CodeMeter\Runtime\bin
Current User has administrator rights
================================================================================
***************************** System Information *******************************
================================================================================
OS: Microsoft Windows 8 Business Edition, 32-bit Service Pack 1 (build 7601)
Computer Name: FS2.wibu.local
Found IP address: 10.49.12.16 | 192.168.243.1 | 192.168.204.1 | 127.0.0.1
Not running inside Virtual Environment.

Language Settings:
Machine: English
Current User: English

DataExecutionProtection state:
OPTIN (Only Windows system components and services have DEP applied.)
Current User has administrator rights

Overview of available drives:


C:\ = Fix Drive (304336 MB)
D:\ = CDROM
E:\ = Removable Drive Bus=Usb;WIBU - CodeMeter-StickM (7832 MB), contains codemtr.io
================================================================================
*********************** Relevant registry entries ******************************
================================================================================
[HKEY_LOCAL_MACHINE\SOFTWARE\WIBU-SYSTEMS\CodeMeter] <All>
RuntimeVersion <All> = "4.40.660.500"

105
CodeMeter Administrator Manual 7.40b - April 2022

1.10 CMU - CodeMeter Universal Support Tool


You have also the option to alternatively execute some CodeMeter Control Center functions by the command line based
CodeMeter U ni versa l Supp ort Tool (cm u).

cm u supports you in:


· listing of Cm Container contents
· creating a simple test environment for Cm Container
· executing a certified time update, and creating and importing of license re quest and update files (Context Files and Update
Files, *.WibuRaC and *.WibuRaU).
Call cm u in the directory %\Program Files%\CodeMeter\Runtime\bin using the command cmu[32].exe.
Alternatively, on Windows call cm u by the start menu item "Start | All Programs | CodeMeter | Tools | CodeMeter Command
Prompt".
Press "Windows" key to open Start screen | Type "CodeMeter Command Prompt" | Press "Enter" key.

For the operating systems macOS and Linux this command is provided by the usual search path parameter.
The following list s hows all existing cmu commands. A s hort example section is appended.
· General settings 106
· CodeMeter Tim e Server 108 settings 108
· License transfer options 108
· N amed User licenses 110
· Additional cmu options 115
· Examples 116

General settings
Command Description
/h or --help s how s this help in the command line w indow .
/v or --version s how s the versions of all available CodeMeter components.
/l or--list lists all connected CmContainer by w ay of their serial numbers.
/x or --list- lists the contents of all connected CmContainer.
content
/k or --list-server lists all available netw ork license server.
/n or –-list- lists the netw ork license information of the ow n server.
network For explanations of terms, e.g. access modes, please see information on license monitoring 59 and terms in
license display 46 in CodeMeter W ebAdmin.
lists netw ork license information also of remote CodeMeter server.
-list-network [--server <servername>|--all-servers] [--serial <serial>] [--
firmcode <firmcode> [--productcode <productcode> [--featuremap <featuremap>]]]
--all-servers lists the netw ork license information for all found servers.
--server <servername> lists the netw ork license information for the specified server <servername> .
--serial <serial> specified parameter configure the output according to criteria selected.
--firmcode <firmcode>
--productcode
<productcode>
--featuremap <featuremap>
--add-server adds a server to the end of your server searc h list. As an argument pass the server's name, IP or CmWA N URL.
Examples:
server.domain.local
192.168.0.72
fe80::ea06:88ff:fecf:df6f
https://user:[email protected]/cmwan
--delete-server deletes a server from the server searc h list. As an argument pass the server's name, IP or CmWan URL as it is
listed.
-- clear- deletes all the entries from the server searc h list. To reactivate automatic server broadcast, please add broadcast
serversearchlist using option "--add-server 255.255.255.255 ".

106
Manual
CMU - CodeMeter Universal Support Tool

Command Description
--show- s how s the entries in the server searc h list.
serversearchlist
/c <FI> or -- creates a license request file (Context File) for Firm Item <FI> (see here 116 ).
context <FI> Using option --file specifies the output file. If no option is set the standard output is used (stdout).
/i or --import imports a license update file (Update File) for the available CodeMeter license (see here 116 ).
Using option --file specifies the file name. The update can cover a CmDongle or a CmActLicense license file.
/d or --firmware- starts the firmw are update of a CmContainer.
update
/u or --time-update starts the update of the Certified Time in eac h connected CmContainer.
/e <s> or --enable allow s the activation or deactivation of the selected CmContainer. Specifying the CodeMeter passw ord is required.
<s > The required new Enabling status is specified by the parameter <s>. Parameter values cover 1 (disable), 2
(temporary enable), 3 (enable).
/t <no> or -- starts some simple tests for eac h connected CmContainer. The number of tests is specified by parameter <no>.
test<no> It is required that the CmContainer must be (temporarily) enabled.
/vv or --cmdust creates a CmDust report. This report is useful and required w hen requesting support. Wibu-Systems recommends
to create a CmDust report before contacting the support.
Using the option --file w rites the result into a text file.
--borrow allow s the borrow ing of licenses from a license server to the local PC. You have to specify the Firm Code and the
Product Code of the license using the options --firmcode and --productcode . As an additional option you may
specify the Feature Map using the option --featuremap . Moreover, you have to specify the serial number of the
client CmContainer and the server name using the options --serial and --server .
--return returns the borrow ed license to the license server. You have to specify the Firm Code and the Product Code of the
license using the options --firmcode and --productcode and the serial number of the client CmContainer
and the server name using the options --serial and --server .
--borrowlist lists the borrow ed licenses for the client and the server.
--transferlist creates a listing of the license transfer relevant data.
--enabling lists the enabling stati of all connected CmContainer.
Combined w ith the command –x you can also display additional enabling information of the CmContainer content.
--create-io is used in combination w ith the option --file and makes sense only w hen using the hardw are form factors
CmCard/SD or CmCard/CF. A new codemtr.io file is created.

Please call this command only if the codemtr.io file is deleted.


--detect-proxy prints the system proxy to standard output..
Please note, that under Linux, the environment variable http_proxy is considered as s ystem proxy.
https_proxy is not yet supported.
--delete-cmact- deletes a CmActLicense license you specify using the command --serial .
license
Once you delete a CmActLicense license it cannot be restored.

--set-access-data activates W ebAdmin w rite authentication and saves the passw ord. Use w ith option --password to define
passw ord.
--set-proxy sets CodeMeter proxy configuration. As argument pass the name or IP address of the proxy server.
A port different to the default port (80) may be defined by --port follow ed by the port number.
A user passw ord authentication may be set by --username <name of the user> --password
<password> .
To remove the authentication use --username follow ed by "".
--use-system-proxy on setting the proxy the system proxy is used.
In the profiling or the server.ini file then the entry
UseSystemProxy is set to a value of 1 .
The entry has the value 0, if --set-proxy is used.
Please note, that under Linux, the environment variable
http_proxy is considered as s ystem proxy.
https_proxy is not yet supported.
Examples:
cmu --set-proxy proxy.company.com --username johndoe --password mypassword --port 90
cmu --set-proxy proxy.company.com --username ""

107
CodeMeter Administrator Manual 7.40b - April 2022

Command Description
--reset-access- deletes both passw ords for W ebAdmin authentication (read- and w rite-passw ords) and sets default (no read
data authentication, no w rite authentication). "Local Access only" w ill be set.
--device-id sets this parameter on import of WibuCmLiF files (--import ) w ith binding sc heme "Binding Extension".
The input of the device-id is as 128 hex digits preceeded by "0x".
--hid sets the USB communication standard to the Human Interface Device (HID) class specification.
Shortcut for --set-config-disk HidCommunication .
May be used w ith or w ithout specifying a serial number via --serial .
Without specifying the command w ill be executed for all connected CmDongles.
--msd sets the USB communication standard to the Mass Storage Device (MSD) class specification.
Shortcut for --set -config-disk MsdCommunication .
May be used w ith or w ithout specifying a serial number via --serial .
Without specifying the command w ill be executed for all connected CmDongles.
CodeMeter Time Server Settings
Please note that only Wibu-Systems CodeMeter Tim e Servers may be specified here.
You cannot specify your own NTP (Network Time Protocol) time servers here, as this time synchronization does not
guarantee a Certified Time, which plays an important role, for example, when retrieving and subsequently validating time-
based licenses.

--add-timeserver appends a single CodeMeter Time Server to your Time Server list. As argument, pass the Server name or IP
address (IPv5 or IPv6).
--delete- deletes a single CodeMeter Time Server from your Time Server list. As argument, pass the Server name or IP
timeserver address (IPv5 or IPv6).
--clear- removes all entries from the CodeMeter Time Server list.
timeserver-list
--set-timeserver- sets the CodeMeter Time Server settings to default parameters.
default · CodeMeter Time Ser vers : cmtime.codemeter.com , cmtime.codemeter.de ,
cmtime.codemeter.us
· Timeout: 20 seconds
· Protocol: http
--show- s how s the entries in the CodeMeter Time Server list.
timeserver-info
--set-timeserver- sets the timeout of the CodeMeter Time Server in seconds.
timeout V alue range is betw een 1 and 120 . Default value is 20 seconds.
--set-timeserver- sets one of the protocols HTTP or HTTPS for CodeMeter Time Server.
protocol
License transfer options
All calls existing in CodeMeter Core API for the licenses transfer feature can also be called using cm u. Here the respective files
are used (WibuCmLIF/WibuCmRaC/WibuCmRaU). The following cm u calls exist:
Command Description
--create-lt-context Enables to create a license transfer context.
<parameters> Used w ith --lt-push parameters to specify the nature of the transfer - license update w ith FSB if omitted.
Additional parameters:
--lt-request-file is a mandatory parameter.
<file> It is used to specify the file <file> w here the result of the license context
creation s hould be w ritten.
--lt-context-file It is used to specify the file <file> containing the license context to be created.
<file>
--serial <serial> or selects the CmContainer w ith the specified Serial Number.
-s <serial>
--firmcode <fc> sets the Firm Code of the transferred license.
--productcode <pc> sets the Product Code of the transferred license.
--create-lt-update Enables to transfer a license transfer context. Used w ith one of follow ing parameters to specify the nature of
<parameters> the transfer:

108
Manual
CMU - CodeMeter Universal Support Tool

Command Description
--lt-move-licenses the specified number of licenses w il be transferred.
<licenses>
--lt-borrow-local- expiration time as <YYYY>-<MM>-<DD>[T<hh>:<mm>:<ss>] (one license
license <expiration w ill be transferred for the specified time limit).
time>
--lt-renewborrow time validity of an already borrow ed license w ill be extended.
<expiration time>
Additional mandatory parameters:
--lt-request-file is a mandatory parameter.
<file> It is used to specify the Context File <file> containing the license content to be
transferred.
--lt-update-file is a mandatory parameter.
<file> It is used to specify the Update File <file> w here the result of the license
transfer s hould be w ritten.
--serial <serial> or selects the CmContainer w ith the specified Serial Number.
-s <serial>
--firmcode <fc> sets the Firm Code of the transferred license.
--productcode <pc> sets the Product Code of the transferred license.
Additional optional parameters:
--lt-feature-code It is used to specify the Feature Code <number> . The default input for the
<number> <number> is in decimal unless it begins w ith 0x or 0X.
--lt-product-ref It is used to specify the Product Item Reference <number> . The default input for
<number> the <number> is in decimal unless it begins w ith 0x or 0X .
--import-lt-update Updates license transfer data on the target side. Used w ith either --lt-push , --lt-pull , --lt-fsb or
<parameters> --lt-return parameters to specify the nature of the transfer.
Additional parameters:
--lt-update-file is a mandatory parameter.
<file> It is used to specify the Update File <file> w here the result of the license
update s hould be w ritten.
--serial <serial> or optionally selects the CmContainer w ith the specified Serial Number.
-s <serial>
--firmcode <fc> optionally sets the Firm Code of the transferred license.
--productcode <pc> sets the Product Code of the transferred license (optional, only w ith --
firmcode ).
--create-lt-receipt Creates a signature w ith a defined private key and gives it back as a receipt to specify the nature the transfer.
<parameters> Additional parameters:
--lt-receipt-file is a mandatory parameter.
<file> It is used to specify the Context File <file> w here the receipt w ill be
transferred to.
--serial <serial> or selects the CmContainer w ith the specified Serial Number.
-s <serial>
--firmcode <fc> sets the Firm Code of the transferred license.
--productcode <pc> sets the Product Code of the transferred license.
--import-lt-receipt Checks the receipt w ith a defined public key confirming the validity of a transaction. Used w ith one of follow ing
<parameters> parameters to specify the nature of the transfer.
Additional parameters:
--lt-receipt-file is a mandatory parameter.
<file> It is used to specify the Context File <file> w here the data w ill be transferred
from.
--serial <serial> or selects the CmContainer w ith the specified Serial Number.
-s <serial>
--firmcode <fc> sets the Firm Code of the transferred license.
--productcode <pc> sets the Product Code of the transferred license.
--lt-cleanup Possible cleanup action
<parameters>
--deleted clean deleted licenses

109
CodeMeter Administrator Manual 7.40b - April 2022

Command Description
--disabled clean disabled (dangerous)
--hiddenhistory clean history of given product item
--container removes w hole license container (dangerous)
Additional parameter
--serial <serial> or - selects the CmContainer w ith the specified Serial Number.
s <serial>
--firmcode <fc> selects the Firm Code of the transferred license.
--productcode <pc> selects the Product Code of the transferred license.
--lt-product-ref It is used to specify the Product Item Reference <number> . The default input
<number> for the <number> is in decimal unless it begins w ith 0x or 0X .

Creating and importing a namelist of Named User


To restrict access to licenses to so-called named users, external namelist files must be used. This process is done in two
steps:
1. Creating the namelist file 110
A namelist file includes a list of authorized users in plain text entries and must conform to a JSON 110 format. The format is
specified by Wibu-Systems.
2. Mandatory importing of the namelist file 112
Cm u converts th e plaintext entries of th e namelist file into a list of h as h values

After importing and converting the plaintext entries into has h values by cm u, the has h values cannot be exported
back to the original plaintext entries: recovery is not possible in any case.
You are therefore responsible for saving the data yourself!

Creating a namelist
To create the namelist file you need information from software vendors about
· the Firm Code used,
· the JSON format version and
· the unique identifier of the name list (NamelistId).
The following applies to a namelist:
· There is a format version that is easy to edit and extend.
· It is possible to change the namelist file without restarting CodeMeter.
That is importing a changed namelist file is possible at any time without a restart, which then becomes valid, but this does not
mean that it is possible to change the file in CodeMeter itself.
· For security reasons no plain names are kept in memory.
· The file can be assigned to one or more product items via NameListId and Firm Code .
· A maximum of 5000 named users are allowed per namelist.
· CodeMeter uses a maximum of 250 namelists.
It is possible to add users to the namelist multiple times, whereby the total frequency, the entry position and the License
Quantity are taken into account and allow list control.
With a number of licenses n and a number of m entries applies:
· If the number of entries m is greater than the number n of available licenses, only the first n entries are used.
· If, on the other hand, the number of entries m is less than the number n of available licenses, only the m entries are used; if
the license is created with the singlealloc option, the remaining n-m licenses cannot be used.
Please find example files for each credential type with parameters and descriptions below.
· Credential type:
110
UserName 110

· Credential type:
111
UserDomain 111

· Credential type
112
: UserDefined
Credential type: UserName
110
Manual
CMU - CodeMeter Universal Support Tool

{
"NameList": {
"FirmCode": 6000010,
"FormatVersion": 1,
"Mode": "User",
"NameListId": 1234,
"Users": [
{
"Name": "Jane"
},
{
"Name": "Alice"
},
{
"Name": "Bob"
}
]
}
}

Parameter Description
FirmCode holds the Firm Code to w hic h the namelist refers.
FormatVersion holds the valid version of the JSON format.
Mode holds the credential type and the respective c heck mode.
Here the mode "User ".
NameListId holds the unique identification number of the namelist .
Users holds the array of elements of type "Users".
Name holds the respective name of the user eligible for an authoriz ed license access as NamedUser.

Credential type: UserDomain


{
"NameList": {
"FirmCode": 6000010,
"FormatVersion": 1,
"Mode": "UserDomain"
"NameListId": 5678,
"Users": [
{
"Domain": "MyCompany",
"Name": "Jane"
},
{
"Domain": "MyCompany",
"Name": "Alice"
},
{
"Domain": "MyCompany",
"Name": "Bob"
}
]
}
}

Parameter Description
FirmCode holds the Firm Code to w hic h the namelist refers.
FormatVersion holds the valid version of the JSON format.
Mode holds the credential type and the respective c heck mode.
Here the mode "UserDomain ".
NameListId holds the unique identification number of the namelist .
Users holds the array of elements of type "Users".
Domain holds the respective name of the domain eligible for an authoriz ed license acccess as NamedUser.

111
CodeMeter Administrator Manual 7.40b - April 2022

Parameter Description
Name holds the respective name of the user eligible for an authoriz ed license acccess as NamedUser.

Credential type: UserDefined


{
"NameList": {
"FirmCode": 6000010,
"FormatVersion": 1,
"Mode": "UserDefined"
"NameListId": 91011,
"Users": [
{
"UserDefinedText": "ABCSoftwareModule1"
},
{
"UserDefinedText": "ABCSoftwareModule2"
},
{
"UserDefinedText": "ABCSoftwareModule3"
}
]
}
}

Parameter Description
FirmCode holds the Firm Code to w hic h the namelist refers.
FormatVersion holds the valid version of the JSON formatv.
Mode holds the credential type and the respective c heck mode.
Here the mode "UserDefined ".
NameListId holds the unique identification number of the namelist .
Users holds the array of elements of type "Users".
UserDefinedText holds the respective user-defined text eligible for an authoriz ed license acccess as NamedUser.
Importing a namelist of named users
Using external namelist files requires an import via the following cm u command after their creation.
Options Description
--import- imports a list of of name user (namelist ) in the JSON format to allow using the feature Named User. Using -f allow s
namelist -f to specify path information and file name, e.g. NameList.txt .
<NameList.txt>
Cm u converts the entries of the namelist file into a list of has hes. Using another cm u command allows the has h output 113
of
this Namelist to stdout.
After importing and converting the plaintext entries into has h values by cm u, the has h values cannot be exported back to
the original plaintext entries: recovery is not possible in any case.
You are therefore responsible for saving the data yourself!

The cryptographic has h function Secure Has h Algorithm sha256 is used to ensure the integrity of the data.
Only the first 8 bytes are used for the user has h values, but the full 32 bytes are used for the has h value of the entire file.
If an empty namelist file is imported, i.e. without specification of named users, CodeMeter deletes the associated file if it exists.
If a namelist file is re-imported, occupied license accesses are not released. If users suddenly no longer have authorization
due to a change in the namelist file, they will also no longer be assigned new license accesses. However, previous license
accesses can still be used.
The locations of the imported namelist then generated by cm u for the different operating systems are:
Operating system Location
%ProgramData%/CodeMeter/NamedUser
Window s
/Library/Application Support/CodeMeter/NamedUser
macOS

112
Manual
CMU - CodeMeter Universal Support Tool

Operating system Location


/var/lib/CodeMeter/NamedUser
Linux
The notation bases on Firm Code and NameListId, e.g. 6000010-2222.txt.
Subsequently, CodeMeter handles license accesses of users on the namelist .
Hash output of a namelist file
Option Description
--show- outputs the has hes of a namelist file into file <filename>. .
namelisthashes Eac h line outputs a single Named User entry of the namelist .
-f <filename> Eac h line contains exactly tw o fields separated by a tab.
Field Description
1 contains the credential type entry (modes ), i.e. either User , UserDomain or Userdefined .
The strings are s hortened here to the lengths that are specified internally by the CMCREDENTIAL structure
and over w hic h has hing is performed.
2 represents the credential type entry as an 8-byte has h in hex string format.
The output is in UTF-8 format on stdout and can be further processed from there w ith appropriate applications, e.g.
programming language aw k for processing and evaluation of any text data.
cmu[32].exe --show-namelist-hashes -f NamedUserHashing_user.json
Output is:
abcdefghijklmn\abcdefghijklmnopqrstuvwxyz01234 8094ca566d14d155
abcdefghijklmn\abcdefghijklmnopqrstuvwxyz01234 8094ca566d14d155
abcdefghijklmn\abcdefghijklmnopqrstuvwxyz01234 8094ca566d14d155
abcdefghijklmn\abcdefghijklmnopqrstuvwxyz01234 8094ca566d14d155
abcdefghijklmn\abcdefghijklmnopqrstuvwxyz01234 8094ca566d14d155
abcdefghijklmn\abcdefghijklmnopqrstuvwxyz0123 f25227d24bb65ac4
abcdefghijklmn\abcdefghijklmnopqrstuvwxyz0123 f25227d24bb65ac4
abcdefghijklmn\abcdefghijklmnopqrstuvwxyz012ä de77086674e55409
abcdefghijklmn\abcdefghijklmnopqrstuvwxyz012 a1c4b5951eb70a1f

Listing rejected license allocations


The List-Rejected-Allocations feature allows to track all rejected license allocations 121
for a specific CodeMeter
License Server (local or remote) and retrieve them as a list of log entries.
The log entries listed cover the following information: timestamp (UTC), LicenseID, Firm Code, Product Code, Product Item Reference,
License Quantity, and client and user information.
Configuring allows the data output either for individual Firm Codes or for all Firm Codes (default). In addition, specifying the
maximum number of log entries is supported. The current status of the log entries may be retrieved at any time.
If the data is not retrieved, it will no longer be available after restarting CodeMeter License Server. However, if only the feature is
deactivated, the data remains and can be retrieved later. Only after a later reactivation, all not retrieved data of the previous
recording will be lost.
The use of this feature is independent of license tracking 117 .
Users must actively retrieve the data via cm u. The data is then written to the command line (stdout) or to a user-defined
file.
Recorded data is not automatically written to a log file at a central location, as is the case with the license tracking log,
for example.

The feature can also be activated, disabled and configured via profiling entries in the registry (Windows) / Server.ini (Unix).
22

For efficient or effective use of listed rejected license assignments two different strategies can be followed. Either a high
number of log entries can be set with potentially higher memory consumption and not so frequent data retrievals. Or a low
number of log entries can be set with potentially lower memory consumption and the need to retrieve data more frequently to
avoid missing rejections when the limit of the maximum number of log entries is reached.
Command Description
--list-rejected-
allocations
Options
--activate activates logging of rejected allocations.

113
CodeMeter Administrator Manual 7.40b - April 2022

Command Description

Please note, that w hen activating via cmu w ithout explicitly specifying the '--firmcode ' or '--
max-entries ' parameters, no values that may already exist in profiling are loaded. Rather, these
are set to their defaults (Firmcode 22 = '0', MaxEntries 22 = '1000').

Additional parameter:
--firmcode <fc> specifies a single Firm Code via <fc> for w hic h logging is to be activated.
--max-entries specifies the maximum number of log entries via <num> .
<num>] The default is 1000. V alues betw een 1 and 200000 can be selected.
If the maximum number of log entries is reac hed, an additional log entry is
issued w hen the data is retrieved, informing about the time w indow in w hic h
no 'rejections' w ere recorded. This corresponds to the difference betw een the
timestamps of the last tw o entries.
Example:

2021-06-16T15:45:17 Denial LicenseID:3-5430061-
6001494-16, FC:6001494, PC:999, LQ:5, Client:"::1",
User:"WIBU\apri"
2021-06-16T15:45:17 Denial LicenseID:3-5430061-
6001494-16, FC:6001494, PC:999, LQ:5, Client:"::1",
User:"WIBU\apri"
2021-06-16T15:45:18 Denial LicenseID:3-5430061-
6001494-16, FC:6001494, PC:999, LQ:5, Client:"::1",
User:"WIBU\apri"
2021-06-16T15:45:30 MAXIMUM NUMBER OF ENTRIES REACHED.
SOME REJECTIONS MAY NOT HAVE BEEN RECORDED SINCE THE
LAST WRITTEN ENTRY.
--deactivate deactivates logging of rejected allocations.
--status queries the current status of logging.
--get-data CodeMeter License Ser ver and issues them in order of occurrence of rejected
queries all data logged by
license assignments as a time-sorted list in the console (stdout ).
Additional parameter:
[--file Optionally, the data can also be w ritten to a file.
<filename>] The --file parameter is used either to extend an existing file by appending the
data until the maximum number of log entries is reac hed, or to create a new file w ith
the specified name if none already exists.
Optional
--server <ip or allow s to execute the above commands also for a remote computer.
hostname> For this, the remote computer on w hic h CodeMeter License Server is running as a service must be set up
as a LA N server. This either in profiling (IsNetworkServer 18 ) or in CodeMeter W ebAdmin
(Configuration | Server | Server Access 75 ).
The console output for the --activate, --deactivate or --status commands might look as follows:
List-Rejected-Allocations – Activated

Started recording at: 2021-07-05T15:49:55


Stopped recording at:

Tracked Firmcode: All


Maximum number of entries: 1000

Total rejections: 324

Entries ready for retrieval: 77


The output of a data query might look as follows.

114
Manual
CMU - CodeMeter Universal Support Tool

cmu --list-rejected-allocations --get-data


2021-05-10T10:11:32 Denial LicenseID:3-5430061-6001494-16, FC:6000010, PC:999, LQ:1,
Client:"192.168.2.200", User:"VM\ap"
2021-05-10T11:00:01 Denial LicenseID:3-5430062-6001494-54, FC:6000010, PC:42, LQ:3,
Client:"192.168.2.55", User:"ABC\db"
2021-05-10T11:20:19 Denial LicenseID:3-5430061-6001494-18, FC:6000010, PC:999, LQ:1,
Client:"10.49.205.3", User:"ABC\cd"
2021-05-10T12:01:33 Denial LicenseID:3-5430063-6001494-99, FC:6000010, PC:123, LQ:1,
Client:"192.168.2.106", User:"ABC\ap"
2021-05-10T12:10:00 Denial LicenseID:3-5430061-6001494-17, FC:6000010, PC:999, LQ:1,
Client:"10.49.205.3", User:"ABC\cd"
2021-05-10T13:59:59 Denial LicenseID:3-5430062-6001494-54, FC:6000010, PC:42, LQ:3,
Client:"192.168.2.55", User:"ABC\dabu"
2021-05-10T14:05:48 Denial LicenseID:3-5430062-6001494-54, FC:6000010, PC:42, LQ:1,
Client:"192.168.2.55", User:"ABC\db"
2021-05-10T14:49:53 Denial LicenseID:3-5430063-6001494-99, FC:6000010, PC:123, LQ:1,
Client:"192.168.2.106", User:"ABC\ap"
Additional cmu options
The following list s hows additional cm u options:
Options Description
/f <file> or --file Additional option w hic h w rites the command result into a file <file> . This option is used in combination w ith
<file> the commands --context , --import , --cmdust .
/s <serial> or -- Additional option w hic h defines that a command is valid only for a CmContainer specified by its serial number
serial <serial> <serial> , e.g. "1-10234242".
/p <pwd> or --password Additional option in combination w ith the commands --enable and --firmware-update . This option
<pwd> defines the required CodeMeter Passw ord for this command.

--firmcode <fc> Additional option in combination w ith the commands --borrow or --return specifying the Firm Code of the
borrow ed license.
--productcode <pc> Additional option in combination w ith the commands --borrow or --return specifying the Product Code of
the borrow ed license.
--featuremap <fm> Additional option in combination w ith the commands --borrow or --return specifying the Feature Map of the
borrow ed license.
--server <servername> Additional option to borrow a license from another server. Is used in combination w ith command --borrow .
--write Additional option used in combination w ith the command --detect-proxy w hic h saves the setting using the
CodeMeter profiling. These settings are w ritten only if no proxy has been previously set in the profiling. For
overw riting the settings use the option --force .
--force Additional option used in combination w ith the command --detect-proxy w hic h overw rites already
existing proxy settings in the CodeMeterÒ profiling.
--show-config-disk Show s the current settings of removable/fixed drives or of the type of the defined Master Boot Record (MBR).
This option concerns the behavior of virtual flas h memory partitions. Use only for CmStick and CmStick/M.
--set-config-disk Allow s to define a special behavior of virtual flas h memory partitions, e.g. drive settings, boot code or
<parameter> activations (CmDongle only).

Please note that replugging of the CmDongle is required.

Description Parameter
Drive settings RemovableDisk,LocalDisk
Boot Code Int18Boot,ZeroBoot,LoopBoot,SwapBoot,VbrBoot
Activation ActivePartition,InactivePartition
FA T Fat16,Fat32
USB-Communication Device Class HidCommunication; MsdCommunication
--check-cm-integrity Allow s to c heck the CodeMeter signature.
--export-acl allow s you to export the list of License Access Permissions (ACL, Access Control List).
Please use the --file 106 option to specify the file name.
The specification of absolute paths is supported. If no path is specified, the file is located in the local directory.
The export is possible during operation, the CodeMeter W ebAdmin service does not have to be stopped or
started separately.

115
CodeMeter Administrator Manual 7.40b - April 2022

Options Description
The list is exported in *.json format. No file extension must be specified. The file is editable. For information
about format conventions to be used please contact Wibu-Systems Support.
Currently this command is only supported for Window s operating systems. A support of Triple Mode
Redundancy ( TMR) is currently not implemented.

--import-acl allow s you to import the list of License Access Permissions (ACL, Access Control List).
Please use the --file 106 option to specify the file name.
The specification of absolute paths is supported. If no path is specified, the file is located in the local directory.
The import is possible during operation, the CodeMeter W ebAdmin service does not have to be stopped or
started separately.
The list is imported in *.json format. No file extension must be specified. The file is editable. For information
about format conventions to be used please contact Wibu-Systems Support.
Currently this command is only supported for Window s operating systems. A support of Triple Mode
Redundancy ( TMR) is currently not implemented.

Application examples
Action Parameter
Displaying cmu options Cmu[32].exe -h
Creating a CodeMeter Remote Activation Context File (here:1- Cmu[32].exe -c10 -f1-140870.WibuCmRaC
1040870.WibuCmRaC ) for the Firm Code 10 (Firm Item level)
Importing a CodeMeter Remote Activation Update File (here:1- Cmu[32].exe -i -f1-1040870.WibuCmRaU
1040870.WibuCmRaU ) --> reprograms the connected CmContainer
Show ing the versions of current CodeMeter components. cmu[32] --version
Listing all available CodeMeter netw ork license server and if existing cmu[32] --list-server --list-content
all related licenses.
Starting 100 simple tests. The tests are executed only for the cmu[32] --test 100 --serial 1-233232
CmContainer specified by the serial number of 1-233232 .

Changing the enabling status to "temporarily enabled" for the cmu[32] --enable2 --serial 1-2345 --password
CmContainer 1-2345 by using the CodeMeter passw ord "SECRET". SECRET

116
Manual
CodeMeter License Tracking

1.11 CodeMeter License Tracking


Starting with Version 4.50 CodeMeter introduces license tracking allowing for the evaluation of licensing data based on
structured logfiles. With it the actual use of licenses is recorded.
However, Wibu-Systems does not offer a separate application for license tracking but suggests that software vendors who
want to evaluate how their licenses are used refer to tools by third parties able to aggregate information from real-time
requests or logfiles.
Secure Licence Tracking
Starting with Version 5.20 CodeMeter supports Secure License Tracking. This ensures that license access log data is written
manipulation-safe. Manipulation is prevented by authenticated check of data integrity using signatures.
For analyzing license access data not a single log file is created but separate logfiles for each Firm Code. Integrity and
authenticity of the log files preventing tampering is ensured by signatures and a subsequent signature check.
Validation
In order to validate either the contents of a given signed CodeMeter log file or a sequence of log files located in a given directory
use the option in Cm BoxPgm the developer tool for local programming of Cm Container using a command line (console).
Command /vslf - V alidation Of Signed Log Files
V alidates either the contents of a given signed CodeMeter log file or a sequence of log files located in a given directory.
Expects the path to the file that contains the public keys to use for validation and the path to the log file respectively log directory
as arguments.
Syntax /vslf:<public key file>,<log file>|<log directory>
The <public key file> musst be created as comma separated file (CSV ).
For this file the follow ing notation is valid:
<major version>,<minor version>, <firm code>, Ox<public key>
You can specify several different values and public keys for separate runtime versions.
You obtain the required values from one of the created CodeMeter log files.
From the CodeMeter log file:
2014-06-24T06:06:19 SignedLogfile FirmCode:10,
PublicKey:a809304778d517c44a22d65e1fcedd51a4e2a956fa89e93bb1a24e2100000000a2ad17e685306d
6e15eb6b7ebc8cc72ebc97c0f52721b584836696de00000000, Runtime-Version:5.20.1432.500,
LogfileID:1
the follow ing <public key file> is derived:
5,20,10,0xa809304778d517c44a22d65e1fcedd51a4e2a956fa89e93bb1a24e2100000000a2ad17e685306d
6e15eb6b7ebc8cc72ebc97c0f52721b584836696de00000000
Currently, the logfile content is saved locally but for future version its is planned that contents may also be retrieved using HTTP
access and calls (real-time history).
If the logfiles need to be read from other systems, you must s hare the folder where the logfiles are stored as read-only
in your local area network.

The following sections briefly:


· s how how to configure License Tracking
117

· introduce definitons and value ranges used in the logfile 119

· describe single logfile entry types


120

1.11.1 Requirements and Configuration


Using the CodeMeter feature License Tracking requires at least CodeMeter License Server Version 4.50.
Using the feature Secure License Tracking requires at least CodeMeter License Server Version 5.20.
Configuration
The logging of licensing data must be activated together with CodeMeter License Server. This you do by direct activation in the
CodeMeter Profiling environment.

Profiling
For Windows operating systems you find the profiling entries stored in the registry, for other operating systems entries are set
in the file server.ini. The following table s hows you the respective locations.
Operating system Registry / Server.ini Entry

Window s HKLM/SOFTWARE/WIBU-SYSTEMS/CodeMeter/Server/CurrentVersion
macOS /Library/Preferences/com.wibu.CodeMeter.Server.ini
Linux /etc/wibu/CodeMeter/Server.ini

117
CodeMeter Administrator Manual 7.40b - April 2022

The following relevant profiling entries for License Track ing exist.
Entry Property V alue

LogLicenseTracking [DWord] [0;1]

Default value is is 0 and Logging for License Tracking is disabled.

LogLicenseTrackingPath/ [SZ] <path>


[Firm Code]/
Default path on Window s operating systems is %ProgramData%
\CodeMeter\LicenseTracking.
For eac h Firm Code a separate directory is created.
For example, the log file for Firm Code 10 is saved to the directory
<LogLicenseTrackingPath>/FC10/ .
For other operating systems the default path has the same value of the general
profiling entry LogPath .
LogLicenseTrackingLogRot [DWord] [1..3500]
ationSizeInMb If a license tracking log file exceeds a siz e of x MB, the rotation starts.
The input range of x is from 1 to 3500 MB.
The default value is 1000 MB.
If the specified value is outside the input range, automatically the default value applies.
LogLicenseTrackingLogRot [DWord] [0..525600]
ationTimeInMinutes If the oldest entry of a license tracking log file is older than n minutes, the rotation starts.
The input range of n is from 0 to 525600 minutes (approx. 1 year).
Please note that after specifying n , the log file starts to rotate after a time delay of about 1
minute.
The default value is 0 minutes. Then time-based log rotating is deactivated.
If the specified value is outside the input range, automatically the default value applies.

Please note that you must stop the CodeMeter License Server service, make the change, and then restart the
CodeMeter L icense Server service before th e ch ange can take effect.

CodeMeter License Server is registered as a Windows service and can be started with user privileges. For
stopping the service, however, you need administrator privileges under Windows (System Settings | Management
| Services).

118
Manual
CodeMeter License Tracking

Logfile Rotation
In order to manage the constant growth of log files efficiently, CodeMeter offers a rotating system in the area of license tracking.
This system can be set via two parameters in profiling.
· LogLicenseTrackingLogRotationSizeInMb
If a license tracking log file exceeds a size of x MB, the rotation starts.
The input range of x is from 1 to 3500 MB.
· The default value is 1000 MB.
If the specified value is outside the input range, automatically the default value applies.
· LogLicenseTrackingLogRotationTimeInMinutes
If the oldest entry of a license tracking log file is older than n minutes, the rotation s hould start.
The input range of n is from 0 to 525600 minutes (approx. 1 year).
Please note that after specifying n, the log file starts to rotate after a time delay of about 1 minute.
The default value is 0 minutes. Then time-based log rotating is deactivated.
If the specified value is outside the input range, automatically the default value applies.
1.11.2 Logfile Format
The following logic applies to the format of the logfile.
1. Each line in the logfile can be handled separately. There exist separate lines for different entry types . 120

2. Each line that does not match to the described formats has to be ignored.
This will allow us to enhance the output in future versions without causing trouble in working solutions.
It is also recommended to do a parsing of the different arguments of a line and simply to ignore arguments that are not
known.
This allows us to enhance the output in future versions without causing trouble in working solutions.

1.11.2.1 Definitions and Value Ranges


For the logfile and single entry types the following definitions and value ranges are used:
Definition V alue Range
access ID string
The <access ID> is given by the server and extends the <license ID> by an index
describing the slot, i.e. <license ID> -<slot ID> .

application ID [0..4294967295]
application text string
enabling block index [0..31]
expiration time ["never"|UTC Timestamp]
feature map [0..4294967295]
firm code [0..4294967295]
hash string
license ID string
The <license ID> is automatically derived as <mask>-<serial number>-<firm code>-
<product item reference> , e.g. “2-1500002-100532-18 ”. The <license ID> is a
unique IDentifier for a license entry.
license quantity [0..4294967295]
list of hashes string
logfileID [0..4294967295] ID value of the log file.
In order to prevent that a single or several log files can be deleted eac h log file must have a separate ID.
mask [0..65535]
namelist id [1..4294967295]

119
CodeMeter Administrator Manual 7.40b - April 2022

number of users [0..5000]


product code [0..4294967295]
product item reference [0..4294967295]
product item text string
serial [0..4294967295]
server string
slot ID [0..4294967295]
timestamp UTC Timestamp
UTC Timestamp sample: “2012-12-24T08:32:59 ”.

Since the strings may contain quotation marks (") but may also be bracketed expressions, any quotation marks that are
part of the string are quoted by a backslas h (\). For example, the application text The b est of "John Doe." will be issued as
...AppText: "The best of \"John Doe.\""

1.11.3 Entry Types


The CodeMeter license tracking logfile knows the following listed entry types.
List of Licenses 120
License 120
Access 121
Release
121

Borrow Access 121


Borrow Return 121
Denial 121
UpdateNameList 122
Administrative 122
SignedLogfile 122
Signature 123

1.11.3.1 List of Licenses Entry


Entry type List of Licenses entry
Description A list of License entries is preceded by a List of Licenses entry.
This indicates that in the follow ing lines all existing licenses of this server are listed.
A previously retrieved list of License entries becomes invalid.
Writing time The List of Licenses entry is w ritten immediately before the list of License entries is w ritten.
Syntax <timestamp> ListOfLicenses

1.11.3.2 License Entry


Entry type License entry
Description The License entry describes an existing license.
Writing time All License entries are w ritten to the logfile:
· on startup of CodeMeter License Server
· eac h time w hen an entry is c hanged, e.g. by plugin / plugout or remote programming.
In the cases mentioned above, all License entries of the current server are w ritten preceded by a List of
Licenses 120 entry.

120
Manual
CodeMeter License Tracking

Syntax <timestamp> License Server:"<server>", LicenseID:<license ID>, SN:<mask>-


<serial>, FC:<firm code>, PC:<product code>, FM:<feature map>, ET:<expiration
time>, LQ:<license quantity>, PT:"<product item text>"

Before all License entries are re-written on changing entries all allocated licenses are released by a Release entry. Immediately
after issuing the License entries the previously released licenses are again allocated by an Access entry.
This is necessary because license IDs can change on re-programming or on plugout and the subsequent rebooking.
Moreover, the access ID may change by automatic rebooking after plugout.
Licenses with a License Quantity value of 0 (license for local use use) are not listed.
The Expiration Time contains the minimum of the Product Item Option Expiration Time and the value of an activated Product
Item Option Usage Period. If neither an Expiration Time is set nor a Usage Period exists or is activated the value is “never”.
1.11.3.3 Access Entry
Entry type Access entry
Description An Access entry describes that a license on a server is allocated to a user.
Writing time The Access entry is w ritten at the moment a license is accessed.
Syntax <timestamp> Access Server:"<server>", LicenseID:<license ID>, AccessID:<access
ID>, Client:"<computer name>", User:"<user name>", AppID:<application ID>,
AppText:"<application text>"

The application ID and application text are derived from CMCREDENTIAL structure using mulUserDefinedID and
mszUserDefinedText.

1.11.3.4 Release Entry


Entry type Release entry
Description A Release entry describes that a user has released a formerly accessed license on a server.
Writing time The Release entry is w ritten at the moment a license is released.
Syntax <timestamp> Release Server:"<server>", AccessID:<access ID>

1.11.3.5 Borrow Access Entry


Entry type Borrow Access entry
Description A Borrow Access entry describes that a user has borrow ed a license from a server.
Writing time The Borrow Access entry is w ritten at the moment a license is borrow ed.
In addition, the Borrow Access entry is w ritten w hen CodeMeter License Server is started and there already exist
borrow ed licenses.
Syntax <timestamp> Borrow Server:"<server>", LicenseID:<license ID>, BorrowID:<borrow
ID>, Client:"<computer name>", User:"<user name>", Expires:<expiration time>,
BorrowSn:< mask>-<serial>

1.11.3.6 Borrow Return Entry


Entry type Borrow Return entry
Description A Borrow Return entry describes that either a user has returned a borrow ed license on a server or the borrow duration
has expired and the license w as returned automatically.
Writing time The Borrow Return entry is w ritten at the moment a license is returned.
Syntax <timestamp> Return Server:"<server>", BorrowID:<borrow ID>

1.11.3.7 Denial Entry


Entry type Denial entry
Description A Denial entry describes that a user requested a license but did not get one because no more licenses could be
allocated.

121
CodeMeter Administrator Manual 7.40b - April 2022

It w ill not s how license requests of licenses that do not exist on this server.
Writing time The Denial entry is w ritten at the moment a license access has failed.
Syntax <timestamp> Denial Server:"<server>", LicenseID:<license ID>, Client:"<computer
name>", User:"<user name>", AppID:<application ID>, AppText:"<application text>"

A Denial entry is only logged if error 212 (CMERROR_NO_MORE_LICENSES) occurs.

1.11.3.8 UpdateNameList entry


Entry type UpdateNameList entry.
If license tracking is not activated, an error message is displayed w hen loading the NameList files, w hen
starting CodeMeter and w hen importing a new NameList file.

Description The UpdateNameList entry s how s describes a c hange in the NameList of NamedUsers .
Writing time The UpdateNameList entry is w ritten after a NameList has been imported, e.g. by cmu.
Additionally the UpdateNameList entry is w ritten w hen CodeMeter License Server is started and there are NameLists . In
this case OldHash and NewHash are the same.
Syntax <timestamp> UpdateNameList NameListId:<namelist id>, Users:<number of users>,
Added:<number of users>, Removed:<number of users>, HashedAddedUsers:"<list of
hashes>", HashedRemovedUsers:"<list of hashes>", OldHash:"<hash>",
NewHash:"<hash>"
Users describes the new total number of entries of the NameList .
Added describes the number of added entries to the NameList regarding this import.
Removed describes the number of removed entries from the NameList regarding this import.
In HashedAddedUsers and HashedRemovedUsers the first 8 bytes of the has h of the added / removed NameList entries are
listed, separated by comma. If no NameList entry is added or removed, the corresponding value is an empty string, e.g.
HashedAddedUsers :"" .
OldHash represents that has h value of the internal format of the NameList that w as used prior to the update. This
internal format is also stored as backup for next start of CodeMeter. If the NameList is created first time, OldHash is an
empty string.
NewHash represents that has h value of the internal format of the new NameList after the update. If the NameList is
deleted, w hic h is done by sending no entries in the NameList on import, NewHash is an empty string.

1.11.3.9 Administrative Entry


Entry type Administrative entry
Description An Administrative entry describes some event on the CodeMeter License Server.
Writing time The Administrative entry is w ritten at the moment the described event occurred.
Syntax <timestamp> Admin Server:"<server>" CodeMeter_started <timestamp>
is w ritten only on start of the TMR Setup and also only in the first logfile for eac h Firm Code.

<timestamp> Admin Server:"<server>" CodeMeter_stopped

If CodeMeter License Server is stopped, all Access entries are automatically canceled. Only Borrow Access entries remain
valid and will be restored on next start of CodeMeter License Server. Usually, the Release entries are automatically added
to the log, but in some circumstances this is not possible, e.g. killing CodeMeter License Server.

1.11.3.10 SignedLogfile Entry


Entry type SignedLogfile entry
Description The SignedLogfile entry corresponds to the header and holds the Public Key.
Writing time The SignedLogfile entry is w ritten at the moment the logfile is created.

122
Manual
CodeMeter License Tracking

Syntax <timestamp> SignedLogfile FirmCode: <FirmCode>, PublicKey: <PublicKey>, Runtime-


Version: <Version>, LogfileID: <LogfileID>
<timestam UTC time stamp: <YYYY>-<MM>-<DD>-<hh><mm><ss> .
p>
<FirmCode Firm Code of the content of this logfile.
>
<PublicKe Public Key belonging to the Private Key used to sign the logfile.
y>
<Version> CodeMeter License Server V ersion w hic h generated the logfile. The version specification follow s the s hort
format: (<Major>.<Minor two-numbered>.<Build>.<Count> )
<LogfileI ID value of the logfile.
D> In order to prevent that one or several logfiles are deleted, eac h logfile must have an ID. Eac h logfile created
during a single running instance of CodeMeter License Server has the same LogfileID .
The latest LogfileID is w ritten from the profiling value “SignedLogfileID” and is incremented on the
next start of CodeMeter License Server. If no profiling entry “SignedLogfileID ” is found an initial value
of 1 is assumed.

2014-02-07T10:34:33 SignedLogfile FirmCode:10,


PublicKey:b4342ec15183992be75ee5e702ea7d118ebb489046df1b15393cdf8d000000007b3a92afaf
e35f6505222841d65610e75749bf9d572a0eea83d1d6be00000000, Runtime-
Version:5.11.1343.201, LogfileID:13

1.11.3.11 Signature Entry


Entry Signature entry
type
Descrip The Signature entry hold the signature of the section last w ritten.
tion
Writing The Signature entry is w ritten at the moment the section is signed.
time
Syntax <timestamp> Signature Signature: <Signature>

<timestamp UTC time stamp: <YYYY>-<MM>-<DD>-<hh><mm><ss> .


>
<Signature Calculated signature value of the logfile using the secret signature key (Private Key). This value allow s anybody to
> c heck the integrity of the logfile using the public verification key (Public Key 123 ).

2014-02-07T10:34:43 Signature
Signature:75998652881c0c56ce7b391c3638c1a5540e12cab282e2c3c82a0a0a000000008cf46fd7a025939b7d
86dfff8b4bdc01073da2eed7326bc351a335cb00000000

123
CodeMeter Administrator Manual 7.40b - April 2022

1.12 License Access Permissions: Access Controll List (ACL)


CodeMeter offers the feature to control license accesses with the help of a list of license access permissions: the so-called
Access Control List (ACL).
The rulesets that control these license accesses can be created, for example, in CodeMeter WebAdm in. For detailed
information about rulesets 75 see the CodeMeter Administrator Manual and/or the CodeMeter User Help.
In addition, an import/export interface allows these rules to be edited externally. Using the CodeMeter command line tool
cm u , ACLs corresponding to a defined JSON format can be imported and/or exported.
106

A specification of the grammar is a prerequisite for automated generation or validation.


This document is intended for people with basic CodeMeter and JSON knowledge. The goal is to provide the necessary basics
to implement the following use cases:
· Import and export of lists
· (automated) creation of lists
· (automated) validation of lists
Structure of the documentation
This documentation is divided into different sections.
The following sections describe the system requirements 124 and provide an overview of ACL terms 124 as an introduction.
Subsequently, the section Creating ACL sample lists 125 cover step-by-step instructions on how to create an ACL with
CodeMeter We bAdm in and import and export with cmu. R ulesets for different levels (Cm Conta iner, Firm Code, Product Code) are

created and the corresponding JSON representations are explained.


The section The JSON format of ACL 132 provides a reference about the contents and structure of the JSON format as well as
its semantics.
Finally, the appendix 135 includes:
· further examples
· a formal grammar specification (EBN F) of the ACL.
This section addresses requirements for automated processing of the format.
1.12.1 System requirements
The following system requirements apply for using extended license access permissions (ACL, Access Control List):
· Windows 10 operating system (recommended)
· CodeMeter installation (at least version 7.20)
· Active Directory (w hen using group and user rules)

1.12.2 Terms and definitions


For a better understanding, please refer to the following list of terms.
Term Description
ACL Access Control List (ACL): List of license access permissions with rules to
control CodeMeter license accesses.
All-Container-Ruleset Rule set at Cm Container level without restriction to a single container
ContainerRuleset Rule set at Cm Container level

FC Firm Code
FcRuleset Rule set at Firm Code level
FirmItemText Text of a Firm Item
Global Ruleset Most general rule set
PC Product Code
PcRuleset Rule set at Product Code level
ProductItemText Texts of a Product Item - can be used for specification
Rule Rule definition - applicable rule
Ruleset Rule set - may contain rules and further specializing rule sets

124
Manual
License Access Permissions: Access Controll List (ACL)

1.12.3 Creating ACL example lists


The following section s hows as an example the creation of a simple list using CodeMeter WebAdm in and its associated
JSON representation. For more information, especially on the use of CodeMeter WebAdm in, please refer to the CodeMeter
Developer Guide (topic: License Access Permissions).
The manual describes the procedure for the Windows operating system.
Requirements
The following steps require:
· CodeMeter version greater than or e qual to version 7.20 is installed.
· The services CodeMeter L icense Server and CodeMeter WebAdm in are started.
· At least one license with Firm Code and Product Code (FC:PC) is displayed in CodeMeter WebAdm in.

1.12.3.1 Step 1: Creating an enpty ACL


1. Open the CodeMeter WebAdm in interface via CodeMeter Control Center.
2. Navigate to "Configuration I Server Configuration I License Access Permissions ".
3. On this page, the "Advanced" mode s hould be selected, if the "Basic" selection displays.
Defined rules in the Advanced Mode Configuration group s hould be deleted.
4. Any necessary changes must be confirmed by clicking the "Apply" button.

5. Exporting an empty ACL with the cm u command line tool.


> cmu32 --export-acl -f01_ACL_Empty.json

SUCCESS: License Access Permissions (Access Control List) were exported to: 01_ACL_Empty.json
List output using cm u
> type 01_ACL_Empty.json
The output s hows the global parameters Enabled, GroupsMaximumNumber and UsersMaximumNumber as well as the
AccessControlList object with a Default rule and an empty list of container rule sets.
{
"AccessControlList": {
"ContainerRulesets": [
],
"Rules": [
{
"Action": "Allow",
"Allocated": 0,
"Limit": 0,

125
CodeMeter Administrator Manual 7.40b - April 2022

"Reserved": 0,
"RuleId": 0,
"Type": "Default",
"Value": "",
"__type": "Rule"
}
],
"__type": "AccessControlList"
},
"Enabled": true,
"GroupsMaximumNumber": 10000,
"UsersMaximumNumber": 10000
}
1.12.3.2 Step 2: Creating an ACL with specific Container rule set
Based on the empty ACL created in step 1, a rule is next created for a Cm Container. Exemplary with the serial number 130-
729831162. The state after step 1 125 can be establis hed by importing the created (empty) ACL.
1. Importing the empty ACL.
> cmu32 --import-acl -f01_ACL_Empty.json

SUCCESS: License Access Permissions (Access Control List) were imported from: 01_ACL_Empty.json
The result can be checked on the CodeMeter WebAdm in interface. It may be necessary to reload the page in the browser.
2. Adding a new container in the specific rule set, e.g. 130-729831162, and clicking the "Apply" button.

Exportng the ACL using cm u:


> cmu32 --export-acl -f02_ACL_Container.json

SUCCESS: License Access Permissions (Access Control List) were exported to:
02_ACL_Container.json
Output the list result with cmu (line numbers added):
> type 02_ACL_Container.json

1 {
2 "AccessControlList": {
3 "ContainerRulesets": [
4 {
5 "FcRulesets": [
6 ],
7 "Rules": [
8 {
9 "Action": "Allow",
10 "Allocated": 0,
11 "Limit": 0,
12 "Reserved": 0,
13 "RuleId": 0,
14 "Type": "Default",
15 "Value": "",
16 "__type": "Rule"
17 }
18 ],

126
Manual
License Access Permissions: Access Controll List (ACL)

19 "Text": "FB52232",
20 "Value": "130-729831162",
21 "__type": "ContainerRuleset"
22 }
23 ],
24 "Rules": [
25 {
26 "Action": "Allow",
27 "Allocated": 0,
28 "Limit": 0,
29 "Reserved": 0,
30 "RuleId": 0,
31 "Type": "Default",
32 "Value": "",
33 "__type": "Rule"
34 }
35 ],
36 "__type": "AccessControlList"
37 },
38 "Enabled": true,
39 "GroupsMaximumNumber": 10000,
40 "UsersMaximumNumber": 10000
41 }
The rule set defined in CodeMeter WebAdm in is part of the ContainerRulesets (line 3-23).
Following is a slightly differently formatted representation:
3 "ContainerRulesets": [
4 {
5 "FcRulesets": [],
6
7 "Rules": [
8 {
9 "Action": "Allow",
10 "Allocated": 0,
11 "Limit": 0,
12 "Reserved": 0,
13 "RuleId": 0,
14 "Type": "Default",
15 "Value": "",
16 "__type": "Rule"
17 }],
18
19 "Text": "FB52232",
20 "Value": "130-729831162",
21 "__type": "ContainerRuleset"
22 }],
23
The snippet s hows:
· N o further speciali zation exists for this Cm Container at Firm Code level (list in line 5 is empty).
· N o rule has been defined. Lines 7-17 contain only the Default rule that is always present.
· The name of the container is FB52232 (Key "Text", line 19).
· The serial number is 130-729 831162 (Key "Value", line 20).
· It is a container object (Key "__type", line 21)
1.12.3.3 Step 3: Creating an ACL with a Firm Code ruleset (without Container assignment)
Starting from the empty ACL created in step 1 125 , this step adds a rule to a Firm Code, e.g. 6000010 with Firm Item Text "Test FC").
The state after step 1 can be establis hed by importing the created (empty) ACL.
1. Importing the empty ACL.
> cmu32 --import-acl -f01_ACL_Empty.json

127
CodeMeter Administrator Manual 7.40b - April 2022

SUCCESS: License Access Permissions (Access Control List) were imported from: 01_ACL_Empty.json
The result can be checked on the CodeMeter WebAdm in interface. It may be necessary to reload the page in the browser.
2. Adding a new Firm Code in the specific rule set, e.g. 6000010 with Firm Item Text "Test FC"), and clicking the "Apply" button.

Exporting the ACL using cm u:


> cmu32 --export-acl -f03_ACL_FC_Only.json

SUCCESS: License Access Permissions (Access Control List) were exported to: 03_ACL_FC_Only.json
List output result using cm u:
> type 03_ACL_Container.json
{
"AccessControlList": {
"ContainerRulesets": [
{
"FcRulesets": [
{
"PcRulesets": [
],
"Rules": [
{
"Action": "Allow",
"Allocated": 0,
"Limit": 0,
"Reserved": 0,
"RuleId": 0,
"Type": "Default",
"Value": "",
"__type": "Rule"
}
],
"Text": "Test FC",
"Value": 6000010,
"__type": "FcRuleset"
}
],
"Rules": [
{
"Action": "Allow",
"Allocated": 0,
"Limit": 0,
"Reserved": 0,
"RuleId": 0,
"Type": "Default",
"Value": "",
"__type": "Rule"
}
],
"Text": "All Containers",
"Value": "All",
"__type": "ContainerRuleset"
}
128
Manual
License Access Permissions: Access Controll List (ACL)

],
"Rules": [
{
"Action": "Allow",
"Allocated": 0,
"Limit": 0,
"Reserved": 0,
"RuleId": 0,
"Type": "Default",
"Value": "",
"__type": "Rule"
}
],
"__type": "AccessControlList"
},
"Enabled": true,
"GroupsMaximumNumber": 10000,
"UsersMaximumNumber": 10000
}
No rules have been defined yet, only a set of rules at "Firm Code" level.
Default rule
In this case, however, an ACL object is assigned a (Default) rule. This always has the following content:
{
"Action": "Allow",
"Allocated": 0,
"Limit": 0,
"Reserved": 0,
"RuleId": 0,
"Type": "Default",
"Value": "",
"__type": "Rule"
}
In the following, this rule is replaced by the entry. After an insertion of line numbers and some reformatting, the result looks
as follows:
1 {
2 "AccessControlList": {
3 "ContainerRulesets": [
4 {
5 "FcRulesets": [
6 {
7 "PcRulesets": [],
8 "Rules": [<Default-Rule>],
9 "Text": "Test FC",
10 "Value": 6000010,
11 "__type": "FcRuleset"
12 }],
13 "Rules": [<Default-Rule>],
14 "Text": "All Containers",
15 "Value": "All",
16 "__type": "ContainerRuleset"
17 }],
18 "Rules": [<Default-Rule>],
19 "__type": "AccessControlList"
20 },
21 "Enabled": true,
22 "GroupsMaximumNumber": 10000,
23 "UsersMaximumNumber": 10000
24 }
The object AccessControlList covers the lines 2-20 and holds a list with a ContainerRuleset (i.e. AllContainer-
Ruleset):

129
CodeMeter Administrator Manual 7.40b - April 2022

3 "ContainerRulesets": [
4 {
5 "FcRulesets": [
6 {
7 "PcRulesets": [],
8 "Rules": [<Default-Rule>],
9 "Text": "Test FC",
10 "Value": 6000010,
11 "__type": "FcRuleset"
12 }],
13 "Rules": [<Default-Rule>],
14 "Text": "All Containers",
15 "Value": "All",
16 "__type": "ContainerRuleset"
17 }]
The AllContainer ruleset is selected if no matching rule set is found for a container. The rule set defined for Firm Code
6000010 of the example can be found in lines 5-12:
5 "FcRulesets": [
6 {
7 "PcRulesets": [],
8 "Rules": [<Default-Rule>],
9 "Text": "Test FC",
10 "Value": 6000010,
11 "__type": "FcRuleset"
12 }],
No rule has been defined at Product Code level for this Firm Code. For this reason, the PcRulesets list (line 7) is empty. Lines
9-10 contain the Firm Code and the Firm Item Text. The type of the object is in line 11.
1.12.3.4 Step 4: Creating an ACL with a Firm Code rule set (with Container assignment)
Based on the ACL with Container-Ruleset created in step 2 126
(for 130-729831162), this section defines a rule set for a
Firm Code 6000010 in this container.
1. Importing the ACL.
> cmu32 --import-acl -f 02_ACL_Container.json

SUCCESS: License Access Permissions (Access Control List) were imported from:
02_ACL_Container.json
The result can be checked on the CodeMeter WebAdm in interface. It may be necessary to reload the page in the browser.
2. Adding a rule set to a Firm Code 6000010 in CodeMeter WebAdm in to container 130-729831162 and clicking the "Apply"
button.
3. Exporting the ACL using cm u:
> cmu32 --export-acl -f04_ACL_Container_FC.json

SUCCESS: License Access Permissions (Access Control List) were exported to:
04_ACL_Container_FC.json
Output the list result (line numbers added and default rules replaced):
> type f04_ACL_Container_FC.json
1 {
2 "AccessControlList": {
3 "ContainerRulesets": [
4 {
5 "FcRulesets": [
6 {
7 "PcRulesets": [],
8 "Rules": [<Default-Rule>],
9 "Text": "",
10 "Value": 6000010,
11 "__type": "FcRuleset"

130
Manual
License Access Permissions: Access Controll List (ACL)

12 }],
13 "Rules": [<Default-Rule>],
14 "Text": "FB52232",
15 "Value": "130-729831162",
16 "__type": "ContainerRuleset"
17 }],
18 "Rules": [<Default-Rule>],
19 "__type": "AccessControlList"
20 },
21 "Enabled": true,
22 "GroupsMaximumNumber": 10000,
23 "UsersMaximumNumber": 10000
24 }
Lines 3-17 s how entries for the defined container rule set. Within the area is also the definition of the single Firm Code rule
set (lines 6-17).
1.12.3.5 Step 5: Creating an ACL with a Product Code rule set (with Container assignment)
Based on the ACL with Container and Firm Code rule set created in step 4 130 , this section defines a rule set for a Product Code in it.
In contrast to the previous examples, a concrete rule for localhost is defined in it. The state after step 4 is establis hed and
then the ACL created there is imported:
1. Importing the ACL.
> cmu32 --import-acl -f 04_ACL_Container_FC.json

SUCCESS: License Access Permissions (Access Control List) were imported from:
04_ACL_Container_FC.json
The result can be checked on the CodeMeter WebAdm in interface. It may be necessary to reload the page in the browser.
2. In the CodeMeter WebAdm in interface, the corresponding Firm Code rule set is selected and a Product Code (rule set) is
added. A new rule is added to the (Product Code) rule set. In the dialog that opens, the following is entered under Computer
localhost.

Exporting the ACL using cm u:


> cmu32 --export-acl –f 05_ACL_Container_FC_PC_Rule.json

SUCCESS: License Access Permissions (Access Control List) were exported to:
05_ACL_Container_FC_PC_Rule.json
Output of the result list (line numbers added and default rules 129
reduced):
> type f05_ACL_Container_FC_PC_Rule.json
1 {
2 "AccessControlList": {
3 "ContainerRulesets": [
4 {
5 "FcRulesets": [
6 {
7 "PcRulesets": [
8 {
9 "ActivePiText": 0,
10 "AllocatedLicenses": 0,
11 "LicenseQuantity": 1,
12 "Rules": [
13 {

131
CodeMeter Administrator Manual 7.40b - April 2022

14 "Action": "Allow",
15 "Allocated": 0,
16 "Limit": 0,
17 "Reserved": 0,
18 "RuleId": 1,
19 "Type": "Host",
20 "Value": "localhost",
21 "__type": "Rule"
22 },
23 <Default-Rule>],
24 "Text": "Test FC",
25 "Value": "6000010:2000",
26 "__type": "PcRuleset"
27 }],
28 "Rules": [<Default-Rule>],
29 "Text": "",
30 "Value": 6000010,
31 "__type": "FcRuleset"
32 }],
33 "Rules": [<Default-Rule>],
34 "Text": "FB52232",
35 "Value": "130-729831162",
36 "__type": "ContainerRuleset"
37 }],
38 "Rules": [<Default-Rule>],
39 "__type": "AccessControlList"
40 },
41 "Enabled": true,
42 "GroupsMaximumNumber": 10000,
43 "UsersMaximumNumber": 10000
44 }
The rule set defined in this section (in CodeMeter WebAdm in) for container 130-729831162, FC 6000010, PC 2000 is
represented in lines 7-27. The rule defined for localhost fills lines 13-22:
13 {
14 "Action": "Allow",
15 "Allocated": 0,
16 "Limit": 0,
17 "Reserved": 0,
18 "RuleId": 1,
19 "Type": "Host",
20 "Value": "localhost",
21 "__type": "Rule"
22 }, Access Permissions (Access Control List) were exported to:
05_ACL_Container_FC_PC_Rule.json

A rule has been defined for a computer. This includes the entry for the key "Type" in line 19. In line 20, the name
"localhost" is found for the "Value".
1.12.4 The JSON format of the ACL
The AccessControlList defines a hierarchical structure of (access) rules with increasing specialization. If several rules of
different specialization match a license access (Access), the most special rule is selected.
The following hierarchy levels exist:
· without container assignment
· a
Cm Cont iner

· Firm Code
· Product Code
Rules or rule sets can be defined for each of these levels. These have a JSON object representation.
Each object is specified by its type (key "__type"). According to the hierarchy levels the following types exist:
· AccessControlList
132
Manual
License Access Permissions: Access Controll List (ACL)

· ContainerRuleset
· FcRuleset
· PcRuleset
· Rule
1.12.4.1 Semantik
1.12.4.11 General ACL parameter
General ACL parameters are part of the top level of the hierarchy.
{
"AccessControlList": […],
"Enabled": bool,
"GroupMaximumNumber": number,
"UserMaximumNumber": number
}

Parameter Description
Enabled Activation (true) / deactivation (false) of the ACL
GroupMaximumNumber Maximum number of groups to be kept in the cache (default: 10000).
UserMaximumNumber Maximum number of users to be kept in the cache (default: 10000).

1.12.4.12 ACL objects


The following ACL objects exist:
· General ACL parameter 133

1.12.4.1.2.1 AccessControlList
{
"__type":"AccessControlList",
"ContainerRulesets": [...],
"Rules": [...]
}
AccessControlList is the base object of the ACL. This object can contain the following properties::
Key Value Description
"__type" “AccessControlList” Type identifier
“ContainerRulesets” ContainerRuleset List of rule sets, specialized for containers
“Rules” Rule Global rules

1.12.4.1.2.2 ContainerRuleset
{
"__type": "ContainerRuleset",
"Value": "string",
"FcRulesets": [...],
"Rules": [...]
}

With the help of the ContainerRuleset object a specialization for a Cm Container (via serial number) can be made. A special
feature is the "All-Container" ruleset. Rule sets contained there are provided for selection, if no rule set with matching serial
number exists.

Key Value Description


"__ type" “ ContainerRuleset” Type identifier
“ FcRulesets” FcRuleset List with rule sets, further specialized for Firm Codes
“ Rules” Rule Rules for this container

133
CodeMeter Administrator Manual 7.40b - April 2022

1.12.4.1.2.3 FcRuleset
{
"__type": "FcRuleset",
"Value": FC,
"Text": "FirmItemText",
"PcRulesets": [ ],
"Rules": [ ]
}
FcRuleset objects allow to restrict rule sets to a Firm Code.
Key Value Description
"__ type " “ FcRuleset” Type identifier
“Value” FC Firm Code
“Text” FirmItemText Display parameter (see CodeMeter)
“PcRulesets” PcRuleset List with rule sets, further specialized for Product Codes
“Rules” Rule Rules for this Firm Code

1.12.4.1.2.4 PcRuleset
{
"__type": "PcRuleset",
"Value": "FC:PC",
"Text": "ProductItemText",
"ActivePiText": number,
"Rules": [ ]
}
PcRuleset objects can be used to restrict the selection to a Product Code. An additional specialization on this level can be done
via the Product Item Text.
Key Value Description
"__ type " “ PcRuleset” Type identifier
“Value” “ PC:FC” Product Code and Firm Code - Firm Code must correspond to the
parent object
“Text” ProductItemText Additional specialization property
“PcRulesets” PcRuleset List with rule sets, further specialized for Product Codes
“ActivePiText” Zahl (Internal) flag for display control in CodeMeter WebAdm in
“Rules” Rule Rules for this Product Code or Product Code + Product Item Text

1.12.4.1.2.5 Rule
{
"__type": "Rule",
"RuleId": number,
"Action": "string",
"Type": "string",
"Value": "string",
"Reserved": number,
"Limit": number,
}
This object defines the actual rule to be applied.
Key Value Description
"__ type " “ Rule” Type identifier
“RuleId” Zahl ID of the rule - communication with CodeMeter WebAdm in
(0 for Default rules)
“Action” String Action: Allow or Deny
134
Manual
License Access Permissions: Access Controll List (ACL)

Key Value Description


“ Type” String Rule type (default, group, host, subnet, user)
“ Value” Zahl Current number of licenses (for display)
“ Reserved” Zahl Number of reserved licenses

“ Limit” Zahl Maximum number of licenses for this rule


1.12.4.2 General constraints
· There is only one "AccessControlList".
· Each rule set contains exactly one Default rule.
· The Firm Code specified in the PcRuleset must match the Firm Code of the parent FcRuleSet.
1.12.4.3 Comtent of single objects
1.12.4.31 Default rules
Rules of type "Default" always have the following content:
"Type": "Default"
"RuleId": 0
"Value": ""
"Limit": 0
"Reserved": 0
"Action": "Allow" | "Deny"

Here, only the value of the action to be executed is freely selectable.

1.12.4.32 The All-Container-Ruleset


The All-Container-Ruleset has the following content. Especially "Text" and "Value" have these predefined values (see
below).
{
"FcRulesets": [...],
"Rules": [...],
"Text": "All Containers",
"Value": "All",
"__type": "ContainerRuleset"
}

1.12.5 Annex
1.12.5.1 Examples
The following section contains some examples that were created with the help of CodeMeter WebAdm in and then exported.
1.12.5.11 Export
The export of a defined ACL can be performed with the help of the program cm u:
cmu32 --export-acl --file acl.txt

1.12.5.12 Import
Corresponding to the export, cm u also offers the possibility to import an ACL into CodeMeter.

Please note that a defined ACL will be overwritten in this case.

cmu32 --import-acl --file acl.txt

1.12.5.13 Globale rule for local host


{
"AccessControlList": {

135
CodeMeter Administrator Manual 7.40b - April 2022

"ContainerRulesets": [
],
"Rules": [
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 1,
"Type": "Host",
"Value": "localhost",
"__type": "Rule"
},
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 0,
"Type": "Default",
"Value": "",
"__type": "Rule"
}
],
"__type": "AccessControlList"
},
"Enabled": true,
"GroupsMaximumNumber": 10000,
"UsersMaximumNumber": 10000
}

1.12.5.2 Simple ACL for Container


{
"AccessControlList":
{
"ContainerRulesets": [
{
"FcRulesets": [],
"Rules":
[
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 0,
"Type": "Default",
"Value": "",
"__type": "Rule"
}
],
"Text": "RECEIVER",
"Value": "3-2050810",
"__type": "ContainerRuleset"
},
{
"FcRulesets": [],
"Rules":
[
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 0,
136
Manual
License Access Permissions: Access Controll List (ACL)

"Type": "Default",
"Value": "",
"__type": "Rule"
}
],
"Text": "All Containers",
"Value": "All",
"__type": "ContainerRuleset"
}
],
"Rules":
[
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 0,
"Type": "Default",
"Value": "",
"__type": "Rule"
}
],
"__type": "AccessControlList"
},
"Enabled": true,
"GroupsMaximumNumber": 10000,
"UsersMaximumNumber": 10000
}
1.12.5.3 More complex ACL
{
"AccessControlList": {
"ContainerRulesets": [
{
"FcRulesets": [
{
"PcRulesets": [
{
"ActivePiText": 0,
"Rules": [
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 1,
"Type": "Host",
"Value": "localhost",
"__type": "Rule"
},
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 2,
"Type": "User",
"Value": "WIBU\\user",
"__type": "Rule"
},
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 0,

137
CodeMeter Administrator Manual 7.40b - April 2022

"Type": "Default",
"Value": "",
"__type": "Rule"
}
],
"Text": "",
"Value": "6000010:4987",
"__type": "PcRuleset"
}],
"Rules": [
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 1,
"Type": "Host",
"Value": "localhost",
"__type": "Rule"
},
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 2,
"Type": "Host",
"Value": "pb.wibu.local",
"__type": "Rule"
},
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 0,
"Type": "Default",
"Value": "",
"__type": "Rule"
}
],
"Text": "Test FC",
"Value": 6000010,
"__type": "FcRuleset"
}
],
"Rules": [
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 0,
"Type": "Default",
"Value": "",
"__type": "Rule"
}
],
"Text": "RECEIVER",
"Value": "3-2050810",
"__type": "ContainerRuleset"
},
{
"FcRulesets": [],
"Rules": [
{
"Action": "Allow",

138
Manual
License Access Permissions: Access Controll List (ACL)

"Limit": 0,
"Reserved": 0,
"RuleId": 0,
"Type": "Default",
"Value": "",
"__type": "Rule"
}
],
"Text": "All Containers",
"Value": "All",
"__type": "ContainerRuleset"
}
],
"Rules": [
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 1,
"Type": "Host",
"Value": "localhost",
"__type": "Rule"
},
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 2,
"Type": "Host",
"Value": "XYZ.wibu.local",
"__type": "Rule"
},
{
"Action": "Allow",
"Limit": 0,
"Reserved": 0,
"RuleId": 0,
"Type": "Default",
"Value": "",
"__type": "Rule"
}
],
"__type": "AccessControlList"
},
"Enabled": true,
"GroupsMaximumNumber": 10000,
"UsersMaximumNumber": 10000
}
1.12.5.4 Formal ACL specification (EBNF)
In the syntax description language Extended Back us-Naur Form (EBNF) the following terminal symbols apply.
ACL = '{' AccessControlList ',' Enabled ',' MaxGroups ',' MaxUsers '}'

Enabled = '"Enabled": ' Boolean

MaxGroups = '"GroupsMaximumNumber": ' Number

MaxUsers = '"UsersMaximumNumber": ' Number

139
CodeMeter Administrator Manual 7.40b - April 2022

AccessControlList = AccessControlListKey ':' '{' ContainerRuleSets ',' Rules ','


AccessControlListType '}'
AccessControlListKey = '"AccessControlList"'
AccessControlListType = '"__type":"AccessControlList"'

ContainerRuleSets = ContainerRuleSetsKey ':' ('[' ContainerRulesetList ']' | '[]')


ContainerRuleSetsKey = '"ContainerRulesets"'
ContainerRulesetList = ContainerRuleset | ContainerRulesetList ',' ContainerRuleset
ContainerRuleset = '{' FcRuleSets ',' Rules ',' ContainerName ',' ContainerValue ','
ContainerRuleSetType '}'
ContainerRuleSetType = '"__type": "ContainerRuleset"'
ContainerName = '"Text": ' '"' String '"'
ContainerValue = '"Value": ' '"' String '"'

FcRuleSets = FcRuleSetsKey ':' ('[' FcRuleSetList ']' | '[]')}


FcRuleSetKey = '"FcRulesets"'
FcRuleSetList = FcRuleset | FcRuleSetList ',' FcRuleset
FcRuleSet= '{' PcRuleSets ',' Rules ',' FcName ',' FcValue ',' FcRuleSetType '}'
FcRuleSetType= '"__type": "FcRuleset"'
FcName = '"Text": ' FcFirmItemText
FcValue = '"Value": ' FcFirmCode
FcFirmItemText = '"' String '"'
FcFirmCode = Number

PcRuleSets = PcRuleSetsKey ':' ('[' PcRuleSetList ']' |'[]')


PcRuleSetKey = '"PcRulesets"'
PcRuleSetList = PcRuleset | PcRuleSetList ',' PcRuleset
PcRuleSet= '{' ActivePiText ',' Rules ',' PcName ',' PcValue ',' PcRuleSetType '}'
PcRuleSetType= '"__type": "PcRuleset"'
PcName = '"Text": ' PcProductItemText
PcProductItemText = '"' String '"'
PcValue = '"Value": ' '"'PcFirmCode':'PcProductCode '"'
PcFirmCode = Number
PcProductCode = Number
ActivePiText = '"ActivePiText": ' Number

Rules = RulesKey ':' ('[' RulesList ']' |'[]')


RulesKey = '"Rules"'
RulesList = Rule | RulesList ',' Rule
Rule = '{' RuleId ',' RuleAction ',' RuleType ',' RuleValue ',' RuleReservation ',' RuleLimit '
',' RuleObjType '}'
RuleObjType = '"__type": "Rule"'
RuleAction = '"Action": ' '"'('Allow' | 'Deny')'"'
RuleType = '"Type": ' '"'('Default' | 'Host' | 'Subnet' | 'User' | 'Group' | 'Container') '"'
RuleValue = '"Value": ' '"' String '"'
RuleLimit = '"'Limit" :' Number
RuleReservation = '"Reserved": ' Number
RuleId = '"RuleId": ' Number

Boolean = 'true' | 'false'


1.12.5.41 Information
When exporting the ACL, there is the (unspecified) key-value pair "Allocated":0 for Rules.
This entry contains only runtime information and s hould not be generated automatically. This parameter s hould also be
ignored during validation.

140
Manual
HID Support

1.13 HID Support


Starting with Version 5.0 CodeMeter supports devices that conform to the USB's Human Interface Device (HID) class
specification.
The installation of a special USB host driver is not required since the communication via the USB HID class is standardized
and the operating systems provide respective classes. Currently, the operating systems Windows, macOS, and Linux are
supported.
Alternatively to the Mass Storage Device status, thus Cm Dongles can display as HID without a drive status.

The communication class HID is available for many Cm Dongle. Please consult the respective data s heet for support
details.

Requirements
· Minimum CodeMeter Firmware 2.02
· Minimum CodeMeter R untime 5.0
The USB communication standard can be switched any time from Mass Storage Device (MSD) to Human Interface Device
(HID) or vice versa.

1.13.1 Set from Mass Storage to HID


To switch the USB communication standard from Mass Storage Device (MSD) to Human Interface Device (HID), please
proceed as follows:
1. View the status in CodeMeter WebAdm in on page "Content | CmContainer ".
A drive is assigned and no flas h memory is available.

2. Call cm u 106 .
For Windows OS call cm u call cm u by the start menu item "Start | All Programs | CodeMeter | Tools | CodeMeter
Command Prompt" ( Press "Windows" key to open Start screen | Type "CodeMeter Command Prompt" | Press "Enter"
key). For the operating systems macOS and Linux this command is provided by the usual search path parameter.
3. Enter the following command line:
cmu32 /s [Box mask-Serial number] --set-config-disk HidCommunication
The current status displays in the following command line output:
cmu32 - CodeMeter Universal Support Tool.
Version 5.00 of 2013-Jan-30 (Build 1039) for Win32
Copyright (C) 2007-2013 by WIBU-SYSTEMS AG. All rights reserved.

- CmStick/C with Serial Number 2-2251132 and version 2.01


Version: 2.01
Flash Size: no real flash available
Virtual Drive: E:
Configuration: LocalDisk with ActivePartition
File System: FAT32
Communication: Mass Storage Device
Boot-Code: Int18 Boot Code
Mdfa: 0x539

Please replug your CmDongle to apply the changes.


4. Unplug and replug the Cm Dongle.

141
CodeMeter Administrator Manual 7.40b - April 2022

5. View logging in CodeMeter Control Center tab "Events ".


The information for the switch to HID displays.

5. Check in CodeMeter WebAdm in page "Content | CmContainer ".


No drive is assigned.

1.13.2 Set from HID to Mass Storage


To switch the USB communication standard from Human Interface Device (HID) to Mass Storage Device (MSD), please
proceed as follows:
1. View the status in CodeMeter WebAdm in on page "Content | CmContainer ".
A drive is not assigned.

142
Manual
HID Support

2. Call cm u 106
For Windows OS call cm u call cm u by the start menu item "Start | All Programs | CodeMeter | Tools | CodeMeter
Command Prompt" ( Press "Windows" key to open Start screen | Type "CodeMeter Start Center" | Press "Enter" key). For
the operating systems macOS and Linux this command is provided by the usual search path parameter.
3. Enter the following command line:
C:\Users\fs>cmu32 /s [Box mask-Serial number] --set-config-disk MsdCommunication
The current status displays in the following command line output:
cmu32 - CodeMeter Universal Support Tool.
Version 5.00 of 2013-Jan-30 (Build 1039) for Win32
Copyright (C) 2007-2013 by WIBU-SYSTEMS AG. All rights reserved.

- CmStick/C with Serial Number 2-2251132 and version 2.01


Version: 2.01
Flash Size: no real flash available
Virtual Drive: No drive assigned (HID)
Communication: Human Interface Device (HID)

Please replug your CmDongle to apply the changes.


4. Unplug and replug the Cm Dongle.
5. View logging in CodeMeter Control Center tab "Events ".
The information for the switch to MSD displays.

5. Check in CodeMeter WebAdm in page "Content | CmContainer ".


A drive is assigned and no flas h memory available.

143
CodeMeter Administrator Manual 7.40b - April 2022

1.13.3 Linux Kernel Settings


CodeMeter requires a working USB hotplugging infrastructure for the detection of a Cm Dongle. Thus make sure that the
hotplug is working properly.
If hotplugging seems not to work on a new Linux distribution, please check if the new "udev" mechanism is used. If "udev" is
used, the problem can be fixed by copying the file /usr/share/CodeMeter/52-codemeter.rules into the
directory /etc/udev/rules.d/.
For the communication between CodeMeterLin and the Cm Dongle, CodeMeterLin requires a Linux kernel (Kernel 2.4.x or
Kernel 2.6.x) with support for USB mass storage, human interface (HID) and scsi-generic devices. If you use a self compiled
Linux Kernel, please check if you have activated usb-storage and sg-device support (as modules).
General Kernel configuration display settings including USB mass storage or HID (Human Interface Device):
CmDongle via USB as MSD (CmStick, CmStick/M, CmCard):
CONFIG_SYSFS
CONFIG_USB_SUPPORT
CONFIG_USB_*_HCD* (respective Host Controller)
CONFIG_USB_STORAGE
CONFIG_BLK_DEV_SD
CONFIG_BLK_DEV_SG (for passthrough communication)
CONFIG_*_FS (for file I/O, the respective file system)

CmStick via USB as HID:


CONFIG_SYSFS
CONFIG_USB_SUPPORT
CONFIG_USB_*_HCD* (respective Host Controller)
CONFIG_HID
CONFIG_HIDRAW
CONFIG_USB_HID

CmCard via internal card reader (e.g. SDHCI):


CONFIG_SYSFS
CONFIG_MMC
CONFIG_MMC_BLOCK
CONFIG_MMC_* (for the respective card reader)
CONFIG_BLK_DEV_SG (for passthrough communication)
CONFIG_*_FS (for file I/O, the respective file system)

CmCard via A TA:


CONFIG_SYSFS
CONFIG_BLK_DEV_SD
CONFIG_ATA + respective A TA Host adapter/controller
CONFIG_BLK_DEV_SG (for passthrough communication)
CONFIG_*_FS (for file I/O, the respective file system)

If your Linux Kernel is configured properly, use the command:


codemeter-info -L
to get a list of all Cm Dongles connected to your system. If this is not the case, you have probably a general problem with your
Linux Kernel or a Kernel module could not be loaded correctly.

144
Manual
Open Source Software used in the products CodeMeter 7.40b, CodeMeter Protection Suite 11.00b, CodeMeter Embedded 2.53 as of 2022-04-05

1.14 Open Source Software used in the products CodeMeter 7.40b, CodeMeter Protection Suite
11.00b, CodeMeter Embedded 2.53 as of 2022-04-05
Open Source Software used (embedded in this local help system)

145
CodeMeter Administrator Manual 7.40b - April 2022

2 Glossary
Term Description
AxProtector Automatic protection of applications using AxProtector as secure basic protection w ithout c hanging the
source code including runtime c hecks, effective anti-debug mec hanisms, modification of resources, and
locking of CmContainer if crack attempts are detected. As tool of CodeMeter Protection Suite available for
different project types and as a commandline version.
Cm ActLicense Completely softw are-based variant of the protection and licensing tec hnology CodeMeter. Licenses are
bound to an individual computer.
Cm BoxPgm Commandline tool to create, edit, and delete licenses and their components (Firm Item , Product Item , and Product
Item Options ) in CmContainer. You can also apply scripts and batc h files for mass production and test
automation. Programming is simultaneously applied in one passe to several CmContainer.
u
CmClo dCont iner a Cloud-based variant of the protection and licensing tec hnology CodeMeter. End users can access this
CmCloudContainer from their local computer w ith appropriate credentials. This also means that only the

credentials are on the local computer, w hile the CmCloudContainer and the licenses are in the cloud.
CmCont iner a Summariz ing notion for describing the license carriers of all CodeMeter variants. CmDongle in the case of the
hardw are-based licensing system, CmActLicense n the case of the softw are-based licensing system, and
CmCloudContainer in the case of the credential-based licensing system.

CmDongle Hardw are-based variant of the protection and licensing tec hnology CodeMeter. Available in many form
factors for a variety of interfaces.
CmD st u The CodeMeter Enduser Support Tool logs important system and CodeMeter settings and helps Wibu-
Systems Support to find remedies for eventually occurring errors.
Cm FAS see CodeMeter Field Acti vation Service
cm u Commandline alternative to perform many CodeMeter Control Center functions (CodeMeter Uni vers al Support
Tool ).
CodeMeter API Guide Graphical tool to generate source code fragments. You create and test API functions w ith all related
parameters and necessary structures for the programming language of your c hoice. Currently, the
programming languages C, C++, C#, CB6, V B.NET, Delphi, and Java are supported.
CodeMeter Certi ic f ate Vault w orks as a PKCS#11 compliant token provider, integrating w ith the Microsoft Cryptographic API Next
Generation (CNG) as a Key Storage Provider (KSP), and w orking w ith OpenSSL API e.g. to keep and use the
keys for TLS certificates. It is fully integrated w ith many essential applications including brow sers, V PNs, and
email.
CodeMeter Field Acti vation see File-based Remote Programming
v
Ser ice

CodeMeter Control Center CodeMeter Control Center provides the protected softw are to access the CodeMeter runtime environment. It
displays information on connected CmContainer, and presents options to configure connected CmContainer.
Moreover, an assistant creates license request files and imports license update files (CmFAS Assistant).
CodeMeter Keyring Protection solution based on user and passw ord credentials created in the Pass word Manager component
and supplied by the Pass word Provider component.
Pass word Manager connects to CodeMeter License Central after startup and retrieves the configured users
and passw ords from it. There is no local data storage. Created passw ords and users are used in Pass word
Provider, e.g. for implementing the feature of protecting the source code.
CodeMeter License Central Ticket-based system for creating, managing, and delivering licenses for softw are and digital content.
Available in a Desktop and an Internet Edition.
CodeMeter License Editor Graphical tool allow ing you to create, edit or delete licenses and their components (Firm Item , Product Item , and
Product Item Options ) in CmDongles . Next to programming of locally connected CmCongles also file-based
remote programming (CodeMeter Field Acti vation Service, CmFAS) is supported. Suitable for testing license
strategies.
CodeMeter License Server Runtime environment ( CodeMeter.exe ) for the protection and licensing tec hnology CodeMeter .
a
CodeMeter St rt Center Start screen tool to access and open most of the CodeMeter applications and tools.
CodeMeter Protection Suite Toolbox for the automatic encryption of applications and libraries. The individual tools have been tailored
specifically to w ork w ith eac h platform or environment (see AxProtector, IxProtector).
CodeMeter W ebAdmin Graphical CodeMeter tool displaying information on connected CmContainer and related license entries in a
brow ser. In addition, configuration and analy z ing options for the CodeMeter runtime environment (CodeMeter
License Server) are provided.
CodeMeter Wibu-Systems' tec hnology for protecting and licensing of softw are and digital content.
File-based Remote Remote updating a CmContainer requires some information on the CmContainer to be reprogrammed. This
Programming information is safely stored and transferred in a Context File, i.e. *.WibuCmRaC file (license request file).
Based on this license request file use the CodeMeter programming tools to create an Update File
(*.WibuCmRaU ) (license update). Subsequently, this file is safely transferred into the CmContainer. In

146
Glossary

Term Description
addition, on creating the *.WibuCmRaU file automatically also a *.WibuCmRaM file (Modified Context File) is
created w hic h maps the CmContainer content at the time the licenses have been updated.
An CmFAS Assistant in CodeMeter Control Center supports the licensee w hen updating licenses.
Firm Code The Firm Code presents a unique number eac h licensor receives from Wibu-Systems. It ensures that eac h
licensor is individually identified w hen protecting and licensing softw are or digital content.
Firm Item Logical and hierarc hical item level in the CmContainer. The Firm Item level holds entries w hic h are unique for
eac h licensor and includes the individual Firm Code.
Firm Key Secret key w hic h influences almost all encryption and decryption processes of licenses, their authentication,
and the creation, editing and deleting of license entries at the level of Product Items . The Firm Key is initially
s hipped w ith the Firm Security Box .
Firm Security Box Master CmDongle w hic h allow s to program other CmContainer. The FSB is unique for eac h licensor.
FSB see Firm Security Box
HIP High Level Programming API see Programming API
IFI see Implicit Firm Item
Implicit Firm Item The Implicit Firm Item level in the CmContainer features the same c haracteristic as usual Firm Items ). It simply
has some distinct features. While all other level are c haracteriz ed by the existence of an exclusive Firm Code
w hic h is unique for eac h licensor, the Implicit Firm Item level has the Firm Code of 0. This implies that eac h
ow ner of the CmContainer has licensor privileges for the Implicit Firm Item level including w rite access.
IP Protection Protection solution of CodeMeter Protection Suite w ithout licensing, i.e. reverse engineering is prevented, but
not copying the application. This makes this solution suitable for test versions, demo softw are and freemium
business models, since protected applications do not require runtime components of CodeMeter. The key for
decrypting the application is hidden in the application itself. Not to be confused w ith Protection O nl y licenses.
These w orks similar to IP Protection, but alw ays require a CodeMeter Runtime installed w ith administrator
rights.
IxProtector Individual advanced protection tec hnology applied for softw are and digital content as tool of CodeMeter
Protection Suite. 'Real' source code fragments are encrypted and decrypted by interfaces (Software
Protection API, WUPI) and security mec hanisms. Suited to implement modular softw are protection.
Core API Pow erful interface to communicate w ith CmContainer at runtime of CodeMeter License Server. All other APIs
and protection mec hanisms (AxProtector, IxProtector, Software Protection API WUPI) base on Core API
functions. Thus using this interface complements existing protection options (encryption and decryption of
data, personaliz ation, reading additional data).
License Activation see File-based Remote Programming
License Information File This file corresponds for CmActLicense to an empty license container how ever holds specifications on
(*.WibuCmLiF ) binding sc hemes and additional activation options to be used for unique binding of a license to the computer or
the device.
Update File (license update) The Update File for a CmContainer valid only for a single unique CmContainer can be imported only once.
(*.WibuCmRaU )
Context File (license request) The Context File of a CmContainer mirroring the as-is status of license entries serves as basis for license
(*.WibuCmRaC ) updating in the process of file-based (remote) programming.
CodeMeter Sm rt a Bind Binding sc heme used in CmActLicense licensing system optimiz es assuring the validity of CmActLicense
licenses, if hardw are properties of the PC c hange to w hic h the licenses are bound.
PIO see Product Item Options
Product Code The Product Code represents a number free to c hoose and identifies the products to be protected and licensed.
Product Item Options (PIO) License entries at the Product Item level. They hold the Product Code also further options defining the actual
c haracteristics of a license, suc h as, how many licenses may be simultaneously used in a netw ork, how long
a license is valid, w hic h functions are accessible and billed, etc. Moreover, several other data fields are
available holding additional binary information and differ in their access privileges.
These optional c haracteristics are combinable in a variety of w ays, and constitute the basis for the mapping
of any imaginable license strategy.
Product Item Logical hierarc hical entry level in a CmContainer below the Firm Item level. At the Product Item level you find
the single license entries, i.e. the Product Codes and further Product Item Options .
Programming API This class-oriented interface allow s you to access any object or process required to program or organiz e
license entries in a CmContainer, and features extended customiz ing for the integration of CodeMeter into
ow n applications. The Programming API is available for many programming languages.
So t f ware Protection API Interface w hic h decrypts segments protected by IxProtector at runtime available as WUPI (WIBU Uni vers al
Protection Interface). It is lean, comprises only a few but essential functions, and is standardiz ed and
applicable for a variety of programming languages.

147
CodeMeter Administrator Manual 7.40b - April 2022

Term Description
Soft license see CmActLicense.
Translocated Execution AxProtector supports the tec hnique to translocate, i.e. s hift the execution of selected functions to other
arbitrary processing areas. At the same time, the data at the original location is not c hanged.
W i bu Uni vers al Protection see Software Protection API
Interface
WUPI see W i bu Uni vers al Protection Interface

148
Index

Index cmu 106


CodeMeter WebAdmin
-A- access modes 59
Access Modes (CodeMeter WebAdmin) 59 Certif ied Time Update 56
Active Direcory queries 78 Conf iguration| Access Control (adv anced mode) 77, 79, 80, 82, 84
Add automatic server search Conf iguration| Access Control (basic mode) 76
CodeMeter WebAdmin 67 Firewall 47
ApiCommunicationMode Free licenses 60
WebAdmin 48, 90 Globale access rules 79
-C- License Transf er Options 91
Network Port 47
Certified Time Prof iling 77
update 56
Run CmWAN Serv er 75
CmActLicense Run Network Serv er 75
Activ ating licenses 9 Serv er search list 66, 67
' broken' license 35 Specif ic access rules 80
CmCard Specif ic access rules - Firm Codes 80, 84
Detection on Linux 8 Specif ic access rules - Product Codes 82
CmDongle Start 48
First connection 8 White and Blacklist 77
CmDust 104 CodeMeter.ini
CmFAS Assistant 39 Prof iling 18
CmStick /BMC Communication mode
Detection on Linux 8 IPv 4, IPv 5 47, 90
cmu Platf orm-specif ic def aults 47, 90
CodeMeter Univ ersal Support Tool 106 Prof iling 47, 90
CodeMeter Shared Memory 47, 90
Installation 11 Connecting the CmDongle 8
CodeMeter Control Center 30 Copyright softw are licenses 145
Activ ation inv alid 35 -H-
Activ ation status 32 HID
Borrowing Tab 37 cmu programming 115
Certif ied Time Update 33 Set to HID 141
CmDongle register 34 Set to Mass Storage Dev ice 142
Ev ent Tabs 37 HID (Human Interface Device) 8, 141
Firmware Update 34
License import 32 Human Interface Device (HID) 141
License Tab 34 -I-
Logging, activ ate 33 Installation
Menu Bar 32 32/64-bit Windows 11
Start CodeMeter Serv ice 33 Linux Operating Sy stems 15
Status and Open 38 macOS Operating Sy stems 13
Stucture and Nav igation 31 IPv4, IPv6 47, 90
CodeMeter FA Q 10 -L-
CodeMeter License Server License request file
Run CmWAN Serv er (WebAdmin) 75 Add a license of a new ISV 42
Run Network Serv er (WebAdmin) 75 create 40
CodeMeter License Tracking 117 Extend existing licenses 41
Access Entry 121 License Transfer
Administrativ e Entry 122 cmu commands 108
Borrow Access Entry 121 License update file
Borrow Return Entry 121 import 43
Conf iguration 117 Licenses
Denial Entry 121 * .WibuCmRac 39
License Entry 120 * .WibuCmRaU 39
List of Licenses Entry 120 CmFAS 39
Logf ile Format 119 import 39
NamedUser entry 122 license request f ile 39
Prof iling 117 License update f ile 39
Release Entry 121 update 39
Requirements 117
Secure License Tracking 117 Linux
CmDongle 144
Signature-Eintrag 123
SignedLogf ile-Eintrag 122 -N-
CodeMeter service Named User Licenses
Behav ior at sy stem startup 8 cmu commands 110
start (Linux) 31 -O-
start (macOS) 30 Open source licenses 145
start (Windows) 30 -P-
stop (Linux) 31 Passw ord for CmDongle
stop (macOS) 30 CodeMeter Control Center 36
stop (Windows) 30 Profiling 47, 90
CodeMeter Universal Support Tool
149
CodeMeter Administrator Manual 7.40b - April 2022

Profiling 47, 90
CodeMeter.ini 18
EWF (Enhanced Write Filter) 20
FBWF (File Based Write Filter) 20
Location dif f erent operating sy stems 117
-R-
Receipt 44
-S-
Secure License Tracking 117
Server search list 66
* .ini
conf iguration f ile 66
automatic serv er search 67
Shared Memory 47, 90
System startup
CodeMeter License Serv er 8
-T-
TCP/IP
Use in CodeMeter 47
-W-
w bb file (CmActLicense) 9
Write Filter (EWF, FBWF) 20

150

You might also like