2015-06-02 5 views
6

Wir haben eine C# -Anwendung und müssen sie vor illegalem Kopieren schützen. Deshalb haben wir uns entschieden, die Portable.Licensing Bibliothek zu verwenden, um unser System zu schützen.Portable.Licensing zum Verknüpfen einer Lizenz mit einem PC

Wie kann ich eine Lizenz an Hardware-ID in Portable.Licensing binden, so dass nur ein bestimmter PC Lizenz verwenden kann?

Antwort

7

Sie können einen eindeutigen Hash über den Namen des PCs, Hardwareinformationen usw. generieren und diesen Hash während der Lizenzerstellung als Additional Attribute hinzufügen.

Beispiel Lizenzerstellung:

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); 

das Attribut bestätigen Sie Ihre eigene Validierungserweiterungsmethode implementieren oder einfach nur die bestehenden AssertThat() verwenden. Beispiel: [1]

Die Generierung einer eindeutigen Hardware-ID gehört nicht zum Anwendungsbereich der portablen Lizenzierung.

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

+0

Wie zu validieren? –

1

können Sie AsserThat Methode aufrufen:

license.Validate() 
.AssertThat(lic => lic.ProductFeatures.Get("HardwareId") == "133456", new GeneralValidationFailure() { Message="Invalid Hardware.", HowToResolve="Contact administrator"});