我正在制作激活服务器,客户端必须将信息发送到激活服务器,激活服务器将发送回加密的许可证文件。但是,为了解密该文件,客户端需要密钥或密码。
将密钥或密码用于加密的最佳位置是什么?或者更好的是传递密钥或密码的最佳方式是什么?
谢谢!
答案 0 :(得分:2)
客户端应用程序有一个服务器地址,它将连接到该服务器地址,发送所需的任何信息(我假设您在这里发送客户端的配置文件)。它还可以事先知道配置文件中服务器的公钥。
服务器使用其私钥对配置文件的哈希进行签名(包括它可以验证的公钥,因为它被发送到服务器)。这个签名的数字哈希被发送回客户端。
启动时,哈希以两种方式验证:
我现在没有任何VB.Net代码可用,但所有C#代码都可以在C#3.0的网上Nutshell示例中找到。
Example code in C# Available under section The RSA class and followings
答案 1 :(得分:0)
我不确定如何确定它是否是最佳位置,但* .config文件似乎是一个有效选项。
答案 2 :(得分:0)
由于这是我的专业领域,让我跳进去...看来你正试图从头开始创建自己的激活系统。在使用激活来保护软件许可证的早期阶段,许多公司采用了开发自己的系统的方法而没有深入的专业知识,并且他们对制作安全,用户友好的激活系统所做的事情的无知使激活成为一个坏名声。因此,为了帮助您不必痛苦地重新学习这些课程并激怒您的客户,以下是您需要考虑的一些事项:
只需要考虑一些事情。