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
<PackageReference Include="TechWayFit.Licensing.Core" Version="1.0.0" />
<PackageVersion Include="TechWayFit.Licensing.Core" Version="1.0.0" />
<PackageReference Include="TechWayFit.Licensing.Core" />
paket add TechWayFit.Licensing.Core --version 1.0.0
#r "nuget: TechWayFit.Licensing.Core, 1.0.0"
#:package TechWayFit.Licensing.Core@1.0.0
#addin nuget:?package=TechWayFit.Licensing.Core&version=1.0.0
#tool nuget:?package=TechWayFit.Licensing.Core&version=1.0.0
TechWayFit.Licensing.Core
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
- Integration Guide - Complete implementation examples
- API Reference - Detailed API documentation
- Security Best Practices - Production deployment guidance
- Sample Applications - Working examples for different scenarios
🔒 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
- 📝 Documentation: Check our comprehensive guides
- 🐛 Issues: Report bugs via GitHub Issues
- 💬 Discussions: Ask questions in GitHub Discussions
- 📧 Enterprise Support: Contact us for commercial licensing and 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
Product | Versions 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. |
-
net8.0
- Microsoft.Extensions.Caching.Memory (>= 8.0.1)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 8.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.2)
- System.Text.Json (>= 8.0.5)
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 |