문제

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