Pocok.Licensing
0.2.0-alpha.7
Prefix Reserved
dotnet add package Pocok.Licensing --version 0.2.0-alpha.7
NuGet\Install-Package Pocok.Licensing -Version 0.2.0-alpha.7
<PackageReference Include="Pocok.Licensing" Version="0.2.0-alpha.7" />
<PackageVersion Include="Pocok.Licensing" Version="0.2.0-alpha.7" />
<PackageReference Include="Pocok.Licensing" />
paket add Pocok.Licensing --version 0.2.0-alpha.7
#r "nuget: Pocok.Licensing, 0.2.0-alpha.7"
#:package Pocok.Licensing@0.2.0-alpha.7
#addin nuget:?package=Pocok.Licensing&version=0.2.0-alpha.7&prerelease
#tool nuget:?package=Pocok.Licensing&version=0.2.0-alpha.7&prerelease
Pocok.Licensing
Offline-first licensing primitives for .NET 10 applications.
services.AddPocokLicensing(options =>
{
options.LicensePath = "license.pocok";
options.TrustedPublicKeyFiles["production-2026"] = "license-public.pem";
});
ILicenseService licenses = provider.GetRequiredService<ILicenseService>();
LicenseValidationResult result = await licenses.RefreshAsync(cancellationToken: cancellationToken);
licenses.Demand("Export");
Licenses are canonical JSON claims signed with ECDSA P-256. Applications receive public keys only. Optional PBKDF2-SHA256 plus AES-256-GCM wrapping hides license contents but never replaces signature verification. Claims support modules, inclusive start and exclusive end dates, maximum process runtime, machine fingerprints, and a license-scoped pre-shared-key digest.
Registration and Validate perform no license-file I/O. RefreshAsync reads license and public-key files with
cancellation;
subsequent validation is synchronous and safe for concurrent callers. Before the first refresh, validation returns
Missing. Expected rejection returns LicenseValidationResult; Demand converts a failed result into
LicenseException.
The package is an offline deterrent, not an unbreakable DRM boundary. Keep private signing keys outside client
deployments
and place operation-level demands near valuable work. See
docs/licensing.md for the complete
workflow, threat model, security semantics, machine identity behavior, migration notes, and release gate.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Pocok.Licensing:
| Package | Downloads |
|---|---|
|
Pocok.AppDefaults.Licensing
Configuration-driven startup and periodic enforcement defaults for Pocok.Licensing. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.2.0-alpha.7 | 55 | 7/20/2026 |
| 0.2.0-alpha.6 | 57 | 7/20/2026 |
| 0.2.0-alpha.5 | 51 | 7/18/2026 |