Как создать платную лицензию для программы на C++?
Человек открывает консольное приложение. Он должен ввести ключ. После ввода, в зависимости от ключа, ему выдается доступ ко всей программе на определенное время (то есть, какой ключ он оплатил - на такое время он получил доступ к программе). Когда время вышло, программа пишет "Оплатите новую лицензию". Я не нашел никаких похожих и нужных мне инструкций в инете и на гитхабе, поэтому если есть те, у кого имеется такой код, то буду благодарен если поделитесь!
Я-бы использовал любую крипто-библиотеку которая умеет считать хеши и делать цифровые подписи.
И еще желательно библиотеку которая делает снимок профиля железа (материнка и проц).
Чтоб единица программного обеспечения лицензировалась на пользователя и на
данный профиль оборудования.
И протокол запроса ключа - чуть сложнее. Пользователь должен заполнить формочку лицензии
где он это все укажет и укажет желаемый срок использования ПО отправит продавцу ПО и
только тогда получит ключ активации. Который по сути будет просто ЭЦП для данной лицензии.
1. Пользователь вводит ключ.
2. Программа отправляет ключ на ваш сервер вместе с фингерпринтом железа.
3. При первом запросе ваш сервер вписывает фингерпринт железа в профиль ключа и дату истечения действия ключа.
4. Если дата не истекла и фингерпринт не менялся по ключевым характеристикам (например, модель и серийник материнской платы), то отправляем программе ответ, что пользователь может использовать полный функционал.
Если дата истекла или существенно поменялся фингерпринт, то отправляем сообщение об ошибке.
5. Оборачиваем сообщения в ассиметричное шифрование. Применяем протоколы ЭЦП - по вкусу.