LicenPro.SDK 1.8.3

dotnet add package LicenPro.SDK --version 1.8.3
                    
NuGet\Install-Package LicenPro.SDK -Version 1.8.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LicenPro.SDK" Version="1.8.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LicenPro.SDK" Version="1.8.3" />
                    
Directory.Packages.props
<PackageReference Include="LicenPro.SDK" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LicenPro.SDK --version 1.8.3
                    
#r "nuget: LicenPro.SDK, 1.8.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package LicenPro.SDK@1.8.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=LicenPro.SDK&version=1.8.3
                    
Install as a Cake Addin
#tool nuget:?package=LicenPro.SDK&version=1.8.3
                    
Install as a Cake Tool

LicenPro.SDK

A robust .NET SDK for implementing secure software licensing in your applications. Connects to the LicenPro Dashboard for license management and validation.

Overview

LicenPro.SDK enables developers to protect their .NET applications with multiple licensing models while integrating seamlessly with the LicenPro Dashboard for centralized license management.

Supported Frameworks

  • .NET 8.0
  • .NET 9.0

Installation

dotnet add package LicenPro.SDK --version 1.0.0-rc1

Or via Package Manager Console:

Install-Package LicenPro.SDK -Version 1.0.0-rc1

Features

License Types

  • Perpetual License - One-time purchase, permanent activation
  • Trial License - Time-limited evaluation licenses
  • Node-Locked License - Hardware-bound licenses tied to specific machines
  • Subscription License - Time-based recurring licenses
  • Floating License - Shared pool of licenses managed by the server
  • Concurrent License - Simultaneous user-based licensing

Security Features

  • RSA digital signatures for license integrity
  • SHA-256 checksums for tamper detection
  • Hardware ID binding for machine-specific licenses
  • Encrypted offline cache with Windows DPAPI
  • JWT-based session management for online validation

Validation Modes

  • Offline Validation - Local cryptographic verification
  • Online Validation - Server-side license status checking
  • Hybrid Mode - Offline with periodic online sync

Quick Start

1. Configure SDK

using LicenPro;
using LicenPro.Utilities;

// Load configuration from appsettings.json
var secrets = LicenseUtils.LoadLicensingSecrets(config.GetSection("LicensingSecrets"));

2. Load and Validate License

try
{
    var result = await LicenseManager.LoadLicenseAsync(@"C:\Path\To\license.bin");
    
    if (result.Status == LicenseStatus.Valid)
    {
        Console.WriteLine($"License valid: {result.License.Type}");
    }
}
catch (LicenseValidationException ex)
{
    Console.WriteLine($"Validation failed: {ex.Message}");
}

3. Check Features

if (FeatureManager.IsFeatureEnabled("PremiumFeature"))
{
    // Enable premium functionality
}

int maxUsers = FeatureManager.GetFeatureInt("MaxUsers");

4. Online Validation (Optional)

// For floating/concurrent licenses
LicenseManager.SetServerBaseEndpoint("https://your-licenpro-server.com");
await LicenseManager.ConnectSessionAsync();

Configuration

Add to appsettings.json:

{
  "LicensingSecrets": {
    "PublicKey": "your-base64-public-key",
    "ApiKey": "your-api-key"
  },
  "LicenPro": {
    "ServerBaseEndpoint": "https://your-server.com",
    "HeartbeatIntervalMinutes": 5,
    "EncryptOfflineCache": true
  }
}

Dashboard Integration

The SDK connects to the LicenPro Dashboard for:

  • License generation and distribution
  • Real-time activation tracking
  • Concurrent session management
  • Usage analytics and reporting
  • Remote license revocation

API Reference

LicenseManager

  • LoadLicenseAsync() - Load and validate license files
  • ValidateLicenseAsync() - Validate loaded licenses
  • ConnectSessionAsync() - Start online session
  • DisconnectSessionAsync() - End online session

FeatureManager

  • IsFeatureEnabled(string featureName) - Check feature availability
  • GetFeatureInt/Float/String/DateTime() - Retrieve typed feature values
  • ThrowIfNotAllowed() - Enforce feature restrictions

License Types

  • PerpetualLicense - Single-user permanent licenses
  • TrialLicense - Evaluation licenses with expiration
  • NodeLockedLicense - Hardware-bound licenses
  • SubscriptionLicense - Time-limited renewable licenses
  • FloatingLicense - Server-managed shared licenses
  • ConcurrentLicense - Multi-user simultaneous access

Support

For issues, questions, or feature requests related to SDK integration, please contact support.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.8.3 93 6/16/2026
1.8.2 93 6/15/2026
1.8.1 104 6/14/2026
1.8.0 93 6/14/2026
1.7.0 121 4/13/2026
1.6.0 100 4/13/2026
1.5.1 100 4/12/2026
1.5.0 99 4/12/2026
1.4.0 101 4/12/2026
1.3.9 108 4/10/2026
1.3.8 101 4/10/2026
1.3.7 102 4/10/2026
1.3.5 104 4/9/2026
1.3.4 104 4/9/2026
1.3.3 105 4/9/2026
1.3.2 104 4/8/2026
1.3.1 104 3/26/2026
1.3.0 102 3/26/2026
1.2.9 102 3/26/2026
1.2.8 105 3/26/2026
Loading failed

Server message pass-through: validation, session, and meter consume/balance APIs now surface the server's user-facing message instead of generic client text. Session forbidden responses use server text for blocked/mismatch cases. Metered (Credit-Based / Usage-Based): ConsumeAsync and GetBalanceAsync via MeterManager. Previous (1.8.2): stable hardware fingerprint persisted across reboots and network changes.