Portable.Licensing如何将许可证绑定到PC

时间:2015-06-02 04:05:13

标签: c# licensing

我们有一个C#应用程序,需要保护它免受非法复制。所以我们决定使用Portable.Licensing库来保护我们的系统。

如何将许可证绑定到Portable.Licensing中的硬件ID,以便只有特定的PC可以使用许可证?

3 个答案:

答案 0 :(得分:7)

您可以在PC的名称,硬件信息等上生成唯一的哈希值,并在创建许可证期间将此哈希值添加为Additional Attribute

许可证创建示例:

var license = License.New()  
    .WithUniqueIdentifier(Guid.NewGuid())  
    .As(LicenseType.Standard)    
    .WithMaximumUtilization(1)  
    .WithAdditionalAttributes(new Dictionary<string, string>  
                              {  
                                  {"HardwareId", "........"}  
                              })  
    .LicensedTo("John Doe", "john.doe@yourmail.here")  
    .CreateAndSignWithPrivateKey(privateKey, passPhrase);

要验证属性,您可以实现自己的验证扩展方法,或者只使用现有的AssertThat()。示例:[1]

生成唯一的硬件ID超出了便携式许可的范围。

[1] https://github.com/dnauck/Portable.Licensing/blob/develop/src/Portable.Licensing/Validation/LicenseValidationExtensions.cs#L100

答案 1 :(得分:3)

您可以拨打angular.module('main.controllers') 方法:

AsserThat

答案 2 :(得分:0)

将ProtectedData.Protect与DataProtectionScope.LocalMachine一起使用,以加密许可证文件中的某些键值对。 然后,只有在同一台计算机上成功解密该值时,许可证才有效。

ProtectedData.UnProtect只会在加密的同一台机器上解密。 这将需要在注册过程中进行桌面/客户端服务器交互来实现。