首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于使用web服务的串行密钥激活来说,这是一个很好的概念吗?

对于使用web服务的串行密钥激活来说,这是一个很好的概念吗?
EN

Stack Overflow用户
提问于 2013-10-17 12:45:09
回答 2查看 807关注 0票数 4

我正在用WPF编写一个windows桌面应用程序。我需要加入一个激活过程,我想知道我是否有正确的想法。

这就是我想要实现的过程。这是最好的解决办法吗?

  • 当用户加载应用程序时,它会检查其中包含激活代码的注册表项。

需要激活

  • 如果注册表中没有激活键,则会为它们提供一个激活页。
  • 在这里,他们将进入那里的激活钥匙,他们将从我们那里得到。
  • 当用户单击“激活”时,我将获取他们的HDD的序列号并对其进行散列。
  • 然后,我连接到我编写来检查的webservice --该键是否存在--是否存在已分配的HDD串行散列--它是否处于活动状态?
  • 如果它通过了所有这些条件,我就通过webservice用HDD序列更新我的数据库,并将它标记为活动的。

已激活(具有激活项的注册表项)

  • 获取其HDD的序列号并对其进行散列
  • 从注册表中检索该项
  • 连接到webservice以检查键是否存在,是否仍处于活动状态,并分配给正确的HDD哈希。
  • 如果是的话,我允许用户继续
  • 如果没有,我会完全删除注册表项,并通知他们他们需要重新激活软件,然后加载激活页面。

除了怀疑这是否是正确的方法之外,我还有几点担心:

该webservice将需要被保护,用户将需要在他们启动程序时就可以访问internet,这样我就可以检查webservice。

任何人所能提供的任何建议都将不胜感激。我在外面找不到任何答案。

EN

回答 2

Stack Overflow用户

发布于 2013-10-18 01:13:13

听起来不错,但你需要记住:

  • 到SSL服务的连接必须使用SSL进行保护。
  • web服务之间的消息交换必须使用某种形式的私钥/公钥进行签名,以便客户端知道消息确实来自服务器,并且用户不会创建自己的激活服务器。
  • 您的get服务必须位于高可用性的服务器上(您不希望愤怒的用户打来电话,因为他们无法完成他们的工作)。
  • 可以更改HDD序列号。你可能想把它和别的东西结合起来。
票数 1
EN

Stack Overflow用户

发布于 2013-10-17 14:44:55

到目前为止,您想出的概念还不错,但是由于您要求用户在任何时候都在线,我还会使用RSA对数据进行加密。

您的产品获得硬编码的公钥,发送到服务器的数据将被发送回加密的私有RSA密钥。这样你就可以阻止他们使用自制的激活服务器,这些服务器只会说:“好的,你被激活了。”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19427137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档