加密打包的ASP.NET解决方案中的Web.Config值

时间:2012-03-27 15:38:55

标签: asp.net encryption configuration web-config configuration-files

我们正在向客户销售Web应用程序,它包含一些第三方组件。这些组件需要许可密钥才能工作,我们已将其存储在web.config中。由于我们不销售源代码或许可证,我们需要以某种方式加密该值。

不,我知道您可以使用aspnet_regi来加密web.config部分,但我的理解是这是在主机上完成的,并使用唯一的机器ID进行加密。这意味着我只能在客户端部署Web应用程序后进行加密

因为,我们无法控制预先加密此值所需的部署部分。从本质上讲,当我们将应用程序交给客户端时,我们需要对其进行加密。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以在运行命令时设置ProtectedConfigurationProvider,以便不使用使用计算机密钥的默认加密机制,但将使用自定义密钥容器进行加密。其中一个ProtectedConfigurationProvider是RsaProtectedConfigurationProvider,命令如下所示。阅读this& this了解详情。

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"