License Workflow
Last updated
Last updated
The license workflow in Babel Licensing represents the end-to-end process of creating, managing, and deploying software licenses. Understanding this workflow is essential for effectively implementing licensing strategies that protect your intellectual property while providing flexibility to your customers. This guide will walk you through the four key stages of the license workflow in Babel Licensing.
The foundation of the licensing workflow begins with defining your product within Babel Licensing. A product definition encapsulates all the essential information about the software you want to license, creating a digital representation that serves as the basis for all licensing operations.
Product Information: Basic details such as name, version, and description.
Sign Keys: Signature key pair (typically in SNK or PFX format) to sign new licenses. These cryptographic keys enable digital signing of all licenses generated for this product
Product definition provides the necessary context for license generation and validation. By properly defining your product, you establish the foundation for all subsequent licensing operations.
Digital signatures play a vital role in the security and integrity of licenses. Each license in Babel Licensing is digitally signed to prevent tampering and unauthorized modifications. Signing keys are cryptographic key pairs that enable this digital signature process.
Key Generation: Creating a cryptographic key pair (private and public keys).
Key Assignment: Associating the key pair with a specific product.
License Signing: Using the private key to sign licenses during generation.
License Validation: Using the public key to verify license authenticity during validation.
The private key must be kept secure and should only be accessible to authorized personnel responsible for license generation. The public key, embedded in your application, allows for license validation without compromising security.
License templates streamline the process of creating multiple licenses with similar configurations. A template serves as a blueprint that defines the common attributes, restrictions, and features of licenses for a specific product or product edition.
Template Name: Descriptive identifier for the template.
License Type: Defines the license category (e.g., Standard, Professional, Enterprise).
License Format: Specifies the format of the license (XML, ASCII, BASE32).
License Fields: Pre-configured fields for the licenses.
Features: Enabled product features.
Restrictions: Limitations such as trial periods, hardware binding, or usage constraints.
Templates enable you to maintain consistency across licenses while allowing for customization when needed. They are particularly useful for managing different product editions or implementing trial versions with specific restrictions.
Restrictions in license templates add conditional logic to license validation, allowing for sophisticated licensing scenarios:
Trial Restrictions: Limit usage by time (days) or execution count
Hardware Restrictions: Bind licenses to specific hardware identifiers
Domain Restrictions: Limit usage to specific network domains
Feature Restrictions: Control access to specific product features
Edition Restrictions: Define different product editions with varying capabilities
Babel Licensing offers three primary deployment models, each suited to different distribution and usage scenarios. Selecting the appropriate deployment model depends on factors such as connectivity requirements, license management preferences, and security considerations.
File-based licenses are traditional license files distributed to users for offline activation. They are ideal for environments with limited or no internet connectivity.
Characteristics:
Stored as XML or string-encoded files
Digitally signed to prevent tampering
Can be easily distributed via email or download
No network connectivity required for validation
License files are validated locally by the application
Best For: Desktop applications, offline environments, or when centralized license management is not required.
Activation licenses link a license to a specific machine through a one-time activation process. This model provides a balance between security and convenience.
Characteristics:
Requires internet connectivity during activation
License is tied to a specific machine's hardware ID
Limited number of activations per license
Supports deactivation to transfer licenses
Does not requires constant connectivity to the license server
Centralized tracking of license usage
Best For: Applications that need moderate license security while allowing for some flexibility in deployment.
Floating licenses enable sharing of licenses across multiple users or machines within a network. They are ideal for optimizing license usage in enterprise environments.
Characteristics:
Licenses are checked out from a central server
Limited by concurrent usage rather than machine count
Real-time license allocation and release
Requires constant connectivity to the license server
Provides detailed usage analytics
Best For: Enterprise applications, team environments, or when maximizing license utilization is essential.
The entire license workflow in Babel Licensing encompasses all the stages from product definition to license deployment. The workflow is a continuous cycle of creating, managing, and deploying licenses to meet your business requirements and customer needs.