Creating machine-specific, licensed IDL software [message #57608] |
Sat, 15 December 2007 10:59  |
M. Katz
Messages: 69 Registered: May 2005
|
Member |
|
|
I'm contemplating creating commercial software that will be licensed
for use on specific machines. In an effort not to re-invent the wheel,
can anyone provide a good recommendation for how to implement such a
system.
I'd like my program to be able to check either a MAC address or
something similar that's machine-specific. I want to avoid having a
system where the program needs to 'phone home' on every load to check
on a license validity using the internet.
Of course, I'd like to be able to do this in a way that's cross-
platform, but I'd gladly settle for writing different methods for
different platforms.
If I'm distributing code that will execute on the IDL VM, perhaps
there's a way to specify a given machine's installation in a non-
transferrable way?
Thanks!
M. Katz
|
|
|
Re: Creating machine-specific, licensed IDL software [message #57718 is a reply to message #57608] |
Mon, 17 December 2007 11:40   |
b_gom
Messages: 105 Registered: April 2003
|
Senior Member |
|
|
You need to decide how 'secure' you want to be, and make a trade-off
with usability and difficulty of implementation. In the past, I've
used MAC addresses to lock an application, but this isn't necessarily
tamper proof for advanced users. This is easy to implement, though,
since all modern machines will have at least one network connection,
and getting the MAC address is straightforward. You will need to have
a registration process where the user will submit their MAC address
(or some bytecode generated from it) to you, and you will provide an
unlock code in return. There is an encryption algorithm on the ITT IDL
user contrib site which can be used as the mechanism for this type of
scheme.
Another option is to use a hardware dongle. I have successfully used
the USB dongle from http://www.keylok.com/, which is cheap and simple.
You will have to write a DLM to access the dongle from within IDL,
however, which means this solution is not platform independent.
Good luck!
On Dec 15, 11:59 am, "M. Katz" <MKatz...@yahoo.com> wrote:
> I'm contemplating creating commercial software that will be licensed
> for use on specific machines. In an effort not to re-invent the wheel,
> can anyone provide a good recommendation for how to implement such a
> system.
>
> I'd like my program to be able to check either a MAC address or
> something similar that's machine-specific. I want to avoid having a
> system where the program needs to 'phone home' on every load to check
> on a license validity using the internet.
>
> Of course, I'd like to be able to do this in a way that's cross-
> platform, but I'd gladly settle for writing different methods for
> different platforms.
>
> If I'm distributing code that will execute on the IDL VM, perhaps
> there's a way to specify a given machine's installation in a non-
> transferrable way?
>
> Thanks!
> M. Katz
|
|
|
Re: Creating machine-specific, licensed IDL software [message #85088 is a reply to message #57608] |
Tue, 02 July 2013 17:45  |
Robbie
Messages: 165 Registered: February 2006
|
Senior Member |
|
|
This is just a followup on creating a software license for your IDL program. I have some software which locks the software to a date range and lm-host id. The license is based on hashing email address, date range, lm host id and a secret key. The hashing means that you can generate a new license from another source (e.g. a php script). I point customers to a website to generate a license for their MAC address. I also implement a license server inside my own department and the license manager automatically downloads an updated license as needed.
An example of the client software is here
http://nma.cvs.sourceforge.net/viewvc/nma/nma/util/license/
I can email the server code on request.
Robbie
|
|
|