Zengain beta open for customers sign up now:
click here
Documentation
SupportNalpeiron.comGithubFree TrialFeedback
  • Documentation
  • Zentitle2 Docs
  • Zengain Docs
  • Zentitle I (V10)
  • Education & Training
  • Welcome
    • Zentitle2 documentation: License Management Software
    • Introduction to Zentitle2
  • Latest UI Changes
  • Zentitle Overview
    • Zentitle Quick Overview
      • Zentitle2 Features & Benefits
      • A single source of truth: 1 platform
      • Zentitle Architecture
      • Zentitle supports every platform
      • Zentitle business models
      • Critical differences for secure site/offline/dark site management
      • Zentitle for SaaS Licensing
  • Quick Start
    • Onboarding Zentitle2
    • Integrating is easy
    • Pricing & Packaging with Zentitle
  • Using the Platform UI
    • Introduction
    • New User Setup
    • Getting around
      • Search
      • Using reports
      • Providing feedback
    • Getting started
  • UI: ADMINISTRATION
    • Introduction
    • Users
      • Managing Users
      • Resending user invites
      • User permissions
      • Lost password
    • API Credentials
      • Package Registry
    • Webhooks
      • Logs
      • Workflow automation software
    • Integrations
      • FastSpring
      • SalesForce Sample Integration
        • Sample Integration Installation
        • Post-Installation Configuration
        • Connecting Salesforce to Zentitle
        • Creating a Zentitle Customer in SalesForce
        • Creating a Zentitle Entitlement in SalesForce
        • Editing Zentitle Entitlements in SalesForce
        • Managing Software Activations in SalesForce
    • Configuration
      • Import customers
      • Account Based Licensing (Identity-based licensing)
        • Setup Account Based Licensing with OpenID tokens.
        • Setup Account Based Licensing with username/password
        • Branding the user experience
      • End User Portal
        • End User Portal User Access
        • End user - Use of the portal
        • End User Offline Activation
      • Custom Fields
      • Security (2FA)
    • "Hard" Delete
  • UI: Dashboard
    • The Dashboard
  • UI: Customers
    • Customers and contacts
    • Customers
      • Adding (managing) contacts
      • The contact page
      • Setting up End User Portal (EUP) access
      • Inviting contacts to EUP
      • Disabling Customers
      • Managing Entitlements (from the Customer page)
  • UI: Entitlements
    • Entitlements
      • Using Entitlements
      • Maintenance options
    • Working with Entitlements
      • Activation Codes
      • Contacts (ABL)
      • Activations
      • Activity log
      • Notes
    • Managing Entitlements
      • Allocating entitlements
      • Change the offering (upgrade/downgrade)
      • Entitlements with overrides/changes
      • Renewing an entitlement
      • Resetting the usage count
      • Disabling Entitlements
      • Entitlements in overdraft (seats)
  • UI: Product Catalog
    • Product paradigm
    • Products
      • Product Features
      • Overdraft option (feature usage)
      • Feature Control
      • Product Attributes
      • Product Editions
      • Edition Setup
    • Offerings
      • Overdraft option (seats)
      • Managing offerings
      • Maintenance options
      • Change offering (upgrade/downgrade)
      • Custom Fields
    • Plans
      • Trial plans
    • Global Features (and attributes)
  • UI: Local License Server
    • Local License Server (LLS)
      • Local License Server Installation
      • LLS License End-User Management
      • Entitlements to be used on LLS instances
      • LLS Licensing API
      • LLS Release Notes
  • UI: Help
    • Support
  • Developers
    • Licensing & Management APIs
      • API docs
      • API Rate limits
      • Collecting credentials for integration
      • API Versioning
    • The Licensing Client (.NET)
      • Configure NuGet Source
      • Configuring the Activation
      • Configuring the SharedActivation
      • Working with SharedActivation
      • Licensing API Nonce
      • IActivation interface
      • Zentitle2Core Library
      • Exceptions
      • FAQ
      • Release Notes
    • The Licensing Client (C++)
      • Configuring the Activation
      • Licensing API Nonce
      • IActivation interface
      • Zentitle2Core Library
      • Exceptions
      • Release Notes
    • The Licensing Client (Java)
      • Configure JAR Source
      • Configuring the Activation
      • Licensing API Nonce
      • IActivation interface
      • Zentitle2Core Library
      • Exceptions
      • FAQ
      • Release Notes
    • The Zentitle2Core Library (C++)
      • Security
      • Offline Activation
      • Generating Device Fingerprint
      • Using the Zentitle2Core Library
      • Troubleshooting and FAQs
    • Platform Summary
      • Turboscale architecture
      • SaaS Application Licensing
      • On-Premise Licensing
        • 1-Step Offline Deactivation: On-Premise
        • 2-Step Offline Activation: On-Premise
    • Offline Activation
    • Virtual Machine Control
    • No-code Test Application
      • Creating a Product and Entitlement
      • Download the demo files
      • OnPremDemo.dll.config setup
      • Test the demo application
        • Install Desktop Runtime
    • No-code SaaS Example
      • Creating a Product and Entitlement
      • Download the demo files
      • Collecting the serverside parameters
      • Edit appsettings.json file for IDE based Testing
      • Edit docker-compose.yml file for Docker-based Testing
      • Test the demo application
        • Using docker to test
    • Naming conventions/Glossary
  • Premium Features
    • Overdraft Tracker (Basic)
      • API references (Overdraft)
      • Overdraft Tracker on the dashboard
      • Reporting with the Overdraft Tracker
    • Network Licensing
    • Change log feature
  • Use Cases
    • Dark Site Local License Server (Network-based licensing)
    • Renewals (Customer Success) Management
    • Subscription grace periods
    • Self-service - End-user portal
    • Virtualized Environments
    • Usage-Based Licensing
    • Trial Management
    • Identity Based Licensing: Understanding IDP
    • Single Tenant Option
    • Entitlements with ERP & billing systems
    • Entitlements with Subscriptions
    • Entitlements with a CRM
    • E-commerce Integration
    • IoT and hardware licensing
    • SaaS Applications
    • Overuse tracking (overdrafts)
    • Order Fulfillment
  • Zentitle and M&A deals
  • Other
    • Zentitle2 Changelog
      • Terms and Conditions Changelog
