2015-06-02 2 views
6

У нас есть приложение C# и необходимо защитить его от незаконного копирования. Поэтому мы решили использовать библиотеку Portable.Licensing для защиты нашей системы.Portable.Лицензирование как связать лицензию с ПК

Как я могу привязать лицензию на идентификатор оборудования в Portable.Licensing, так что только конкретный компьютер может использовать лицензию?

ответ

7

Вы можете создать уникальный хеш на имя ПК, информацию об оборудовании и т. Д. И добавить этот хэш как Additional Attribute во время создания лицензии.

Пример создания лицензии:

var license = License.New() 
    .WithUniqueIdentifier(Guid.NewGuid()) 
    .As(LicenseType.Standard)  
    .WithMaximumUtilization(1) 
    .WithAdditionalAttributes(new Dictionary<string, string> 
           { 
            {"HardwareId", "........"} 
           }) 
    .LicensedTo("John Doe", "[email protected]") 
    .CreateAndSignWithPrivateKey(privateKey, passPhrase); 

Для проверки атрибутов вы можете реализовать свой собственный метод расширения проверки или просто использовать существующий AssertThat(). Пример: [1]

Генерация уникального идентификатора оборудования выходит за рамки переносимого лицензирования.

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

+0

Как проверить? –

1

Вы можете вызвать метод AsserThat:

license.Validate() 
.AssertThat(lic => lic.ProductFeatures.Get("HardwareId") == "133456", new GeneralValidationFailure() { Message="Invalid Hardware.", HowToResolve="Contact administrator"}); 
Смежные вопросы