【问题标题】:Public/Private Key Based Licensing基于公钥/私钥的许可
【发布时间】:2012-08-22 07:34:05
【问题描述】:

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

这是我想到的流程:-

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

  2. 他点击导出,会导出一个包含用户机器硬件信息的文件。该文件将使用公钥 (A) 加密。 (Web 应用程序可以使用此私钥)

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

  4. 用户将此许可证文件导入他的 Delphi 应用程序以激活它。

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

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

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

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

我不希望整个事情太复杂。我可以接受中等级别的安全性。

请指导。

谢谢!

【问题讨论】:

    标签: php aes rsa delphi-xe2 public-key-encryption


    【解决方案1】:

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

    此外,密钥文件应使用私钥而不是公钥加密。这样,只有您可以生成密钥。

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

    【讨论】:

    • 你用的是什么非对称密钥算法?
    • 卢比。您实际上并不需要 2 组密钥。一套就够了。使用公钥加密电脑信息。以及用于加密许可证密钥的私钥。
    • 您的主要目标是只有您可以生成许可证密钥。是否有人可以解密密钥并不重要。
    • 使用 PHP 读取加密的硬件信息,您使用的是哪个库?根据我的阅读,链接方法和其他属性应该与 LockBox 3 的完全匹配,才能成功读取 PHP 中的加密文件
    • 因为我的是一个基于网络的应用程序。它只使用IP地址和域名
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 2011-11-21
    • 2013-07-09
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多