Aegis .NET 许可证管理库使用指南
1. 项目介绍
Aegis 是一个强大且灵活的 .NET 许可证管理库,旨在简化各种许可证模型在应用程序中的实现。它提供了强大的安全特性,包括在线和离线验证,并且可以轻松地与现有项目集成。通过 Aegis,开发者可以安全地管理和控制软件许可证。
2. 项目快速启动
首先,您需要安装 Aegis NuGet 包:
Install-Package Aegis
接下来,生成许可证密钥:
// 替换 "your-secret-key" 和 "C:\\Path\\To\\signature.bin" 为您期望的密钥和保存路径。
var signature = LicenseUtils.GenerateLicensingSecrets(
"your-secret-key",
@"C:\Path\To\signature.bin",
"your-server-api-key"
);
然后,加载许可证密钥:
// 使用相同的密钥来解密并加载步骤 2 中创建的文件
var signature = LicenseUtils.LoadLicensingSecrets(
"your-secret-key",
@"C:\Path\To\signature.bin"
);
下面是生成不同类型许可证的示例代码:
标准许可证:
using Aegis;
using Aegis.Models;
var license = LicenseGenerator.GenerateStandardLicense("John Doe")
.WithLicenseKey("SD2D-35G9-1502-X3DG-16VI-ELN2")
.WithIssuer("Aegis Software")
.WithFeature("Feature1", Feature.FromBool(true))
.WithFeature("Feature2", Feature.FromString("Enabled"))
.WithExpiryDate(DateTime.UtcNow.AddDays(30))
.SaveLicense(@"C:\Path\To\license.bin");
试用许可证:
var license = LicenseGenerator.GenerateTrialLicense(TimeSpan.FromDays(14))
.WithIssuer("Aegis Software")
.WithFeature("AllFeatures", Feature.FromBool(true))
.SaveLicense(@"C:\Path\To\trial_license.bin");
节点锁定许可证:
var license = LicenseGenerator.GenerateNodeLockedLicense(HardwareUtils.GetHardwareId())
.WithIssuer("Aegis Software")
.WithExpiryDate(DateTime.UtcNow.AddYears(1))
.SaveLicense(@"C:\Path\To\nodelocked_license.bin");
订阅许可证:
var license = LicenseGenerator.GenerateSubscriptionLicense("Jane Smith", TimeSpan.FromDays(365))
.WithIssuer("Aegis Software")
.WithFeature("PremiumFeatures", Feature.FromBool(true))
.SaveLicense(@"C:\Path\To\subscription_license.bin");
浮动许可证:
var license = LicenseGenerator.GenerateFloatingLicense("Acme Corp", 20); // 允许 20 个并发用户
3. 应用案例和最佳实践
在实际应用中,Aegis 可以用于保护软件免遭未授权使用,以下是一些典型的使用案例:
- 软件试用版:为潜在客户提供软件的有限试用期,以促进购买决策。
- 单用户许可证:为单个用户提供软件的访问权限。
- 节点锁定许可证:将许可证绑定到特定硬件,防止在不同机器上未授权使用。
- 订阅服务:为用户提供定期更新的订阅服务。
- 浮动许可证:在企业内部网络中,允许多个用户共享一定数量的并发使用许可证。
最佳实践建议:
- 始终使用最新版本的 Aegis 库以获得最新的安全特性和功能。
- 在生成和加载许可证时,确保密钥的安全,避免泄露。
- 对于在线验证,确保服务器端的安全性和可靠性。
4. 典型生态项目
Aegis 作为一个许可证管理库,可以与以下生态项目配合使用:
- ASP.NET Core:在 ASP.NET Core 应用程序中集成 Aegis,为 Web 应用程序提供许可证管理。
- Entity Framework:使用 Entity Framework 存储和管理许可证数据,方便数据库操作。
- Docker:在 Docker 容器中部署 Aegis 相关服务,实现灵活的许可证管理环境。
通过上述指南,您可以开始使用 Aegis 库来管理和保护您的软件产品。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考