TechWayFit.Licensing.Core 1.0.0

dotnet add package TechWayFit.Licensing.Core --version 1.0.0
                    
NuGet\Install-Package TechWayFit.Licensing.Core -Version 1.0.0
                    
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="TechWayFit.Licensing.Core" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TechWayFit.Licensing.Core" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="TechWayFit.Licensing.Core" />
                    
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 TechWayFit.Licensing.Core --version 1.0.0
                    
#r "nuget: TechWayFit.Licensing.Core, 1.0.0"
                    
#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 TechWayFit.Licensing.Core@1.0.0
                    
#: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=TechWayFit.Licensing.Core&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=TechWayFit.Licensing.Core&version=1.0.0
                    
Install as a Cake Tool

TechWayFit.Licensing.Core

NuGet Version NuGet Downloads Build Status License: MIT

A lean, cryptographic license validation library for .NET applications. Provides RSA signature verification, temporal validation, and flexible license management without business logic dependencies.

🚀 Quick Start

Installation

dotnet add package TechWayFit.Licensing.Core

Basic Usage

using TechWayFit.Licensing.Core.Contracts;
using TechWayFit.Licensing.Core.Services;

// Register the service
services.AddSingleton<ILicenseValidationService, LicenseValidationService>();

// Validate a license
var validator = serviceProvider.GetService<ILicenseValidationService>();
var result = await validator.ValidateFromJsonAsync(licenseJson, publicKey);

if (result.IsValid)
{
    Console.WriteLine($"License valid for: {result.License.LicensedTo}");
    Console.WriteLine($"Expires: {result.License.ExpiresOn}");
}

✨ Features

  • 🔐 Cryptographic Validation: RSA signature verification with configurable algorithms
  • ⏰ Temporal Validation: Expiration date and activation date checking
  • 📁 Multiple Input Sources: JSON strings, files, or custom license objects
  • 🏗️ Lean Architecture: No business logic - pure validation library
  • 🔄 Caching Support: Built-in memory caching for performance
  • 📝 Comprehensive Logging: Structured logging with Microsoft.Extensions.Logging
  • 🎯 .NET 8+ Ready: Built for modern .NET applications
  • 🔒 Security-First: Open-source validation builds trust and transparency

📋 Supported License Features

  • Product Information: Product ID, version, and type categorization
  • Customer Details: Licensed organization and contact information
  • Feature Licensing: Named features with individual validity periods
  • Usage Limits: Configurable limits (users, requests, endpoints, etc.)
  • Tier Management: Basic, Professional, Enterprise tier support
  • Grace Periods: Configurable grace period for expired licenses
  • Multi-Environment: Development, staging, and production license support

🔧 Integration Examples

ASP.NET Core Web API

// Program.cs
builder.Services.AddSingleton<ILicenseValidationService, LicenseValidationService>();
builder.Services.AddScoped<IAppLicenseService, AppLicenseService>();

// appsettings.json
{
  "License": {
    "LicenseFilePath": "license/app.license",
    "PublicKeyFilePath": "license/public.key"
  }
}

File-Based License Storage

// Validate from files (recommended for production)
var result = await validator.ValidateFromFileAsync(
    "license/app.license", 
    "license/public.key");

Feature-Based Access Control

[RequireFeature("Advanced Analytics")]
public async Task<IActionResult> GetAnalytics()
{
    // Feature-specific endpoint
    return Ok(analyticsData);
}

📖 Documentation

🔒 Security & Trust

This library is open-source to provide complete transparency in license validation:

No Hidden Behavior: You can audit every line of validation code
No Telemetry: Zero data collection or external communication
No Backdoors: Pure cryptographic validation only
Industry Standards: Uses standard RSA-PSS and RSA-PKCS1 algorithms

🏗️ Architecture

┌─────────────────────────────────────────────────────┐
│                Your Application                      │
├─────────────────────────────────────────────────────┤
│            Business Logic Layer                     │
│  ┌─────────────────┐  ┌─────────────────────────┐   │
│  │ Feature Control │  │   Usage Enforcement     │   │
│  │ Access Control  │  │   Billing Integration   │   │
│  └─────────────────┘  └─────────────────────────┘   │
├─────────────────────────────────────────────────────┤
│         TechWayFit.Licensing.Core (This Library)   │
│  ┌─────────────────┐  ┌─────────────────────────┐   │
│  │ Cryptographic   │  │    Temporal             │   │
│  │ Validation      │  │    Validation           │   │
│  └─────────────────┘  └─────────────────────────┘   │
└─────────────────────────────────────────────────────┘

The core library handles validation only - your application implements business logic, feature control, and user experience.

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

git clone https://github.com/tyfweb/TechWayFit.Licensing.Core.git
cd TechWayFit.Licensing.Core
dotnet restore
dotnet build
dotnet test

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🆘 Support

🌟 Why Choose TechWayFit.Licensing.Core?

vs. Competitors

  • 🔍 Transparent: Open-source validation vs. black-box solutions
  • 🏃 Lean: No bloated frameworks or unnecessary dependencies
  • 🎯 Focused: Pure validation library, not a complete licensing platform
  • 💰 Cost-Effective: Use with any license generation system
  • 🔧 Flexible: Integrate with existing authentication and billing systems

Industry Trust

Used by applications requiring:

  • 🏢 Enterprise Security: Banks, healthcare, government contractors
  • 🔒 Audit Compliance: SOX, HIPAA, ISO 27001 certified environments
  • 🌐 SaaS Platforms: Multi-tenant applications with complex licensing
  • 📱 Desktop Applications: Offline-capable license validation

Made with ❤️ by TechWayFit | Website | Blog

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 was computed.  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.0.0 87 7/27/2025