加密web配置中的元素时是否有任何限制?

时间:2013-02-26 12:29:59

标签: c# iis encryption web-config rsa

我发现使用

  "aspnet_regiis" -pef 

  "aspnet_regiis -pe"  

加密web.cong中的元素仅适用于多个元素,而不适用于其他元素。

即。它适用于" ConnectionStrings"和" appSettings"但不适用于" system.web"

我可以以某种方式加密所有元素吗? 感谢。

2 个答案:

答案 0 :(得分:0)

您可以尝试以下命令:

aspnet_regiis -pe system.web/identity -app /[vdir]

identity是system.web中的一个部分

答案 1 :(得分:0)

经过谷歌搜索很长一段时间后,我找到了解决方案。

将其放在此处以供将来参考。

这篇文章here有一个亚当的解决方案 - 他称之为可怕的黑客攻击并且我同意但它有效。

我所做的就是将nlog.dll复制到.NET框架库,当我运行命令时问题就解决了。

解释 - 该元素指向nlog.dll中的intefrace NLog.Config.ConfigSectionHandler,如下所示:

  <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>

上帝知道为什么,当元素被加密时 - aspnet_regiis会搜索这个dll,当它找不到它时 - 它会失败。
只需将其复制到c:\ Windows \ Microsoft.NET \ Framework \ vXXXX

即可