2016-02-17 17 views
3

我正在某个项目上工作。我需要的仅仅是将产品的许可证提供给一台计算机,因此我添加了附加的属性硬件Id,如图所示。我可以如何验证它。在这方面帮助我。谢谢..使用Portable.Licensing如何验证属性硬件ID

var license = Portable.Licensing.License.New() 
        .WithUniqueIdentifier(Guid.NewGuid()) 
        .As(Portable.Licensing.LicenseType.Trial) 
        .ExpiresAt(DateTime.Now.AddDays(5)) 
        .WithMaximumUtilization(Int32.Parse(User.Text)) 
        .WithAdditionalAttributes(new Dictionary<String,String>{ 
               {"Hardware ID","12343"} 
               }) 
        .LicensedTo(name.Text, email.Text) 
        .CreateAndSignWithPrivateKey(privateKey, "212555555"); 
+0

当应用程序获得许可后,您是否通过互联网将该密钥发送回您的某个数据库? –

+0

以及您想要绑定密钥的硬件是什么? –

+0

是的,我将.lic文件发送到数据库。这里的硬件是cpu id和硬盘ID的组合@Simon价格 –

回答

2

那么我找到了这个非常简单的答案。

  1. 使用AssertThat()方法由Portable.Licencing提供。 例如: -

     var validationFailures = licenseContent.Validate() 
         .ExpirationDate() 
         .When(lic => lic.Type == Portable.Licensing.LicenseType.Trial) 
         .And() 
         .AssertThat(lic => lic.Quantity >= 3, failure1) 
         .And() 
         .AssertThat(lic => lic.ProductFeatures.Get("HardwareID") == "133456", failure1) 
         .When(lic => lic.ProductFeatures.Contains("HardwareID")) 
         .And() 
         .Signature(publicKey) 
         .AssertValidLicense().ToList(); 
    
  2. 写自己的验证情况。