Powered by GitBook
LogoLogo

Nalpeiron Privacy Policy

  • Privacy and Cookie Policy

Nalpeiron Growth Platform Terms

  • Nalpeiron ELTC

Get a FREE Trial

  • Click here for FREE Trial

© Copyright - Nalpeiron, all rights reserved. Nalpeiron, The Nalpeiron Growth Platform, Zentitle and Zengain are trademarks of Nalpeiron Inc. All use subject to our Terms above.

On this page
  • Prerequisites
  • Limitations
  • Implementation
  • Offline License Activation
  • Offline License Refresh
  • Offline License Deactivation

Was this helpful?

Export as PDF
  1. Developers

Offline Activation

Previous2-Step Offline Activation: On-PremiseNextVirtual Machine Control

Last updated 1 month ago

Was this helpful?

Offline activation (license management) ensures that software products can be activated and remain accessible and functional without an online connection. This approach empowers organizations to efficiently track, distribute, and monitor licenses while offering users the flexibility to use the software in diverse environments, whether they are in remote locations with limited connectivity or secure environments with restricted internet access.

Zentitle2's implementation of offline activation uses various cryptographic techniques to ensure the authenticity, integrity, and encryption of the tokens exchanged between the client app and the online license server parties.

We support offline activations for software vendors who need to activate licenses in the field for customers without an active internet connection. Your application, integrated with the SDK, can handle this process across various development languages. When offline activation is needed, the application generates an activation request certificate that encodes the identity of the activated machine.

This certificate is sent to our core environment, which activates the seat for that customer in the cloud. We maintain a snapshot of the activation time and machine identity. An unlock certificate is then generated, which can be applied directly to the offline environment to enable the specific capabilities, features, and subscription period licensed to that customer.

Prerequisites

To enable offline operations for the entitlement, the offline lease period, which defines the expiration period for an offline-activated seat, has to be specified on the entitlement.

The regular lease period is not used in this case.

The offline lease expiration date is calculated as the earlier date from 2 following values:

  1. Seat activation time + offline lease period

  2. Entitlement subscription end date (for subscription-based entitlement)

Limitations

It’s impossible to use the advanced feature API (feature checkout, feature return) with an offline-activated product since there is no online connection to a Licensing API.

Implementation

Because there is no internet connection between the client application and the licensing server, the implementation of the seat activation, refresh, and deactivation flows is based on the exchange of the digital tokens, which carry the data required for executing the given operation. The tokens are always encrypted and digitally signed, to ensure the integrity and authenticity of the data coming either from the licensing server or the application running on the client machine. Depending on the flow, either one-way or a two-way token exchange process is required.

Offline License Activation

[two-way token exchange process]

Offline license activation allows the user to activate the product using the process process defined below.

The "generate offline activation request token" action can be repeated multiple times until the activation response token has been applied in the client application and the license has been activated.

This action is no longer available in the client app with an activated license until it expires or has been deactivated manually.

Offline License Refresh

[one-way licensing-server -> client app token exchange process]

There is a possibility to extend the current lease period by refreshing the license as follows:

Offline license refresh functionality can be used in 2 scenarios:

  1. The user wants to refresh the lease before it expires.

  2. The license already expired, but the seat hasn’t been reused by any other activation yet.

Offline License Deactivation

[one-way client app -> licensing server token exchange process]

Once the license has been activated in the client app, the user can deactivate it at any time using the offline deactivation process.

The license in the app is deactivated immediately as the deactivation token is generated.

The deactivation token needs to be applied in the End User Portal to release the seat on the server.

This is useful for end users who change machines, or lose a machine, or just need to remove a license from a device all in "offline" mode.

If such functionality is required in an isolated environment, the , a local replacement of the Licensing API, can be used instead.

→ .

Local License Server
Learn more and see it in action