Вопрос

I have to implement a software licensing mechanism for an organization. We will provide a 30 day trial for the software. How to ensure that after 30 days is over no one will be able to use the software. The product is a web based product developed in JAVA EE and can be installed on Windows linux either on a physical machine or on virtual machine. I want to generate a unique ID for a machine that I can manage in my server and at time of installation I can query my servers to get info whether trail is being installed or not. For shared computers i.e, two persons using same computer we have our separate mechanism. I just want to know the safest way and most reliable way to generate Unique ID for a machine which will work in every case. I have read other SO questions. Some are telling to use BIOS, processor ID etc but I don't think these will work in virtual machines also the product can be installed in cloud for ex: amazon aws, rackspace etc.

Это было полезно?

Решение

Disclosure: I work for License4J.

You can use a combination of hostname, mac address, disk volume id etc as a hardware ID, so it works on both physical and virtual machines. Trial license is just a normal license with a limited validity period (e.g. it expires after 30 days). You can also query available ntp servers to validate license expiry, so system clock change can be detected.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top