Я пытался найти способ остановить людей, подделывающих файл лицензии, который поставляется с моим программным обеспечением. Я смотрю на RSA и использую подпись для проверки данных.
Теперь, насколько я понимаю, у меня есть некоторые данные (файл лицензии), и я использую метод SignData RSACryptoServiceProvider для создания подписи для данных с открытым и закрытым ключом, созданным с помощью ExportParameters (true).
Затем я передал бы файл лицензии и открытый ключ с программным обеспечением, чтобы я мог проверить данные (лицензию) на клиенте, используя VerifyData, но что мешает пользователю создать свою собственную пару открытого / закрытого ключа и воссоздать данные и просто перезаписать открытый ключ и данные?
Я перечитывал и занимался поиском, но я все еще застрял с этим, я довольно плохо знаком с шифрованием и подписью, но мне нужно это выяснить.
Я знаю, что практически невозможно защитить лицензию, такую как файл, как если бы они хотели, чтобы они могли просто декомпилировать код и убрать проверки, поэтому я просто хочу усложнить для них злоупотребление программным обеспечением, я полагаю, не хочу, чтобы они могли просто создать собственную лицензию или перенести одну лицензию на другую машину.
Может ли кто-нибудь указать мне правильное направление или дать совет?
Спасибо.