Используйте RSA для подписи файла лицензии

Я пытался придумать способ остановить людей, подделывающих файл лицензии, который поставляется с моим программным обеспечением. Я изучал RSA и использовал подпись для проверки данных.

Теперь, насколько я понимаю, у меня в основном есть некоторые данные (файл лицензии), и я использую метод SignData RSACryptoServiceProvider для создания подписи для данных с общедоступным и частным ключ, созданный с помощью ExportParameters (true).

Затем я дал бы файл лицензии и открытый ключ с программным обеспечением, чтобы я мог проверить данные (лицензию) на клиенте с помощью VerifyData, но что должно остановить создание пользователем там собственная пара открытого / закрытого ключей и воссоздание данных и просто перезапись открытого ключа и данных?

Я читал и искал в Google, но я все еще застрял в этом, я довольно новичок в шифровании и подписи также, но мне нужно это выяснить.

Я знаю, что практически невозможно защитить лицензию, например файл, как если бы они хотели, чтобы они могли просто декомпилировать код и удалить проверки, поэтому я просто хочу усложнить задачу чтобы они злоупотребляли программным обеспечением, я не хочу, чтобы они o иметь возможность просто создать собственную лицензию или перенести одну лицензию на другую машину.

Может ли кто-нибудь указать мне правильное направление или дать совет?

Спасибо.

5
задан philant 2 September 2011 в 19:22
поделиться