LicenseSystem.ClientSdk 1.0.3
LicenseSystem.ClientSdk
软件授权系统的 WPF 客户端 SDK。安装后约 10 行代码即可为 WPF 程序接入: 设备指纹绑定、许可证验签(RS256,客户端只持公钥)、启动校验门、 离线宽限、时间回拨防护、周期心跳、内置三步激活向导窗口。
兼容 .NET Framework 4.7.2 与 .NET 6/8 的 WPF 项目(多目标包)。
安装
dotnet add package LicenseSystem.ClientSdk --source https://nuget.tmaas.net/v3/index.json
(或在 Visual Studio NuGet 管理器中把 https://nuget.tmaas.net/v3/index.json 添加为程序包源后安装)
最小接入(App.xaml.cs)
var manager = new LicenseManager(new LicenseClientOptions
{
ServerBaseUrl = "https://auth.tmaas.net",
Product = "your-product", // 产品标识,自定义即可(无需服务端登记)
PublicKeyPem = Properties.Resources.LicensePublicKey, // 推荐内嵌公钥
});
var check = await manager.CheckOnStartupAsync("1.0.0");
if (!check.IsUsable)
{
if (!ActivationWindow.ShowActivation(manager, "1.0.0"))
{
Shutdown();
return;
}
check = await manager.CheckOnStartupAsync("1.0.0");
}
manager.StatusChanged += (s, r) => Dispatcher.BeginInvoke(() =>
{
if (!r.IsUsable) /* 授权被吊销/到期,退出 */ Application.Current.Shutdown();
});
manager.StartHeartbeat("1.0.0"); // 每 24 小时静默对齐一次
new MainWindow(check).Show();
常用 API
| 成员 | 用途 |
|---|---|
CheckOnStartupAsync(appVersion) |
启动门:本地验签 → 在线对齐 → 离线宽限 → 时间回拨检测 |
RevalidateNowAsync(appVersion) |
关键功能入口抽查校验 |
ApplyAsync / PollAsync |
不用默认向导时自建激活 UI |
StartHeartbeat / StopHeartbeat |
周期静默对齐(吊销/续期随心跳生效) |
CurrentLicense / StatusChanged / Fingerprint |
授权信息 / 状态变更 / 本机指纹 |
DeleteLocalLicense() |
清空本机凭证(重置授权场景) |
LicenseCheckResult.IsUsable == true 才放行进入主程序。
完整说明见仓库 docs/integration-wpf.md。
No packages depend on LicenseSystem.ClientSdk.
.NET Framework 4.7.2
- Microsoft.IdentityModel.JsonWebTokens (>= 8.3.1)
- System.Formats.Asn1 (>= 8.0.1)
- System.Management (>= 8.0.0)
- System.Security.Cryptography.ProtectedData (>= 8.0.0)
- System.Text.Json (>= 8.0.5)
.NET 6.0
- Microsoft.IdentityModel.JsonWebTokens (>= 8.3.1)
- System.Management (>= 8.0.0)
- System.Security.Cryptography.ProtectedData (>= 8.0.0)
.NET 8.0
- Microsoft.IdentityModel.JsonWebTokens (>= 8.3.1)
- System.Management (>= 8.0.0)
- System.Security.Cryptography.ProtectedData (>= 8.0.0)