Cryptlex Documentation
  • Welcome to Cryptlex!
  • Getting Started
    • Overview
    • Licensing Models
  • License Management
    • License Templates
    • Implementing License Models
    • Creating Licenses
    • License Subscriptions
    • Custom License Fields
    • Meter Attributes
    • Suspending Licenses
    • Revoking Licenses
    • Maintenance Policies
  • Feature Management
    • Overview
    • Features and Entitlement Sets
    • License Feature Entitlements
    • Accessing Feature Entitlements
    • Use Cases
  • User Management
    • Roles
    • Creating Users
    • Authenticating Users
    • Organizations
    • Resellers
    • Customer Portal
    • Reseller Portal
    • Google SSO
    • SAML SSO
  • Release Management
    • Overview
    • Creating Releases
    • Distributing Releases
  • Node Locked Licenses
    • Overview
    • Using LexActivator
      • Using LexActivator with C, C++ and Objective C
      • Using LexActivator with C#
      • Using LexActivator with VB.NET
      • Using LexActivator with Java
      • Using LexActivator with Delphi
      • Using LexActivator with Python
      • Using LexActivator with Go
      • Using LexActivator with Node.js
      • Using LexActivator with Ruby
      • Using LexActivator with Android
      • Using LexActivator with iOS
      • Using LexActivator with Flutter
    • Using Web API
    • Offline Activations
    • Proxies and Firewall
  • Floating Licenses
    • Overview
    • Hosted Floating License Server
    • On-Premise Floating Licenses
      • LexFloatServer
      • Using LexFloatClient
        • Using LexFloatClient with C, C++ & Objective C
        • Using LexFloatClient with C#
        • Using LexFloatClient with VB.NET
        • Using LexFloatClient with Java
        • Using LexFloatClient with Delphi
        • Using LexFloatClient with Python
        • Using LexFloatClient with Node.js
        • Using LexFloatClient with Go
        • Using LexFloatClient with Android
        • Using LexFloatClient with iOS
      • Offline Floating License
  • Named User Licenses
  • Timed Trials
    • Verified Trials
    • Unverified Trials
  • Licensing Docker Apps
  • Webhooks
  • Automated Emails
  • Web Integration
    • Personal Access Tokens
    • Using Web API
    • Using Zapier
    • Using FastSpring
    • Custom Development
  • Changelog
    • Web API
    • LexActivator
    • LexFloatClient
    • LexFloatServer
  • Legal
    • Terms of Service
    • Privacy Policy
    • Subprocessors
    • Data Processing Addendum
    • Service Level Agreement
    • Security, Privacy, and Compliance
    • Open Source Licenses
  • Cryptlex On-Premise
    • Overview
    • System Requirements
    • Server Layout
    • Installation Guide
      • Docker Compose
      • Kubernetes
    • Configuring Client Libraries
    • Monitoring and Error Reporting
Powered by GitBook
On this page
  • Node locked licenses
  • What is LexActivator
  • Minimum requirements
  1. Node Locked Licenses

Overview

Node locked licenses

The basic concept of node-locked licensing is that your application should contact an online license server, to confirm the validity of the license key provided by the user to activate the license.

At the time of license activation, it should also generate a unique device fingerprint, and send it along with the license activation request.

The license server must store the device fingerprint and use it to validate the license key for further activations to prevent the usage of the license key on other devices.

What is LexActivator

LexActivator is basically a libcurl based HTTP client which invokes Cryptlex Web API endpoints from your application to activate your licenses and trials.

These licensing API endpoints can be invoked using any HTTP library, but it does something more which can save you a lot of time:

  • Abstracts away HTTPS part, so you basically call simple functions like ActivateLicense(), ActivateTrial() etc. instead of sending HTTPS requests.

  • Verifies the HTTPS response signature using 2048 bit RSA public key.

  • Stores the HTTPS response in an encrypted form on the disk using AES 128 bit symmetric encryption algorithm.

  • Generates multiple fingerprints of the machine using an advanced device fingerprinting algorithm, which can be used to allow for different fingerprint matching strategies.

  • Does virtual machine detection so you can prevent users from activating your licenses in virtual machines. Virtual machines can be cloned which may sometimes result in the same fingerprint on different machines.

  • Periodically invokes the Cryptlex API endpoints in a separate thread to sync the server license data with the client.

  • Handles the offline activations.

Minimum requirements

LexActivator works on Windows XP through Windows 11, macOS 10.6+ and all Linux distributions (minimum supported glibc library version is v2.13).

There are no additional dependencies. It supports 32 bit as well as 64 bit CPU architectures for all the platforms. Additionally, for Linux and macOS ARM CPU architecture is also supported.

PreviousNode Locked LicensesNextUsing LexActivator

Last updated 10 months ago