A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.
I'm implementing a very simple licensing scheme for a product, requirements are very basic:
- A license name / expiration date is required for the customer to run the product
- The license can be shared by as many users as the customer want, our product is always sold with an enterprise license
So what I've come up with is:
- I create an XML file with the data required and I have a couple of private/public key
- I sign the XML file using the XML signature, with a private key
- The code load the XML file and validate it with the public key
- Exe released to the customer include the public key, private key is kept under strict control in our office
If the customer tries to modify the XML to change customer name or expiration date the XML validation fail, customer name is shown in some reports (that also include the current date, so moving back the clock is not possible) and this is enough for our requirements, each year a new license is issued after the customer pays the maintenance fee with a new expiry date.
Apart from the code that reads and validate the XML (so assuming our code is smart enough to do not allow decompilation or exe modification to bypass the license verification) can you find some obvious problem in this schema??
Friday, January 25, 2008
I can see a slight problem: one-man-band companies and ten-thousand-man-band companies will all be paying the same price, so even if you find a perfect anti-piracy technique, you're going to be slashing your profits to the barest minimum.
So hey, implement your scheme and be happy that there isn't the slightest chance that it will damage your lack-of-profit, regardless of whether or not it even works.
Sunday, January 27, 2008
No that's the standard "licensing file" scheme a lot of companies use. Perfectly acceptable...
Tuesday, January 29, 2008
Yes, I used this licensing scheme and it worked like a charm
Visit my blog in http://pathtosucceed.blogspot.com
This topic is archived. No further replies will be accepted.Other recent topics
Powered by FogBugz