How should we deal with application licenses which are expired. I have created a .NET application and some encrypted license files for different roles with expiration data inside license file. The problem is, when a license is expired and user changes back system (computer) date to some older date, the license becomes valid again.
I have found that this problem also exists with microsoft products (e.g. Visual Studio)
So what should we do with expired licenses to avoid that hack?
As soon as your app notices the app expires, it should no longer check the date as part of the security routine – you should instead set a flag someplace, perhaps buried deep in the registry or in some non-obvious file/location that flags the app as having become expired; so that an expired license doesn’t automatically un-expire when the date changes – thats just too easy.
Also, if possible, consider using an internet based clock to check the time / date, not the users PC.
Just know that whatever you do, its not going to stop everyone.