Online License Designer
Design license templates for use with SoftActivate Licensing SDK. Or just experiment and learn.
Steps
Setup
Step 1: Define Key Format
Configure how your license keys will look. Adjust the number of groups, characters per group, and separator style.
Total Bits: 125 bits available
Step 2: Configure Security
Balance security strength against data capacity. A larger signature means more security but less room for embedded data.
Security Level
Generate Signing Keys
Create your unique cryptographic key pair. This is the foundation of your license key security.
Elliptic curve cryptography (ECC)
Generated randomly just for you
Never leaves your browser
Key Pair Generated!
Your cryptographic keys are ready.
Step 3: Define Data Fields
Embed custom data directly into your license keys. Each field consumes bits from your available data capacity.
Add New Field
Defined Fields
| Name | Type | Start | End |
|---|
Field Presets
Quickly add common field configurations:
Step 4: Generate & Validate Keys
Generate Keys
Field values for generated keys:
Validate Key
Step 5: Offline Activation Simulator
See how hardware-locked activation works. This demonstrates the "phone activation" scenario where customers can activate without internet.
How it works:
- Combined License Key with Hardware ID
- Created cryptographic hash of combined data
- Signed the hash with the private key
- Encoded result as the Activation Key
Step 6: Export & Integrate
Get the code to implement this license key format in your application.
Template Configuration
{
"format": {
"groups": 5,
"charsPerGroup": 5,
"separator": "-"
},
"security": {
"signatureSize": 109
},
"dataFields": []
}
Integration Code
// C# License Validation Example
// ================================
// Complete code will be generated based on your
// template configuration.
using SoftActivate.Licensing;
// Initialize the validator with your public key
// and template configuration from Step 6.
var validator = new KeyValidator();
validator.SetPublicKey("YOUR_PUBLIC_KEY_HERE");
validator.SetKey(licenseKeyInput);
if (validator.IsKeyValid()) {
// License key signature verified successfully.
// Enable premium features for the user.
EnablePremiumFeatures();
}
// Generate your key pair in Step 2 to see
// complete, production-ready code here.
// C++ License Validation Example
// ================================
// Complete code will be generated based on your
// template configuration.
#include "KeyValidator.h"
// Initialize the validator with your public key
// and template configuration from Step 6.
KeyValidator validator;
validator.SetPublicKey("YOUR_PUBLIC_KEY_HERE");
validator.SetKey(licenseKey);
if (validator.IsKeyValid()) {
// License key signature verified successfully.
// Enable premium features for the user.
EnablePremiumFeatures();
}
// Generate your key pair in Step 2 to see
// complete, production-ready code here.
// JavaScript License Validation Example
// =====================================
// Complete code will be generated based on your
// template configuration.
const licensing = require('@softactivate/node-licensing');
// Initialize the validator with your public key
// and template configuration from Step 6.
const validator = new licensing.KeyValidator();
validator.setPublicKey('YOUR_PUBLIC_KEY_HERE');
validator.setKey(licenseKey);
if (validator.isKeyValid()) {
// License key signature verified successfully.
// Enable premium features for the user.
enablePremiumFeatures();
}
// Generate your key pair in Step 2 to see
// complete, production-ready code here.
Ready to Implement?
Download the full SoftActivate Licensing SDK to get production-ready code with real cryptographic protection.
SDK Configuration
Enter your SoftActivate Licensing SDK license key to generate production-ready signing key pairs.
SDK License Key
You can explore all features. Generated signing key pairs are for evaluation purposes.
Why License?
With a licensed SDK, generated key pairs are unique and secure - the private key is known only to you.
In evaluation mode, you can still explore all features and learn how the SDK works.
Get License KeyHelp & Tips
About Key Format
The key format determines how your license keys appear to end users. A well-designed format:
- 5 groups is a good balance between security and usability
- Base32 avoids confusion between similar characters (0/O, 1/I/l)
- Dashes make keys easier to read and enter
About Security
The signature protects your keys from forgery using elliptic curve cryptography (ECC).
- Higher signature = stronger protection against key generators
- Lower signature = more bits for embedded data
- 109 bits is recommended for most applications
About Data Fields
Embed information directly in the license key that your application can read:
- Product ID - Identify which product the key is for
- Edition flags - Enable/disable features
- Seat count - Limit concurrent users
- Expiration - Time-limited licenses
Field Types
Store numbers (Product ID, version, seats).
Store expiration dates compactly:
- 14-bit - Dates from 2000 to 2044
- 16-bit - Dates from 2000 to 2179
Feature flags (on/off). Always 1 bit.
Generate & Validate
This step lets you test your license key configuration in real-time.
- Generate creates real cryptographically signed keys
- Validate verifies the signature and extracts embedded data
- Try modifying a character to see validation fail
About Activation
Hardware-locked activation ties a license to a specific machine:
- Hardware ID - Unique fingerprint of the user's machine
- Activation Key - License + Hardware ID combined
- Prevents license sharing across multiple computers
Export & Integrate
Get ready-to-use code for your application:
- Template JSON - Save your configuration
- C#, C++, JavaScript - Integration code samples
- Public key for validation (safe to embed)
SDK License
Configure your SoftActivate Licensing SDK license key to generate production-ready signing key pairs.
- With license - Generate unique, secure key pairs
- Without license - Explore all features in evaluation mode