针对C ++应用程序的许可证管理功能
我们正试图为我们的Linux应用程序运行的每个功能提供许可机制,并且我们正在考虑使用许可证服务器以集中方式控制它:
我们的授权目标是:
是否有任何服务器许可证允许我们这样做(基本上,我们将使用套接字与我们的应用程序进行通信)? 我们还可以做什么(例如,使用一些开源软件,阅读等)来开始?
你真的需要“打电话回家”吗?
我见过一个相对无痛的许可证系统,通过它向用户提供了描述许可证有效期的XML文件,可选的IP地址以及“解锁”功能列表。 数字签名是使用供应商的私钥生成的,该私钥已重新插入到许可证文件中。 在启动时,应用程序正在读取许可证,验证它,检查IP并相应地解锁功能。
供应商可以在需要时向客户提供更新的许可证。
虽然理论上你可以通过改变机器的本地时间和IP地址来欺骗许可证,但这会使应用程序使用起来很麻烦,所以这不成问题。
如果您真的想使用许可证服务器,那么请确保您的应用程序无需始终与其联系以授权使用 - 这会在人们失去Internet连接或服务器出现故障或崩溃时导致无法解决的问题。
我建议在本地下载和存储密钥,从而减少往返服务器的时间。 密钥可以根据用户的机器细节进行加密,以便密钥不能共享。
我们过去一直使用HASP硬件密钥,虽然他们无法正常工作并提供解决方案,但我不认为他们是您想要的,因为他们只需编程一次,就是这样。 例如,您将无法更新HASP密钥以关闭试用期。
有时候软件确实需要保护 - 在这里查看这些人 - 他们提供硬件和软件解决方案。
链接地址: http://www.djcxy.com/p/81871.html上一篇: Managing features on a license basis for a C++ application
下一篇: c#