Standard.Licensing icon indicating copy to clipboard operation
Standard.Licensing copied to clipboard

How to lock the generated license to only one computer?

Open cmabox opened this issue 3 years ago • 3 comments

I tested the generated license and it can be used on multiple computers. Can it be locked to only one computer? How? Thanks.

cmabox avatar Mar 27 '21 19:03 cmabox

You can simple generate Hardware ID (Example: libc.hwid) and add it to license via WithAdditionalAttributes.

hiepgia avatar Apr 20 '21 09:04 hiepgia

I believe this would be an interesting feature to add the library.

As recommended saeidjoker/libc.hwid could be used if we modify the targeted librarys as suggested in #20

I would suggest a generation caller syntax like:

var license = License.New()  
    .WithUniqueIdentifier(Guid.NewGuid())  
    .As(LicenseType.Trial)  
    .ExpiresAt(DateTime.Now.AddDays(30))  
    .WithMaximumUtilization(5)
    .WithHardwareIds(
        "9FA0CAC93D077EAE61252557E02BBDD2F34BCDE6",
        "77EAE6125255BDD2F34BCDE69FA0CAC93D07E02B",
        "2F34BCDE69FA77EAE6125255BDD0CAC93D07E02B")
    .WithProductFeatures(new Dictionary<string, string>  
    {  
        {"Sales Module", "yes"},  
        {"Purchase Module", "yes"},  
        {"Maximum Transactions", "10000"}  
    })  
    .LicensedTo("John Doe", "[email protected]")  
    .CreateAndSignWithPrivateKey(privateKey, passPhrase);
/// <summary>
/// Sets the allowed hardware ids of the <see cref="License"/>.
/// </summary>
/// <param name="hardwareIds">The valid hardware ids <see cref="License"/>.</param>
/// <returns>The <see cref="ILicenseBuilder"/>.</returns>
ILicenseBuilder WithHardwareIds(params string[] hardwareIds);

An additional WithCurrentHardwareIds could be interesting for locally signed certificates.

AntiGuideAkquinet avatar Feb 24 '23 10:02 AntiGuideAkquinet

additional better pass if validates 2 from 4 ids, depends what PC parts user can replace someties; other lic soft do that; but most of id's is can be simulated with virtual enviroment; additonal will good prevent app from run on virtualizatio OS, and additional checks to made work of hacker harder

mzayarnyuk avatar Mar 16 '23 10:03 mzayarnyuk