activate the license key on a client machine, and keep calling IsProductGenuine once in a while for current status check
Revoke or delete the license key on the dashboard
Result:
IsProductGenuine kept returning LA_OK so the client cannot notice if the license is revoked.
NOTE: If Activate is called, it will return LA_E_REVOKED
NOTE: if the step 3 is Suspend the license, it works fine since IsProductGenuine returns LA_SUSPENDED
Have you set the license callback? The license callback will return you the correct status code. And once the callback has invoked ( meaning server sync has finished), this will be reflected in further calls to IsLicenseGenuine function.
Oh I haven’t specify callback. So, in Cryptlex v3, specifying callback is mandatory in order to this specific case works fine? (The other information such as expiration date/suspended state seems to be server-synced properly without specifying callback)
hmm… that means if there’s a case like “server sync is properly invoked after the license is revoked from dashboard” + “however, IsLicenseGenuine still returns LA_OK”, it can be a bug. Is my understanding correct?
In order to check if server sync is invoked, the easiest way sounded like settings a callback.
Server sync is set to 180s and waited for 5min, so for sure server sync is invoked… but let me double check and update with you.
I registered the callback and analyze the LexActivator V3 behavior.
Looks like, both of suspend and revoke cases, callback is invoked telling it is suspended, revoked.
However, IsLicenseGenuine behaves differently:
Suspended: IsLicenseGenuine returns LA_SUSPENDED
Revoked: IsLicenseGenuine returns LA_OK
If I close down the application and restart again, IsLicenseGenuine will return LA_E_REVOKED
So, I’d say this is a bug of LexActivator (unless in this case by design IsLicenseGenuine is supposed to return LA_OK)
I believe the same case should be happening with “license key is deleted from the dashboard after activation” case instead of Revoked case.