Standard.Licensing
Standard.Licensing copied to clipboard
How to lock the generated license to only one computer?
I tested the generated license and it can be used on multiple computers. Can it be locked to only one computer? How? Thanks.
You can simple generate Hardware ID (Example: libc.hwid) and add it to license via WithAdditionalAttributes.
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.
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