基于公钥/私钥的许可


Public/Private Key Based Licensing

我想为我的Delphi应用程序添加许可。

这就是我心中的流程:-

  1. 当程序运行且未获得许可/激活时,用户会看到许可屏幕。

  2. 他点击导出,导出包含用户机器硬件信息的文件。该文件将使用公钥(a)进行加密。(网络应用程序将提供专用密钥)

  3. 用户将把这个文件上传到我的网络应用程序,这将允许用户下载他的许可证文件。许可证文件将基于用户的硬件信息(MAC ID、CPU序列号等)。此文件将使用另一个公钥(B)进行加密。(它的私钥将与Delphi应用程序一起提供)

  4. 用户将把这个许可证文件导入他的Delphi应用程序来激活它

添加了导入/导出步骤,以防用户没有想要使用此应用程序的互联网连接

为此,我正在探索TurboPower LockBox 3。

我需要一些帮助来决定我的方法是否正确。

在这种情况下,我应该使用对称加密吗?

我不希望整件事太复杂。我的安全水平一般。

请引导。

谢谢!

您应该使用非对称密钥。不要忘记钥匙需要在你的程序中才能使用。任何拥有十六进制编辑器的人都可能打开你的exe文件并查看你的密钥。

此外,密钥文件应该使用私钥而不是公钥进行加密。这样,只有您才能生成密钥。

我为我的应用程序做了类似的事情。我花了大约2天的时间来实施。