首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >授权WPF、Silverlight和WP7程序集

授权WPF、Silverlight和WP7程序集
EN

Stack Overflow用户
提问于 2011-12-30 18:10:30
回答 1查看 501关注 0票数 3

我正在寻找一个许可WPF,Silverlight和WP7程序集的解决方案。所讨论的程序集是一个图表控件,它有一个用于跨平台使用的API。我正在为每个平台(WPF、SL、WP7)创建一个独立的MSI,用户可以下载和安装这些平台。这将在其GAC中注册用于开发用途的程序集。

我想要做的是确保单个开发许可证只供单个开发人员使用。它不需要是超级安全的,只是足以阻止潜在的黑客。理想情况下,覆盖所有三个平台的解决方案将是有益的。

我已经有一个跨平台混淆器,我很高兴。可惜这不包括许可!

编辑:附加要求是,我将允许用户从购买日期起下载长达一年的更新,但是不管他们是否更新,他们购买的程序集都将无限期地供他们使用。程序集将被重新分发,因此任何许可模型都必须在WPF/SL/WP7平台上重新分发。

欢迎您的建议/评论。

诚挚的问候,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-18 12:38:43

对于您的要求,许可方法‘将’做的工作,并防止低级别的执照滥用‘,我个人建议不要太花哨;也就是说,避免使用网络激活/维护许可。我的建议将类似于概述here的方法。

  1. 使用上述链接中描述的.NET库之一选择对称加密算法。
  2. 使用随机生成器创建所需的加密密钥(如果您联系我,我很乐意分享我开发的一段代码,用于生成任意密钥大小的各种随机字符串/密钥),还有一些.NET类可以帮助您自己生成伪随机数(RNGCryptoServiceProvider)。
  3. Transform/’custom-hash’密钥提供一个新的‘哈希加密密钥’。
  4. 使用此密钥生成初始化向量(IV)并加密您的许可证文件。

现在如何部署应用程序(就许可而言)取决于您。以下两种方法将适用于上述三种应用程序类型,并将为您的每个产品的许可提供一定程度的一致性。上述方法使用两个文件进行许可。'ProductKey.myExtension‘和’LicenceFile.myOtherExtenation‘。第一个包含随机生成的密钥,该密钥将以与许可证生成器应用程序相同的方式进行‘散列’/转换(您将需要一个单独的(小型)应用程序来“剪切”/创建许可文件)。二是加密文件,包括用户信息、许可期限等。

答:您现在可以为您的应用程序提供一个安装包,将应用程序安装在相关目录(即C:\Pogram Files等)中。在不提供许可文件的情况下,您可以使用许可证安装程序部署许可文件。然后,可以为每个使用“环境”的用户分别安装许可证,以确保每个用户都有自己的许可证(当然,这将假定“管理员”首先为所有用户安装了该应用程序,并且许可证安装包将按用户逐个运行)。注意:我目前不熟悉WP7应用程序和本例中的细节。

B.第二种方法是允许个别用户安装应用程序,并在应用程序安装时安装相关的许可证文件。

经过一段广泛的研究之后,我使用这种方法部署了几个WinForm应用程序,它似乎运行得很好。我希望这能帮上忙。

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

https://stackoverflow.com/questions/8682525

复制
相关文章

相似问题

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