2012-08-22 112 views
0

我想向我的Delphi应用程序添加许可。基于公钥/私钥的许可

这是考虑到流动我有: -

  1. 用户看到当程序运行并且没有授权/激活许可屏幕。

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

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

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

导入/导出步骤已经添加,以防万一用户没有在他想要使用此应用程序

我探索TurboPower公司的Lockbox 3用于此目的的互联网连接。

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

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

我不想完整的东西太复杂。我对安全水平平庸很好。

请指导。

谢谢!

回答

1

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

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

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

+0

您使用的是什么非对称密钥算法? – Madhur

+0

Rsa。你实际上并不需要2组密钥。一套就够了。使用公钥加密PC信息。并使用私钥对许可证密钥进行加密。 – iWantSimpleLife

+0

您的主要目标是只有您可以生成许可证密钥。任何人都可以解密密钥并不重要。 – iWantSimpleLife