CodeMeter Embedded is a static library that provides the licensing and cryptographic capabilities of CodeMeter via a dedicated API for embedded operating systems like Linux Embedded, VxWorks, QNX, and Android. CodeMeter Embedded comes with a subset of the CodeMeter Runtime API that includes the core functionalities for licensing and protection. These cover the functions for accessing licenses, retrieving license options, creating license requests, importing license update, and performing symmetric and asymmetric cryptographic operations.
Possible use cases include direct access to CodeMeter functionality from an application of yours, from AxEngine, or from ExEngine (both modules of CodeMeter Protection Suite).
CodeMeter Embedded supports the following types of CodeMeter containers: CmDongles and CmActLicenses.
The Components of CodeMeter Embedded
The modular nature of CodeMeter Embedded can be illustrated as follows:
The Modules in Detail
- CodeMeter Embedded Core API: A subset of CodeMeter Core API of CodeMeter Runtime that provides the core functionalities for licensing and protection purposes.
- CodeMeter Embedded Core: The core features of CodeMeter Embedded include:
- License Cache: Stores information about available licenses in memory for faster access to the licenses. No cryptographic keys or encrypted data (including hidden data) are cached.
- Multi-Application Access: Enables simultaneous access by several applications to a single CodeMeter Container.
- CmDongle: Allows the use of CmDongles for secure key and license storage purposes. All communication with CmDongles is encrypted.
- HID: Communication with CmSticks and CmASICs via a Human Interface Device driver on the USB stack. This requires an HID driver on the operating system in question.
- File I/O: Communication with CmSticks and CmCards by reading/writing a file in the CmDongle file system. This requires read/write capabilities (non-cached) on the operating system.
- SPI: Communication with CmASICs via a low-level interface for inter-chip communication. This requires an operating system with SPI driver.
- CmActLicense: Allows the use of a CmActLicense in combination with a set of specific properties of the embedded device (fingerprint). A specific adapter can be used to implement both the creation of the fingerprint and the storing of license files. The license files are protected by signatures and encryption. The following implementations of the CmActAdapter are available for reference:
- TPM: Reference implementation for the use of TPM chips to create the fingerprint
- Host ID: Adapter for a custom implementation for creating fingerprints
- CmLAN: Allows the use of a license server on a network. The server is part of CodeMeter Runtime, and all communication with the license server is encrypted.
- Runtime Bridge: Allows the simultaneous use of CodeMeter Runtime and CodeMeter Embedded on PCs. CodeMeter Embedded recognizes any active CodeMeter Runtime and uses it for encrypted communication with connected CmContainers.
Comparison of CodeMeter variants
|CodeMeter Control Center||Yes|
|Library with API||Yes||Yes||Yes|
|User Command Line Tools||Yes|
|Background Service / Daemon||Yes|
|Trial Licenses, |
|License Transfer Master||Yes|
|License Transfer Endpoint||Yes||Yes||Yes|
|File-based License Update||Yes||Yes||Yes|
|Terminal Server Detection||Yes|
|Remote Desktop Detection||Yes|
|Secure Key Storage||Yes||Yes||Yes|
Platforms and Operating Systems
Depending on the target platform, the library will range in size from 400 KB to 600 KB. For additional platforms like RTOS systems or special applications, CodeMeter Embedded can be provided in source code.
CodeMeter Embedded is available for the following platforms:
|CodeMeter Embedded SDK Linux ARM||Linux, Kernel ≥ 2.4.10 with glibc ≥ 2.4||ARMv6, ARMv7, and ARMv8|
|CodeMeter Embedded SDK Linux x86||Linux, Kernel ≥ 2.4.10 with glibc ≥ 2.4||x86 and x86-64|
|CodeMeter Embedded SDK Linux MIPS||Linux, Kernel ≥ 2.4.10 with glibc ≥ 2.4||MIPS 32 Bit LE|
|CodeMeter Embedded SDK QNX ARM||QNX 6.5||ARMv7|
|CodeMeter Embedded SDK QNX x86||QNX 6.5||x86|
|CodeMeter Embedded SDK VxWorks ARM||VxWorks 6.9, 7.0||ARMv7|
|CodeMeter Embedded SDK VxWorks PowerPC||VxWorks 6.9, 7.0||PowerPC|
|CodeMeter Embedded SDK VxWorks x86||VxWorks 6.9, 7.0||x86 and x86-64|
|CodeMeter Embedded SDK Windows x86||Windows ≥ 7||x86 and x86-64|
|CodeMeter Embedded SDK Android ARM||Android Version ≥ 5.0||ARMv7|
Interested in a personalized offer for our CodeMeter technology? Just answer a few questions and our team will get back to you with all the information you need.